สารบัญ:

ส่ง SMS โดยใช้ ESP8266: 5 ขั้นตอน
ส่ง SMS โดยใช้ ESP8266: 5 ขั้นตอน

วีดีโอ: ส่ง SMS โดยใช้ ESP8266: 5 ขั้นตอน

วีดีโอ: ส่ง SMS โดยใช้ ESP8266: 5 ขั้นตอน
วีดีโอ: EP.2 การส่งข้อความและกำหนดค่าเริ่มต้นระหว่าง App Blynk กับบอร์ด ESP8266 ผ่าน WIFI 2024, พฤศจิกายน
Anonim
ส่ง SMS โดยใช้ ESP8266
ส่ง SMS โดยใช้ ESP8266

คำแนะนำนี้จะนำคุณผ่านขั้นตอนต่างๆ ในการส่งข้อความ SMS ผ่านอินเทอร์เน็ตจากบอร์ดโมดูล ESP8266 NodeMCU ไปยังโทรศัพท์มือถือ เพื่อให้สามารถส่งข้อความได้ คุณจะต้องทำตามขั้นตอนเพื่อรับหมายเลขโทรศัพท์เสมือนจาก Twilio ซึ่งเป็นบริษัทสื่อสาร ไม่ต้องใช้บัตรเครดิตเพราะ Twilio มีตัวเลือกบัญชีทดลองฟรี จากนั้น คุณจะดาวน์โหลดและใช้ตัวอย่างโปรแกรม Arduino IDE เพื่อส่งข้อความ SMS

โปรแกรมตัวอย่างในคำสั่งนี้มีการเรียกใช้ฟังก์ชันที่ตรงไปตรงมาเพื่อคัดลอก วาง แก้ไข และใช้ในโครงการของคุณเอง

เสบียง

ฉันใช้ NodeMCU ESP8266 CH340G ESP-12E บอร์ดพัฒนาอินเทอร์เน็ตไร้สาย WIFI พวกเขาขายในราคาประมาณ 3 ดอลลาร์บนอีเบย์จากซัพพลายเออร์จีน

ขั้นตอนที่ 1: ทดสอบ ESP8266 NodeMCU. ของคุณ

คุณสามารถทดสอบโดยมีหรือไม่มีเขียงหั่นขนม หากไม่มีเขียงหั่นขนม ไฟออนบอร์ดจะติดและดับ ซึ่งมีผลสำหรับการทดสอบ

ในตัวอย่างของฉัน ฉันเสียบ NodeMCU เข้ากับ Breadboard ฉันเสียบด้านลบของ LED เข้ากับหมุดกราวด์ (G หรือ GND) บน NodeMCU ด้านบวกของ LED เชื่อมต่อผ่านตัวต้านทาน (500 ถึง 5K โอห์ม) กับพิน NodeMCU D4 เมื่อโปรแกรมตัวอย่างทำงาน ไฟ LED บนบอร์ดจะเปิดขึ้น ไฟ LED ภายนอกจะดับ จากนั้นไฟ LED บนบอร์ดจะดับลง ไฟ LED ภายนอกจะสว่างขึ้น ไฟ LED จะสลับเปิดและปิด

ดาวน์โหลดและรันโปรแกรมทดสอบ Arduino พื้นฐาน: nodeMcuTest.ino ขณะรันโปรแกรม ไฟ LED บนเครื่องจะติด 1 วินาที ปิด 1 วินาที และวนต่อเนื่อง นอกจากนี้ยังมีการโพสต์ข้อความซึ่งสามารถดูได้ใน Arduino IDE Tools/Serial Monitor

+++ การติดตั้ง

+ เริ่มต้นพินดิจิตอล LED บนบอร์ดสำหรับเอาต์พุต ไฟ LED ปิดอยู่ ++ ไปที่ลูป + ตัวนับวง = 1 + ตัวนับวง = 2 + ตัวนับวง = 3 …

เมื่อคุณยืนยันว่าสามารถใช้ IDE เพื่อตั้งโปรแกรม NodeMCU ได้ ให้ไปยังขั้นตอนถัดไป

หมายเหตุเกี่ยวกับไลบรารี ฉันได้ติดตั้งเพื่อติดตามโครงการ ESP8266:

  • ไลบรารี Arduino WiFi เวอร์ชัน 1.2.7
  • PubSubClient เวอร์ชัน 2.7.0 โดย Nick O'Leary สำหรับการส่งข้อความ MQTT ไม่จำเป็นสำหรับโครงการนี้
  • IRremoteESP8266 เวอร์ชัน 2.6.3 สำหรับอินฟราเรด ไม่จำเป็นสำหรับโครงการนี้

หากคุณมีข้อมูลเพิ่มเติมเกี่ยวกับห้องสมุดที่จำเป็น โปรดแสดงความคิดเห็น เหตุผลที่ฉันไม่มีข้อมูลเฉพาะคือฉันไม่ได้บันทึกสิ่งที่ฉันติดตั้งไว้ ขอโทษด้วย

เกี่ยวกับ ESP8266 NodeMCU

คุณสมบัติ,

  • ความเร็วสัญญาณนาฬิกา 80 MHz
  • แรงดันไฟฟ้าที่ใช้งาน: 3.3V
  • หน่วยความจำแฟลชสำหรับจัดเก็บข้อมูล: 4 MB, SRAM: 64 KB
  • หมุด GPIO แบบดิจิทัลที่ใช้กันทั่วไป 9 ตัวที่มีป้ายกำกับ: D0 ถึง D8
  • จากจำนวน 9 พิน สามารถใช้กับ SPI ได้ 4 พิน และ 2 พินสำหรับ I2C
  • ขัดจังหวะหมุด GPIO D0-D8
  • อย่าใช้หมุด 6 ตัว: CLK, SD0, CMD, SD1, SD2, SD3 (GPIO 6-11) เนื่องจากใช้งานอยู่
  • ทดสอบแล้ว: ป้อนข้อมูลด้วยปุ่มโดยใช้ D0-D02
  • ทดสอบแล้ว: ไฟ LED กะพริบโดยใช้ D0-D08 ออกไปที่ตัวต้านทาน ต่อ LED ลงกราวด์
  • จำเป็นต้องทดสอบ, UART1 (TX = GPIO2), วัตถุ Serial1: D4 หรือ D7 และ D8

รายละเอียดพิน

NodeMCU Label GPIO pin # D0 16 GPIO อ่าน/เขียน เท่านั้น อาจไม่มีคุณสมบัติขัดจังหวะ D1 5 ดิจิตอล GPIO -------------------- D2 4 ดิจิตอล GPIO D3 0 ดิจิตอล GPIO ---------- D2 4 I2C:SCL, นาฬิกา DS3231, โมดูลอินพุต PCF8574 D3 0 I2C:SDA ---------- D4 (TX) 2 LED ในตัวบนบอร์ด ---------- 3V 3v เอาต์พุต G Ground -------------------- D5 14 Digital GPIO D6 12 ดิจิตอล GPIO D7(RX) 13 ใช้งานได้กับอินพุต เช่น ตัวรับสัญญาณอินฟราเรด D8(TX) 15 ใช้งานไม่ได้กับอินพุต เช่น การรับอินฟราเรด ---------- D5 14 การ์ด SD: SPI SCK D6 12 การ์ด SD: SPI MISO D7(RX) 13 การ์ด SD: การ์ด SD SPI MOSI D8 15: CS สำหรับ SPI เปิด/ปิดใช้งานอุปกรณ์ สามารถใช้หมุดดิจิตอลอื่น ๆ ได้ -------------------- RX 03 ระบบ uplod จาก IDE ซึ่งทำให้รีบูตหลังจากอัปโหลด TX 01 อัปโหลดระบบ เอาต์พุต G Ground 3V 3v

ขั้นตอนที่ 2: เปิดบัญชีทดลองใช้ Twilio ฟรีและรับหมายเลขโทรศัพท์ของคุณเอง

Image
Image

Twilio เป็นบริษัทแพลตฟอร์มการสื่อสารทางอินเทอร์เน็ต ผลิตภัณฑ์ที่ใช้ในคำแนะนำนี้คือ Twilio Programmable Messaging และหมายเลขโทรศัพท์ Twilio มีคลังหมายเลขโทรศัพท์เสมือนที่สามารถใช้ส่งและรับข้อความ SMS ไปยังโทรศัพท์มือถือเครื่องใดก็ได้

ในขั้นตอนนี้ คุณจะ:

  • เปิดบัญชี Twilio หากคุณยังไม่มี บัญชีทดลองฟรีและไม่ต้องใช้บัตรเครดิต บัญชีทดลองใช้งานของคุณจะมียอดคงเหลือทดลองใช้เพื่อชำระค่าหมายเลขโทรศัพท์และแลกเปลี่ยนข้อความกับโทรศัพท์มือถือ
  • ซื้อหมายเลขโทรศัพท์ Twilio ได้ฟรีเพราะจ่ายสำหรับการใช้ยอดคงเหลือทดลองใช้ของคุณ
  • ส่งข้อความจากโทรศัพท์มือถือของคุณไปยังหมายเลขโทรศัพท์ใหม่ของคุณ
  • เมื่อ Twilio ได้รับข้อความของคุณ ข้อความตอบกลับอัตโนมัติจะถูกส่งไปยังโทรศัพท์มือถือของคุณ
  • ใช้แอปพลิเคชันเว็บไซต์ Twilio Console เพื่อดูบันทึกข้อความของคุณ

วิดีโอแรกด้านบนแสดงวิธีเปิดบัญชี Twilio วิดีโอที่สองแสดงวิธีซื้อหมายเลขโทรศัพท์ Twilio

เชื่อมโยงไปยังเว็บไซต์ Twilio Console เพื่อเปิดบัญชี

ลิงก์ไปยังเว็บไซต์ Twilio Console เพื่อซื้อหมายเลขโทรศัพท์ Twilio

หมายเลขโทรศัพท์ที่รองรับ Twilio SMS ใหม่ของคุณมีการกำหนดค่าการตอบกลับอัตโนมัติแล้ว ในการทดสอบ ให้ส่งข้อความ SMS จากโทรศัพท์มือถือของคุณไปยังหมายเลขโทรศัพท์ Twilio ของคุณ คุณจะได้รับข้อความต่อไปนี้:

ขอบคุณสำหรับข้อความ. กำหนดค่า URL SMS ของหมายเลขของคุณเพื่อเปลี่ยนข้อความนี้ ตอบกลับความช่วยเหลือสำหรับความช่วยเหลือ ตอบกลับ หยุดเพื่อยกเลิกการสมัคร

ตอนนี้ใช้ Twilio Console เพื่อดูบันทึกข้อความของคุณจากการทดสอบข้างต้น:

www.twilio.com/console/sms/logs

ข้อมูลเพิ่มเติมเกี่ยวกับการใช้ Twilio

คุณสามารถสร้างการตอบกลับอัตโนมัติที่กำหนดเองได้ ลิงก์ไปยังวิธีใช้ของ Studio วิธีสร้างข้อความตอบกลับ SMS ที่กำหนดเอง Studio คือเครื่องมือลากและวาง Twilio Console ของเรา

คุณสามารถใช้ Twilio Console เพื่อดูข้อความบันทึกและดาวน์โหลดบันทึกเป็น CVS และโหลดลงในสเปรดชีต คุณสามารถเลือกช่วงวันที่และเวลา ไปและกลับจากหมายเลขโทรศัพท์ และสถานะเช่น: ยังไม่ได้ส่งหรือส่งแล้ว คุณยังมีตัวเลือกในการดาวน์โหลดบันทึกเป็นไฟล์ CVS เนื่องจากมีการจำกัดการบันทึกครั้งละ 300 รายการ คุณจึงสามารถจำกัดการเลือกตามวันที่ได้

ลิงค์สำหรับนักพัฒนา

ลิงก์ไปยังเอกสารและโปรแกรมตัวอย่างเพื่อส่งข้อความ

ลิงก์ไปยังตัวอย่างโปรแกรมเพื่อแสดงรายการบันทึกข้อความ

ลิงก์ไปยังคุณสมบัติข้อความของโปรแกรม รายการคุณสมบัติที่ส่งในคำขอ

ลิงก์ไปยังรายการบันทึก SMS ในช่วงเวลาหนึ่ง

ขั้นตอนที่ 3: ส่ง SMS จาก NodeMCU ของคุณ

ส่ง SMS จาก NodeMCU ของคุณ
ส่ง SMS จาก NodeMCU ของคุณ

ดาวน์โหลดโปรแกรม: HttpTwPost.ino และโหลดลงใน Arduino IDE ของคุณ ลงในโปรแกรมให้ป้อนรหัสเครือข่าย WiFi และรหัสผ่านของคุณ ป้อน SID ของบัญชี Twilio, โทเค็นการตรวจสอบสิทธิ์ และหมายเลขโทรศัพท์ของคุณเอง SID ของบัญชี Twilio และโทเค็นการตรวจสอบสิทธิ์สามารถดูได้จากแดชบอร์ด Twilio Console คลิก Auth Token "แสดง" เพื่อดูโทเค็นการตรวจสอบสิทธิ์

// SSID เครือข่ายของคุณและรหัสผ่านconst char* ssid = "YourNetworkId"; const char* password = "YourNetworkPassword"; const char* account_sid = "YourTwilioAccountSID"; const char* auth_token = "YourAuthToken"; สตริง from_number = "+16505551111"; // หลังจากเพิ่มการเข้ารหัสแล้ว ให้เพิ่ม "+" สตริง to_number = "+16505552222"; String message_body = "สวัสดีจาก NodeMCU";

หมายเหตุ Twilio เมื่อใช้หมายเลขโทรศัพท์กับ Twilio วิธีที่ดีที่สุดคือการจัดรูปแบบตัวเลขเป็นหมายเลขโทรศัพท์ในรูปแบบ E.164 หมายเลขโทรศัพท์ในรูปแบบ E.164 ขึ้นต้นด้วย "+" และรหัสประเทศ หมายเลขโทรศัพท์ไม่มีช่องว่าง ขีดกลาง หรือวงเล็บ ตัวอย่าง: +16505551111

เรียกใช้โปรแกรม เมื่อโปรแกรมเริ่มทำงาน มันจะส่งข้อความ SMS ไปยังหมายเลขโทรศัพท์มือถือของคุณ นอกจากนี้ยังมีการโพสต์ข้อความซึ่งสามารถดูได้ใน Arduino IDE Tools/Serial Monitor ข้อความมอนิเตอร์รวมถึงการตอบสนองจาก Twilio

+++ ตั้งค่า.+ เชื่อมต่อกับ WiFi …. + เชื่อมต่อกับ WiFi ที่อยู่ IP: 192.168.1.76 + ใช้ลายนิ้วมือ 'BC B0 1A 32 80 5D E6 E4 A2 29 66 2B 08 C8 E0 4C 45 29 3F D0' + กำลังเชื่อมต่อกับ api.twilio.com + เชื่อมต่อแล้ว + โพสต์ HTTP ส่งคำขอ SMS + การเชื่อมต่อถูกปิด + ตอบกลับ: HTTP/1.1 201 สร้างวันที่: พฤหัสบดี 16 ก.ค. 2020 20:39:49 GMT ประเภทเนื้อหา: application/xml ความยาวเนื้อหา: 878 การเชื่อมต่อ: ปิด Twilio-Concurrent-Requests: 1 Twilio-Request-Id: RQe4fbdd142fca4b2fab24697e74006837 Twilio-Request-Duration: 0.116 Access-Control-Allow-Origin: * Access-Control-Allow-Headers: ยอมรับ, การอนุญาต, ประเภทเนื้อหา, If-Match, If-Modified-Since, If-None-Match, If- Unmodified-Since Access-Control-Allow-Methods: GET, POST, DELETE, OPTIONS Access-Control-Expose-Headers: ETag Access-Control-Allow-Credentials: true X-Powered-By: AT-5000 X-Shenanigans: ไม่มี X-Home-Region: us1 X-API-Domain: api.twilio.com Strict-Transport-Security: max-age=31536000 … + การเริ่มวนซ้ำ

คุณสามารถดูบันทึกข้อความ Twilio เพื่อดูข้อความที่ส่งของคุณ

ขั้นตอนที่ 4: ปุ่มสำหรับส่ง SMS

Image
Image

วิดีโอด้านบนแสดงให้เห็นว่า ESP8266 NodeMCU ใช้เพื่อส่งข้อความไปยังโทรศัพท์มือถือ ในวิดีโอ NodeMCU เริ่มทำงานและเชื่อมต่อกับเครือข่าย WiFi แล้ว เมื่อกดปุ่ม ไฟ LED บนเครื่องจะติดสว่าง คำขอข้อความ SMS จะถูกส่งไปยังบริการ Twilio Messaging บริการส่ง SMS ไปยังโทรศัพท์มือถือของฉัน ได้รับข้อความแล้ว บริการยังตอบกลับ NodeMCU ว่าข้อความถูกจัดคิวเพื่อส่ง ขณะนี้ได้รับข้อความทางโทรศัพท์แล้ว หลังจากที่ NodeMCU ได้รับการตอบสนองจาก Twilio แล้ว ไฟออนบอร์ดจะดับลง วงจรพร้อมที่จะส่งข้อความอื่น

ต่อไปนี้เป็นวิธีการใช้วงจรในวิดีโอ ขั้นตอนนี้ต้องใช้เขียงหั่นขนม ปุ่ม และสายไฟ เพิ่มปุ่มบนเขียงหั่นขนม ด้านหนึ่งของปุ่มเชื่อมต่อกับพิน NodeMCU D1 ต่ออีกด้านของปุ่มเข้ากับพินกราวด์ NodeMCU (พิน G บนบอร์ดของฉัน)

ดาวน์โหลดโปรแกรม: HttpTwSendSms.ino และโหลดลงใน Arduino IDE ของคุณ เช่นเดียวกับในขั้นตอนก่อนหน้า ในโปรแกรมให้ป้อนรหัสเครือข่าย WiFi และรหัสผ่านของคุณ ป้อน SID ของบัญชี Twilio, โทเค็นการตรวจสอบสิทธิ์ และหมายเลขโทรศัพท์ของคุณเอง

เมื่อรันโปรแกรม NodeMCU จะเชื่อมต่อกับเครือข่าย WiFi เมื่อกดปุ่ม ข้อความจะถูกส่งไปยังหมายเลขโทรศัพท์มือถือ

ขั้นตอนที่ 5: SMS จาก NodeMCU เป็นเครื่องมือ IoT ที่ยอดเยี่ยม

ตอนนี้คุณสามารถใช้โค้ดตัวอย่างและบัญชี Twilio ของคุณเพื่อส่งข้อความ SMS ผ่าน WiFi

ไชโย

สเตซี่ เดวิด

แนะนำ: