Blog of science and life

/Hack /Life /Math /Programming
Contact
Archives

Dùng Raspberry Pi để gửi và nhận SMS với Sim900A


Hướng dẫn kết nối module Sim900A với Raspberry Pi 3 B+, dùng để gửi và nhận tin nhắn SMS

Dạo này vì lý do công việc nên cần phải tìm cách kết nối và sử dụng module Sim900A với con Raspberry Pi 3, dùng để nhận SMS.

Tìm hiểu mấy hôm, rất là cực nên hôm nay mình viết lại bài này, cho những ai cần tới sau này đỡ tốn thời gian mày mò lại từ đầu.

Chuẩn bị

Để bắt đầu, bạn cần:

  • Một combo Raspberry Pi 3 B+ đầy đủ nguồn, thẻ nhớ, đã cài đặt Raspbian

  • Một module Sim900A

  • Dây chuyển đổi USB — UART PL2303 (Có thể không có)

  • Đầy đủ dây nối

Kết nối

Chỉ cần bạn kết nối đúng các cổng Tx, Rx, Gnd và nguồn 5v vào Pi là xong. Tham khảo ảnh dưới:

Ảnh thực tế (Nếu kết nối thẳng vào GPIO)

Còn nếu kết nối qua USB

Cài đặt

Đầu tiên ta cần mở cổng ttyS0

Bạn có thể dùng “raspi-config” để mở UART:

  1. Trong “Interfacing Options”, chọn “Serial”

  2. Chọn “No” khi được hỏi “You want a login shell over serial?”.

  3. Chọn “Yes” khi được hỏi “You want the hardware enabled?”

  4. Khởi động lại

Thực ra, bạn có thể sửa file /boot/config.txt và sửa enable_uart=1, và console=serial0,115200 (hoặc console=ttyS0,115200) ở trong /boot/cmdline.txt

Và bạn có thể bật terminal lên và test xem kết nối thành công chưa bằng cách gửi command AT\r\n đến khi nào trả về OK là thành công. (Nếu kết nối qua GPIO thì sẽ là /dev/ttyS0, còn qua USB thì sẽ là /dev/ttyUSB0)

Ví dụ:

Link asciinema:

Sử dụng thư viện sau để kết nối và làm việc với SMS Module:

http://smstools3.kekekasvi.com/

Ví dụ về kết quả nhận được bằng lệnh AT+CNMI=3,2,0,0,0

Về chi tiết cách sử dụng các lệnh AT và các khái niệm GPIO, UART mình sẽ để sang một bài khác.

Chúc các bạn thành công.

Tham khảo:

  1. https://pinout.xyz/

  2. http://mlab.vn/9216-huong-dan-lap-trinh-module-sim900a-va-arduino.html

  3. https://www.developershome.com/sms/checkCommandSupport3.asp

  4. https://raspberrypi.stackexchange.com/questions/82696/how-do-i-connect-gsm-sim-900a-to-a-raspberry-pi-3

  5. https://www.espruino.com/datasheets/SIM900_AT.pdf

  6. https://hristoborisov.com/index.php/projects/turning-the-raspberry-pi-into-a-sms-center-using-python/#Connecting_the_3gModem