Mục lục:

Gửi SMS bằng ESP8266: 5 bước
Gửi SMS bằng ESP8266: 5 bước

Video: Gửi SMS bằng ESP8266: 5 bước

Video: Gửi SMS bằng ESP8266: 5 bước
Video: Bài 8: Gửi 1 tin nhắn, thực hành bo mạch ESP8266 với mạng WiFi 2024, Tháng mười một
Anonim
Gửi SMS bằng ESP8266
Gửi SMS bằng ESP8266

Tài liệu hướng dẫn này sẽ hướng dẫn bạn qua các bước để gửi tin nhắn SMS qua internet từ bảng mô-đun ESP8266 NodeMCU đến điện thoại di động. Để có thể gửi tin nhắn, bạn sẽ cần thực hiện các bước để lấy số điện thoại ảo từ Twilio, một công ty truyền thông. Không cần thẻ tín dụng vì Twilio có tùy chọn tài khoản Dùng thử miễn phí. Sau đó, bạn sẽ tải xuống và sử dụng chương trình Arduino IDE mẫu để gửi tin nhắn SMS.

Chương trình mẫu trong hướng dẫn này có các lệnh gọi hàm được chuyển tiếp để sao chép, dán, chỉnh sửa và sử dụng trong các dự án của riêng bạn.

Quân nhu

Tôi đang sử dụng Bảng phát triển Internet WIFI không dây NodeMCU ESP8266 CH340G ESP-12E. Họ bán với giá khoảng 3 đô la trên eBay từ các nhà cung cấp Trung Quốc.

Bước 1: Kiểm tra ESP8266 NodeMCU của bạn

Bạn có thể kiểm tra có hoặc không có breadboard. Nếu không có breadboard, đèn trên bo mạch sẽ nhấp nháy và tắt, điều này có hiệu quả đối với thử nghiệm.

Trong mẫu của tôi, tôi cắm NodeMCU vào Breadboard. Tôi cắm mặt âm của đèn LED vào chân nối đất (G hoặc GND) trên NodeMCU. Cực dương của đèn LED được kết nối thông qua một điện trở (500 đến 5K ohm) với chân NodeMCU D4. Khi chương trình mẫu được chạy, đèn LED trên bo mạch sẽ bật, đèn LED bên ngoài tắt, sau đó đèn LED trên bo mạch sẽ tắt, đèn LED bên ngoài bật. Các đèn LED sẽ luân phiên bật và tắt.

Tải xuống và chạy chương trình thử nghiệm Arduino cơ bản: nodeMcuTest.ino. Trong khi chạy chương trình, đèn LED trên bo mạch sẽ bật trong 1 giây, tắt trong 1 giây và liên tục quay vòng. Ngoài ra, các thông báo được đăng có thể được xem trong Công cụ Arduino IDE / Màn hình nối tiếp.

+++ Thiết lập.

+ Khởi tạo chân kỹ thuật số LED trên bo mạch cho đầu ra. Đèn LED tắt. ++ Đi tới vòng lặp. + Bộ đếm vòng = 1 + Bộ đếm vòng = 2 + Bộ đếm vòng = 3…

Khi bạn đã xác nhận rằng IDE của bạn có thể được sử dụng để lập trình NodeMCU, hãy chuyển sang bước tiếp theo.

Lưu ý về thư viện, tôi đã cài đặt theo các bước sau cho các dự án ESP8266:

  • Thư viện Arduino WiFi phiên bản 1.2.7.
  • PubSubClient phiên bản 2.7.0, của Nick O'Leary, dành cho nhắn tin MQTT. Không bắt buộc đối với dự án này.
  • IRremoteESP8266 phiên bản 2.6.3, dành cho hồng ngoại. Không bắt buộc đối với dự án này.

Nếu bạn có thêm thông tin về các thư viện cần thiết, vui lòng bình luận. Lý do tôi không có chi tiết cụ thể là tôi đã không ghi lại những gì tôi đã cài đặt, xin lỗi.

Giới thiệu về ESP8266 NodeMCU

Đặc trưng,

  • Tốc độ đồng hồ 80 MHz
  • Điện áp hoạt động: 3.3V
  • Bộ nhớ flash lưu trữ: 4 MB, SRAM: 64 KB
  • 9 chân GPIO kỹ thuật số thông dụng có nhãn: D0 đến D8.
  • Trong số 9, 4 chân có thể được sử dụng cho SPI và 2 chân cho I2C.
  • Ngắt các chân GPIO D0-D8.
  • Không sử dụng 6 chân: CLK, SD0, CMD, SD1, SD2, SD3 (GPIO 6-11) vì chúng đang được sử dụng.
  • Đã kiểm tra: đầu vào nút sử dụng D0-D02.
  • Đã kiểm tra: nhấp nháy đèn LED sử dụng D0-D08. Kết nối với điện trở, đến đèn LED, nối đất.
  • Cần kiểm tra, UART1 (TX = GPIO2), đối tượng Serial1: D4 hoặc D7 và D8.

Ghim chi tiết

NodeMCU Nhãn GPIO chân # D0 16 Chỉ đọc / ghi GPIO. Có thể không có tính năng ngắt. D1 5 GPIO kỹ thuật số. -------------------- D2 4 GPIO kỹ thuật số. D3 0 GPIO kỹ thuật số. ---------- D2 4 I2C: Mô-đun đầu vào SCL, clock DS3231, PCF8574 D3 0 I2C: SDA ---------- D4 (TX) 2 Tích hợp sẵn, trên bo mạch LED. ---------- Đầu ra 3V 3v G Ground -------------------- D5 14 Digital GPIO. D6 12 GPIO kỹ thuật số. D7 (RX) 13 Hoạt động cho đầu vào, ví dụ như nhận hồng ngoại. D8 (TX) 15 Không hoạt động cho đầu vào, chẳng hạn như nhận hồng ngoại. ---------- D5 14 Thẻ SD: SPI SCK D6 12 Thẻ SD: SPI MISO D7 (RX) 13 Thẻ SD: SPI MOSI D8 15 Thẻ SD: CS cho SPI bật / tắt thiết bị. Có thể sử dụng các chân kỹ thuật số khác. -------------------- RX 03 Hệ thống uplod từ IDE, khởi động lại sau khi tải lên. TX 01 Hệ thống uplod. G Ground 3V đầu ra 3v

Bước 2: Mở tài khoản dùng thử Twilio miễn phí và lấy số điện thoại của riêng bạn

Image
Image

Twilio là một công ty nền tảng truyền thông internet. Các sản phẩm đang được sử dụng trong hướng dẫn này là Nhắn tin có thể lập trình Twilio và số điện thoại. Twilio có một kho số điện thoại ảo có thể được sử dụng để gửi và nhận tin nhắn SMS tới bất kỳ điện thoại di động nào.

Trong bước này, bạn sẽ:

  • Mở tài khoản Twilio nếu bạn chưa có. Tài khoản dùng thử miễn phí và không yêu cầu thẻ tín dụng. Tài khoản dùng thử của bạn sẽ có số dư dùng thử được sử dụng để thanh toán cho các số điện thoại và trao đổi tin nhắn văn bản với điện thoại di động.
  • Mua số điện thoại Twilio. Nó miễn phí vì nó được trả tiền để sử dụng số dư dùng thử của bạn.
  • Gửi tin nhắn từ điện thoại di động đến số điện thoại mới của bạn.
  • Khi Twilio nhận được tin nhắn của bạn, một tin nhắn phản hồi tự động sẽ được gửi đến điện thoại di động của bạn.
  • Sử dụng ứng dụng trang web Twilio Console để xem nhật ký tin nhắn của bạn.

Video đầu tiên ở trên hướng dẫn cách mở tài khoản Twilio. Video thứ hai hướng dẫn cách mua số điện thoại Twilio.

Liên kết đến trang web Twilio Console để mở tài khoản.

Liên kết đến trang web Twilio Console để mua số điện thoại Twilio.

Số điện thoại hỗ trợ Twilio SMS mới của bạn đã được định cấu hình trả lời tự động. Để kiểm tra, hãy gửi tin nhắn SMS từ điện thoại di động đến số điện thoại Twilio của bạn. Bạn sẽ nhận được thông báo sau:

Cảm ơn tin nhắn của bạn. Định cấu hình URL SMS của số của bạn để thay đổi thông báo này. Trả lời Trợ giúp để được Trợ giúp. Trả lời Dừng để hủy đăng ký.

Bây giờ, hãy sử dụng Bảng điều khiển Twilio để xem nhật ký tin nhắn của bạn từ thử nghiệm trên:

www.twilio.com/console/sms/logs

Thông tin thêm về việc sử dụng Twilio

Bạn có thể tạo phản hồi tự động tùy chỉnh của riêng mình. Liên kết với Hướng dẫn cách làm của Studio, cách tạo tin nhắn trả lời SMS tùy chỉnh. Studio là công cụ kéo và thả Twilio Console của chúng tôi.

Bạn có thể sử dụng Bảng điều khiển Twilio để xem thông báo nhật ký của mình và tải xuống nhật ký dưới dạng CVS và tải chúng vào bảng tính. Bạn có thể chọn phạm vi ngày và giờ, đến và từ số điện thoại và trạng thái như: Chưa gửi hoặc Đã gửi. Bạn cũng có tùy chọn tải xuống nhật ký dưới dạng tệp CVS. Vì nó có giới hạn 300 nhật ký cùng một lúc, bạn có thể giới hạn lựa chọn theo ngày.

Liên kết nhà phát triển

Liên kết đến tài liệu và chương trình mẫu để gửi tin nhắn.

Liên kết đến các mẫu chương trình để liệt kê nhật ký tin nhắn.

Liên kết đến thuộc tính thông báo chương trình. Danh sách các thuộc tính được gửi trong yêu cầu

Liên kết để liệt kê nhật ký SMS trong một khoảng thời gian.

Bước 3: Gửi SMS từ NodeMCU của bạn

Gửi SMS từ NodeMCU của bạn
Gửi SMS từ NodeMCU của bạn

Tải xuống chương trình: HttpTwPost.ino và tải nó vào Arduino IDE của bạn. Vào chương trình, nhập ID và mật khẩu mạng WiFi của bạn. Nhập SID tài khoản Twilio, mã xác thực và số điện thoại của riêng bạn. Bạn có thể xem được SID của tài khoản Twilio và mã thông báo xác thực từ bảng điều khiển Twilio Console. Nhấp vào "hiển thị" Mã xác thực, để xem mã xác thực.

// SSID mạng và passwordconst char * ssid = "YourNetworkId"; const char * password = "YourNetworkPassword"; const char * account_sid = "YourTwilioAccountSID"; const char * auth_token = "YourAuthToken"; Chuỗi from_number = "+16505551111"; // Sau khi mã hóa được thêm, hãy thêm "+". Chuỗi to_number = "+16505552222"; String message_body = "Xin chào từ NodeMCU.";

Twilio lưu ý, khi sử dụng số điện thoại với Twilio, tốt nhất bạn nên định dạng số dưới dạng số điện thoại có định dạng E.164. Số điện thoại được định dạng E.164 bắt đầu bằng "+" và mã quốc gia. Số điện thoại không có dấu cách, dấu gạch ngang hoặc dấu ngoặc. Ví dụ: +16505551111.

Chạy chương trình. Khi chương trình bắt đầu, nó sẽ gửi một tin nhắn văn bản SMS đến số điện thoại di động của bạn. Ngoài ra, các thông báo được đăng có thể được xem trong Công cụ Arduino IDE / Màn hình nối tiếp. Các thông báo giám sát bao gồm phản hồi từ Twilio.

+++ Thiết lập + Kết nối WiFi. …. + Đã kết nối WiFi, địa chỉ IP: 192.168.1.76 + Sử dụng vân tay 'BC B0 1A 32 80 5D E6 E4 A2 29 66 2B 08 C8 E0 4C 45 29 3F D0' + Đang kết nối với api.twilio.com + Đã kết nối. + Đăng yêu cầu gửi tin nhắn SMS HTTP. + Kết nối bị đóng. + Phản hồi: HTTP / 1.1 201 NGÀY ĐƯỢC TẠO: Thứ Sáu, ngày 16 tháng 7 năm 2020 20:39:49 GMT Nội dung-Loại: ứng dụng / xml Nội dung-Độ dài: 878 Kết nối: đóng Twilio-Đồng thời-Yêu cầu: 1 Twilio-Yêu cầu-Id: RQe4fbdd142fca4b2fab24697e74006837 Twilio-Request-Duration: 0,116 Access-Control-Allow-Origin: * Access-Control-Allow-Headers: Accept, Authorization, Content-Type, If-Match, If-Modified-Since, If-None-Match, If- Không sửa đổi-Kể từ khi truy cập-Kiểm soát-Cho phép-Phương thức: GET, ĐĂNG, XÓA, TÙY CHỌN Truy cập-Kiểm soát-Phơi bày-Tiêu đề: ETag Access-Control-Allow-Credentials: true X-Powered-By: AT-5000 X-Shenanigans: không có X-Home-Region: us1 X-API-Domain: api.twilio.com Nghiêm ngặt-Vận chuyển-Bảo mật: max-age = 31536000… + Bắt đầu vòng lặp.

Bạn có thể xem nhật ký tin nhắn Twilio để xem tin nhắn đã gửi của mình.

Bước 4: Nút gửi SMS

Image
Image

Đoạn video trên cho thấy việc sử dụng ESP8266 NodeMCU để gửi tin nhắn đến điện thoại di động. Trong video, NodeMCU đã được khởi động và kết nối mạng WiFi. Khi nhấn nút này, đèn LED trên bo mạch sẽ sáng. Yêu cầu tin nhắn SMS được gửi đến dịch vụ Twilio Messaging. Dịch vụ sẽ gửi một tin nhắn SMS đến điện thoại di động của tôi. Đã nhận được tin nhắn. Dịch vụ cũng trả lời NodeMCU rằng tin nhắn đã được xếp hàng đợi để gửi. Lúc này, tin nhắn đã được nhận trên điện thoại. Sau khi NodeMCU nhận được phản hồi từ Twilio, đèn trên bo mạch sẽ tắt. Mạch đã sẵn sàng để gửi một tin nhắn khác.

Sau đây là cách thực hiện mạch trong video. Bước này yêu cầu một breadboard, nút và dây. Thêm một nút trên breadboard. Một bên của nút kết nối với chân NodeMCU D1. Nối mặt bên kia của nút vào chân nối đất NodeMCU (chân G trên bảng của tôi).

Tải xuống chương trình: HttpTwSendSms.ino và tải nó vào Arduino IDE của bạn. Tương tự như trong bước trước, vào chương trình, nhập ID và mật khẩu mạng WiFi của bạn. Nhập SID tài khoản Twilio, mã xác thực và số điện thoại của riêng bạn.

Khi chương trình được chạy, NodeMCU sẽ kết nối với mạng WiFi. Khi nhấn nút, một tin nhắn sẽ được gửi đến số điện thoại di động.

Bước 5: SMS từ NodeMCU là công cụ IoT tuyệt vời

Giờ đây, bạn có thể sử dụng mã mẫu và tài khoản Twilio của mình để gửi tin nhắn SMS qua WiFi.

Chúc mừng, Stacy David

Đề xuất: