สารบัญ:

วิธีส่งข้อความ SMS จากโครงการ Arduino ESP ของคุณ: 6 ขั้นตอน
วิธีส่งข้อความ SMS จากโครงการ Arduino ESP ของคุณ: 6 ขั้นตอน

วีดีโอ: วิธีส่งข้อความ SMS จากโครงการ Arduino ESP ของคุณ: 6 ขั้นตอน

วีดีโอ: วิธีส่งข้อความ SMS จากโครงการ Arduino ESP ของคุณ: 6 ขั้นตอน
วีดีโอ: Send Message With Arduino : SIM 900A GSM MODULE 2024, พฤศจิกายน
Anonim
วิธีส่งข้อความ SMS จากโครงการ Arduino ESP ของคุณ
วิธีส่งข้อความ SMS จากโครงการ Arduino ESP ของคุณ

คำแนะนำนี้สาธิตวิธีการส่งข้อความ SMS จากโครงการ Arduino ของคุณโดยใช้อุปกรณ์ ESP8266 และการเชื่อมต่อ WiFi ทำไมต้องใช้ SMS * ข้อความ SMS นั้นเร็วและเชื่อถือได้มากกว่าข้อความแจ้งเตือนของแอพ * สามารถรับข้อความ SMS ได้ในกรณีที่ไม่มีการเชื่อมต่อข้อมูลมือถือ * ไม่จำเป็นต้องติดตั้งแอปพลิเคชันบุคคลที่สามบนสมาร์ทโฟน * SMS เป็นสิ่งจำเป็นสำหรับแอปพลิเคชันที่สำคัญเกี่ยวกับข้อความ โปรเจ็กต์นี้เพียงแค่ส่งข้อความ SMS เมื่อกดปุ่มที่เชื่อมต่อ ไปยังอุปกรณ์ ESP สำหรับโปรเจ็กต์ของคุณ อาจถูกทริกเกอร์บนทริกเกอร์หรือสถานะเหตุการณ์อื่นๆ

ขั้นตอนที่ 1: อะไหล่

อะไหล่
อะไหล่
อะไหล่
อะไหล่

สำหรับการสาธิตนี้ คุณจะต้อง:* อุปกรณ์ ESP8266 ฉันเลือกแพ็คเกจ ESP-01 แต่แพ็คเกจ/อุปกรณ์ ESP อื่นๆ ก็ควรใช้งานได้เช่นกัน* การจ่ายไฟ 3.3v* การเชื่อมต่อ WiFi* บัญชี Kapow SMS* Arduino IDE* ESP8266 โมดูลการเขียนโปรแกรม

ขั้นตอนที่ 2: ผู้ให้บริการ SMS

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

www.kapow.co.uk

ขั้นตอนที่ 3: การเดินสายไฟ

การเดินสายไฟ
การเดินสายไฟ

แผนภาพการเดินสายไฟสำหรับโครงการนี้อยู่ด้านบน

ขั้นตอนที่ 4: รหัส

// โครงการสาธิต ESP8266 ส่ง SMS ผ่าน KAPOW (www.kapow.co.uk)

// https://www.instructables.com/id/How-to-Send-SMS-… #include #include char _sKapow_Host ="kapow.co.uk"; int _iKapow_Port =80; /* <<<< เปลี่ยนรายละเอียดด้านล่าง */ // รายละเอียด WiFi ของคุณ: char _sWiFi_SSID ="YourWifiPoint"; // <--- เปลี่ยน!!! ถ่าน _sWiFi_Password ="YourWifFiPassword"; // <--- เปลี่ยน!!! // รายละเอียดบัญชีผู้ใช้ Kapow ของคุณ: char _sKapow_User ="YourKapowAccount"; // <--- เปลี่ยน!!! ถ่าน _sKapow_Password ="YourKapowPassword"; // <--- เปลี่ยน !!! char _sKapow_Mobile ="มือถือของคุณ"; // >>> เปลี่ยนรายละเอียดด้านบน */ // ปุ่มเชื่อมต่อกับ GP0 Pin const int gp0_Pin = 0; const int iMaxAttempts = 10; int gp0_State = 0; การตั้งค่าเป็นโมฆะ () { Serial.begin (9600); Serial.println("\nDemo: ส่ง SMS ผ่าน KAPOW"); // เริ่มต้นพินปุ่มกดเป็นอินพุต // และดึงขึ้นสูง (ภายใน) pinMode(gp0_Pin, INPUT_PULLUP); // สร้างการเชื่อมต่อ Wifi WifiConnect(); } วงเป็นโมฆะ () { // อ่านสถานะปุ่มกด gp0_State = digitalRead (gp0_Pin); // ปุ่มกดถูกกดต่ำหรือไม่? ถ้า (gp0_State==0) { Serial.println ("กดปุ่มเพื่อส่ง SMS…"); SendSmsKapow(_sKapow_Mobile, "This+is+a+Test+SMS+Message+sent+from+your+ESP+device"); } Serial.println("หลับไป 1 วินาที"); ล่าช้า (1000); } ถือเป็นโมฆะ WifiConnect() { Serial.print("\nการเชื่อมต่อกับ WiFi: "); Serial.println(_sWiFi_SSID); WiFi.begin(_sWiFi_SSID, _sWiFi_Password); while (WiFi.status() != WL_CONNECTED) { // ลองอีกครั้งหลังจาก Serial.print ตัวที่สอง ("."); ล่าช้า (1000); } if (WiFi.status() == WL_CONNECTED) Serial.println("เชื่อมต่อกับ WiFi"); } bool SendSmsKapow (ถ่าน * sMobile, ถ่าน * sMessage) { ลูกค้า WiFiClientSms; int iAttempts=0; Serial.print("กำลังเชื่อมต่อกับโฮสต์ KAPOW"); ในขณะที่ (!clientSms.connect (_sKapow_Host, _iKapow_Port)) { Serial.print ("."); iAttempts++; ถ้า (iAttempts > iMaxAttempts) { Serial.println ("\nไม่สามารถเชื่อมต่อกับ KAPOW"); คืนค่าจริง; } ล่าช้า (1000); } Serial.println("\nเชื่อมต่อกับ KAPOW"); ล่าช้า (1000); Serial.println("กำลังส่งคำขอ HTTP ไปยัง KAPOW:"); //ตัวอย่างคำขอ GET จะเป็น: //https://www.kapow.co.uk/scripts/sendsms.php?username=test&password=test&mobile=07777123456&sms=Test+message char sHttp[500]= ""; strcat(sHttp, "GET /scripts/sendsms.php?username="); strcat(sHttp, _sKapow_User); strcat(sHttp, "&รหัสผ่าน="); strcat(sHttp, _sKapow_Password); strcat(sHttp, "&mobile="); strcat(sHttp, sMobile); strcat(sHttp, "&sms="); strcat(sHttp, sMessage); strcat(sHttp, "&returnid=TRUE\n\n"); Serial.println(sHttp); ลูกค้าSms.print(sHttp); Serial.println("รอการตอบกลับ (10 วินาที)…"); ล่าช้า (10 * 1,000); ถ่าน sReply[100] = ""; int iPos = 0; ในขณะที่ (clientSms.available ()) { ถ่าน c = clientSms.read (); Serial.print(c); ตอบกลับ[iPos] = c; ไอพอส++; ถ้า (iPos == 99) แตก; } sReply[iPos] = '\0'; // ตรวจสอบว่าการตอบกลับมี OK bool bResult = (strstr(sReply, "OK") หรือไม่ != NULL); if (bResult) Serial.println("\nSMS: ส่งสำเร็จแล้ว"); อื่น Serial.println("\nSMS: ไม่สามารถส่ง"); if (!clientSms.connected()) { Serial.println ("กำลังตัดการเชื่อมต่อจาก KAPOW"); ลูกค้าSms.stop(); } ส่งคืน bResult; }

ขั้นตอนที่ 5: แฟลชรหัส

แฟลชรหัส
แฟลชรหัส
แฟลชรหัส
แฟลชรหัส

มีคำแนะนำโดยละเอียดอื่น ๆ อีกมากมายที่แสดงวิธีแฟลชโปรแกรมอุปกรณ์ ESP8266 ดังนั้นฉันจะให้ภาพรวมของการตั้งค่าของฉัน โดยสังเขป ฉันใช้อินเทอร์เฟซ aUSB กับ Serial FTDI และดึง GP0 ต่ำเมื่อรีเซ็ตเพื่อเริ่มกระบวนการบูตโหลดเดอร์ ฉันสร้างอุปกรณ์เขียนโปรแกรมสตริปบอร์ดของตัวเองเพื่อความสะดวก มันมี * ซ็อกเก็ตสำหรับอุปกรณ์ ESP-01 * ซ็อกเก็ตสำหรับอินเทอร์เฟซ FTDI สีแดงเพื่อเสียบเข้ากับโฮสต์พีซีผ่าน USB * ปุ่มสำหรับ RESET, GP0, GP2 TO GROUND คุณสามารถแฟลชอุปกรณ์ ESP โดยใช้ 3.3v ที่จัดทำโดย FTDI อินเตอร์เฟซ. ตรวจสอบให้แน่ใจว่าการตั้งค่าจัมเปอร์ FTDI ถูกตั้งค่าเป็น 3.3v ด้วย

ขั้นตอนที่ 6: กดปุ่ม

กดปุ่ม !
กดปุ่ม !
กดปุ่ม !
กดปุ่ม !
กดปุ่ม !
กดปุ่ม !
กดปุ่ม !
กดปุ่ม !

คุณสามารถทดสอบโปรเจ็กต์ที่เชื่อมต่อกับ FTDI สำหรับเอาต์พุตการบันทึกแบบอนุกรม หรือแบบสแตนด์อโลน (บนเขียงหั่นขนมที่มีแหล่งจ่ายไฟภายนอก) ขอแนะนำให้คุณใช้แหล่งจ่ายไฟ 3.3v ภายนอก เนื่องจากกระแสไฟของ FTDI นั้นมีค่า erak อย่างไรก็ตาม การจ่ายไฟ FTDI 3.3v ก็ใช้ได้กับฉันเช่นกัน เนื่องจากเราเตอร์ไร้สายของฉันอยู่ใกล้แค่เอื้อม ปล่อยให้ ESP เชื่อมต่อกับพอร์ตอนุกรม/usb เพื่อให้คุณสามารถตรวจสอบบันทึกการดีบักแบบอนุกรมที่ทำงานอยู่ได้โดยใช้ Serial Monitor ของ Arduino IDE เปิดเครื่อง…กด ปุ่มที่เชื่อมต่อกับ GP0 การดำเนินการนี้จะส่งข้อความ SMS ตามด้านล่าง ตรวจสอบโทรศัพท์ของคุณสำหรับข้อความ SMS ที่ได้รับ งานเสร็จสิ้น

แนะนำ: