Bộ điều khiển SMS dựa trên SIM800L

Pin
Send
Share
Send


SIM800L V2.0 GSM / GPRS là mô-đun GSM / GPRS bốn băng tần tương thích với Arduino. Mô-đun được sử dụng để thực hiện các chức năng của GSM (cuộc gọi và SMS) và GPRS. Ưu điểm của mô-đun này là giao diện TTL có điện áp 5V, cho phép bạn kết nối trực tiếp nó với Arduino hoặc bất kỳ hệ thống nào khác có nguồn điện 5V. Hầu hết các mô-đun GSM / GPRS trên thị trường yêu cầu kết nối bộ điều chỉnh hoặc chuyển đổi cấp độ, trong khi trong SIM800L V.2 GSM / GPRS không yêu cầu các mạch chuyển đổi cấp giao diện bổ sung.
Dưới đây là một dự án ví dụ sử dụng SIM800L V.2 GSM / GPRS. Ý nghĩa của dự án là điều khiển các thiết bị chuyển mạch bằng bộ điều khiển SMS. Bạn có thể dễ dàng bật và tắt hầu hết các thiết bị gia dụng trong nhà, chẳng hạn như llama, quạt, v.v.

Đặc điểm của mô-đun GSM / GPRS SIM800L V.2


Dưới đây là tất cả các thông số kỹ thuật của mô-đun GSM / GPRS SIM800L V.2:
  • Giao diện nối tiếp TTL tương thích với các vi điều khiển 3,3V và 5V tương thích với Arduino.
  • Mô-đun SIM800L có giao diện nối tiếp TTL.
  • Anten cắm
  • Hỗ trợ mạng: bốn băng tần 850/900/1800/1900 MHz, có khả năng thực hiện cuộc gọi, SMS và truyền dữ liệu với mức tiêu thụ pin giảm đáng kể.
  • Giao diện VDD TTL UART, do đó bạn có thể kết nối trực tiếp MCU như 51MCU, ARM hoặc MSP430. Phích cắm VDD được sử dụng để phù hợp với điện áp TTL.
  • Model: SIMCOM SIM800L
  • Điện áp làm việc: từ 3,7V đến 5V;
  • kích thước: 40mm x 28mm x 3 mm
  • GPRS đa lớp 12/10
  • Dịch vụ hàng loạt GPRS B
  • Tương ứng với GSM giai đoạn 2/2 +
  • Lớp 4 (2 Watts @ 850/900 MHz)
  • Lớp 1 (1 Wat @ 1800/1900 MHz)

Vật liệu cần thiết


Bạn sẽ cần:


1. Mô-đun SIM800L V.2 GSM / GPRS.
2. Arduino Uno.
3. Module rơle 4 kênh 5 volt.
4. Dây điện - máy nhảy.
5. Cấp điện 5 V.
(Liên kết hoạt động đến cửa hàng để mua)

Lắp ráp và cấu hình


Khi bạn đã kết nối tất cả các thành phần, tạo một chương trình, sau đó tải nó xuống Arduino của bạn. Nhưng trước tiên, bạn phải cài đặt thư viện GPRS mà bạn có thể tải xuống:
gprs.zip 28.02 Kb (lượt tải xuống: 509)

Mã chương trình cho Arduino


Sau khi bạn đã kết nối SIM800L, mô-đun chuyển tiếp 4 kênh và Arduino với máy tính của bạn, hãy nhập mã bên dưới và bạn đã hoàn tất.
#include #include #define TIMEOUT 5000 #define HOẠT ĐỘNG THẤP #define TẮT Rơle byte cao = {A0, A1, A2, A3}; byte StatRelay4; char buffNumber20; char currentLine500 = ""; int currentLine Index = 0; bool nextLineIsMessage = false; Chuỗi replyNumber = "089510863958"; Gprs GPRS; void setup () {for (int i = 0; i >> Tự động đọc SMS "); gprs.preInit (); delay (1000); while (0! = gprs.init ()) {delay (1000); serial .print ("init errorrn");} // Quản lý tin nhắn sang chế độ ASCII if (0! = gprs.sendCmdAndWaitForResp ("AT + CMGF = 1rn", "OK", TIMEOUT)) {ERROR ("ERROR:" ; return;} // Đọc SMS đến nếu (0! = gprs.sendCmdAndWaitForResp ("AT + CNMI = 1,2,0,0,0rn", "OK", TIMEOUT)) {ERROR ("ERROR: CNMI") ; return;} int pjg = replyNumber.length () + 1; buffNumberpjg; replyNumber.toCharArray (buffNumber, pjg); serial.print ("Gửi trả lời cho số =>"); serial.println (buffNumber); ("Đã khởi tạo xong"); serial.println ("====================================== ========================))} void loop () {// Thay đổi trạng thái BẬT / TẮT cho (int i = 0; i 0) {if (nextLineIsMessage) {serial.println (lastLine); // =================================== ============================== >> Chức năng của Bộ điều khiển Rơle // Bộ điều khiển Rơle 1 if (lastLine.indexOf ("Rơle 1 BẬT ")> = 0) {StatRelay0 = AKTIF; Serial.print ("Trả lời ==== >>>>"); Serial.println ("Chuyển tiếp 1 trạng thái hoạt động"); gprs.sendSMS (buffNumber, "Chuyển tiếp 1 trạng thái hoạt động"); } if if (lastLine.indexOf ("Rơle 1 TẮT")> = 0) {StatRelay0 = MATI; Serial.print ("Trả lời ==== >>>>"); Serial.println ("Tắt trạng thái chuyển tiếp 1"); gprs.sendSMS (buffNumber, "Tắt trạng thái chuyển tiếp 1"); } // Bộ điều khiển chuyển tiếp 2 if (lastLine.indexOf ("Relay 2 ON")> = 0) {StatRelay1 = AKTIF; Serial.print ("Trả lời ==== >>>>"); Serial.println ("Chuyển tiếp 2 trạng thái hoạt động"); gprs.sendSMS (buffNumber, "Chuyển tiếp 2 trạng thái hoạt động"); } if if (lastLine.indexOf ("Rơle 2 TẮT")> = 0) {StatRelay1 = MATI; Serial.print ("Trả lời ==== >>>>"); Serial.println ("Tắt trạng thái chuyển tiếp 2"); gprs.sendSMS (buffNumber, "Tắt trạng thái chuyển tiếp 2"); } // Bộ điều khiển chuyển tiếp 3 if (lastLine.indexOf ("Relay 3 ON")> = 0) {StatRelay2 = AKTIF; Serial.print ("Trả lời ==== >>>>"); Serial.println ("Chuyển tiếp 3 trạng thái hoạt động"); gprs.sendSMS (buffNumber, "Chuyển tiếp 3 trạng thái hoạt động"); } if if (lastLine.indexOf ("Rơle 3 TẮT")> = 0) {StatRelay2 = MATI; Serial.print ("Trả lời ==== >>>>"); Serial.println ("Tắt trạng thái chuyển tiếp 3"); gprs.sendSMS (buffNumber, "Tắt 3 trạng thái tắt"); } // Bộ điều khiển chuyển tiếp 4 if (lastLine.indexOf ("Relay 4 ON")> = 0) {StatRelay3 = AKTIF; Serial.print ("Trả lời ==== >>>>"); Serial.println ("Chuyển tiếp 4 trạng thái hoạt động"); gprs.sendSMS (buffNumber, "Chuyển tiếp 1 trạng thái hoạt động"); } if if (lastLine.indexOf ("Rơle 4 TẮT")> = 0) {StatRelay3 = MATI; Serial.print ("Trả lời ==== >>>>"); Serial.println ("Tắt trạng thái chuyển tiếp 4"); gprs.sendSMS (buffNumber, "Tắt trạng thái chuyển tiếp 4"); } nextLineIsMessage = false; } // ================================================ =================== >>} // Xóa mảng char cho dòng đọc tiếp theo cho (int i = 0; i <sizeof (currentLine); ++ i) {currentLinei = (char) 0; } currentLine Index = 0; } other {currentLinecurc HiệnLine Index ++ = lastCharRead; }}}

Kiểm tra thiết bị


Công cụ này hoạt động bằng cách gửi SMS đến SIM800L với một chuỗi ký tự cụ thể. Ví dụ: để bật rơle 1, hãy sử dụng lệnh "Rơle 1 BẬT" và để tắt nó, hãy sử dụng lệnh "Rơle 1 TẮT". Phần còn lại của rơle có các lệnh gần như giống nhau, ngoại trừ số sê-ri của mỗi rơle mà bạn muốn hành động. Sau khi tự động gửi tin nhắn, SIM800 sẽ gửi phản hồi dưới dạng tin nhắn trạng thái cho mỗi thẻ SIM.

Lắp ráp video, cấu hình và xác minh thiết bị



Bài viết gốc bằng tiếng Anh

Pin
Send
Share
Send