Isi kandungan:

Cara Menghantar Mesej Teks SMS Dari Projek ESP Arduino Anda: 6 Langkah
Cara Menghantar Mesej Teks SMS Dari Projek ESP Arduino Anda: 6 Langkah

Video: Cara Menghantar Mesej Teks SMS Dari Projek ESP Arduino Anda: 6 Langkah

Video: Cara Menghantar Mesej Teks SMS Dari Projek ESP Arduino Anda: 6 Langkah
Video: IOT Universal Telegram BOT Work untuk ESP32 & ESP8266 FIX 2022 - Versi Tombol tanpa ketik perintah 2024, November
Anonim
Cara Menghantar Mesej Teks SMS Dari Projek ESP Arduino Anda
Cara Menghantar Mesej Teks SMS Dari Projek ESP Arduino Anda

Instruksional ini menunjukkan cara mengirim pesanan teks SMS dari projek arduino anda menggunakan peranti ESP8266 dan sambungan WiFi. Mengapa menggunakan SMS? * Mesej SMS jauh lebih pantas dan boleh dipercayai daripada mesej pemberitahuan aplikasi. * Mesej SMS juga dapat diterima di mana sambungan data mudah alih tidak tersedia ke peranti ESP. Untuk projek anda ini boleh dicetuskan pada beberapa pencetus atau status acara lain

Langkah 1: Bahagian

Bahagian
Bahagian
Bahagian
Bahagian

Untuk demo ini, anda memerlukan: * ESP8266 peranti. Saya memilih pakej ESP-01, tetapi pakej / peranti ESP lain juga boleh berfungsi. * Bekalan 3.3v * Sambungan WiFi * Akaun SMS Kapow * Arduino IDE * Modul pengaturcaraan ESP8266.

Langkah 2: Penyedia SMS

Dalam projek ini, mesej teks SMS dihantar melalui pintu masuk SMS di internet. Untuk ini, anda perlu melanggan pembekal SMS. Pelanggan biasanya dikenakan bayaran setiap pesanan teks. Penyedia perkhidmatan SMS yang saya pilih adalah KAPOW. Saya mendapati bahawa kebanyakan penyedia SMS di UK hanya akan berurusan dengan Syarikat Terhad, dan bukan individu. Walau bagaimanapun, KAPOW menyediakan, dan menyediakan perkhidmatan yang boleh dipercayai dan menjimatkan kos. Untuk membuka akaun SMS Kapow, lawati pautan di bawah.

www.kapow.co.uk

Langkah 3: Pendawaiannya

Pendawaiannya
Pendawaiannya

Gambar rajah pendawaian untuk projek ini ada di atas

Langkah 4: Kodnya

// Projek Demo ESP8266 untuk Menghantar SMS melalui 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; / * <<<< TUKAR BUTIRAN DI BAWAH * / // Butiran WiFi anda: char _sWiFi_SSID = "YourWifiPoint"; // <--- TUKAR !!! char _sWiFi_Password = "YourWifFiPassword"; // <--- TUKAR !!! // Butiran Akaun Pengguna Kapow Anda: char _sKapow_User = "YourKapowAccount"; // <--- TUKAR !!! char _sKapow_Password = "YourKapowPassword"; // <--- TUKAR !!! char _sKapow_Mobile = "YourMobile"; // >>> TUKAR BUTIRAN DI ATAS * / // butang disambungkan ke GP0 Pin const int gp0_Pin = 0; const int iMaxAttempts = 10; int gp0_State = 0; batal persediaan () {Serial.begin (9600); Serial.println ("\ nDemo: Hantar SMS melalui KAPOW"); // memulakan pin tekan butang sebagai input // dan tarik pinMode tinggi (dalaman) (gp0_Pin, INPUT_PULLUP); // buat sambungan Wifi WifiConnect (); } gelung void () {// baca butang tekan keadaan gp0_State = digitalRead (gp0_Pin); // adakah butang tekan ditekan rendah? if (gp0_State == 0) {Serial.println ("Butang Ditekan untuk Menghantar SMS …"); SendSmsKapow (_sKapow_Mobile, "Ini + adalah + a + Uji + SMS + Mesej + dihantar + dari + peranti + ESP + anda"); } Serial.println ("Tidur selama 1 saat"); kelewatan (1000); } batal WifiConnect () {Serial.print ("\ nSambungan ke WiFi:"); Serial.println (_sWiFi_SSID); WiFi.begin (_sWiFi_SSID, _sWiFi_Password); sementara (WiFi.status ()! = WL_CONNECTED) {// cuba lagi selepas Serial.print kedua ("."); kelewatan (1000); } jika (WiFi.status () == WL_CONNECTED) Serial.println ("Disambungkan ke WiFi"); } bool SendSmsKapow (char * sMobile, char * sMessage) {WiFiClient clientSms; int iAttempts = 0; Serial.print ("Menyambung ke hos KAPOW"); sementara (! clientSms.connect (_sKapow_Host, _iKapow_Port)) {Serial.print ("."); iAttempts ++; jika (iAttempts> iMaxAttempts) {Serial.println ("\ n Gagal Menyambung ke KAPOW"); kembali benar; } kelewatan (1000); } Serial.println ("\ nSambungan ke KAPOW"); kelewatan (1000); Serial.println ("Menghantar permintaan HTTP ke KAPOW:"); // Contoh permintaan GET ialah: //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, "& kata laluan ="); strcat (sHttp, _sKapow_Password); strcat (sHttp, "& mobile ="); strcat (sHttp, sMobile); strcat (sHttp, "& sms ="); strcat (sHttp, sMessage); strcat (sHttp, "& returnid = BENAR / n / n"); Serial.println (sHttp); clientSms.print (sHttp); Serial.println ("Menunggu tindak balas (10 saat) …"); kelewatan (10 * 1000); char sReply [100] = ""; int iPos = 0; sementara (clientSms.available ()) {char c = clientSms.read (); Cetakan bersiri (c); sReply [iPos] = c; iPos ++; jika (iPos == 99) pecah; } sReply [iPos] = '\ 0'; // periksa sama ada balasan mengandungi OK bool bResult = (strstr (sReply, "OK")! = NULL); if (bResult) Serial.println ("\ nSMS: Berhasil dihantar"); lain Serial.println ("\ nSMS: Gagal Menghantar"); jika (! clientSms.connected ()) {Serial.println ("Putuskan sambungan dari KAPOW"); clientSms.stop (); } kembali bResult; }

Langkah 5: Flash Kod

Flash Kod
Flash Kod
Flash Kod
Flash Kod

Terdapat banyak arahan terperinci lain yang menunjukkan cara mem-flash peranti ESP8266. Oleh itu, saya hanya akan memberikan gambaran keseluruhan penyediaan saya. Ringkasnya, saya menggunakan antara muka aUSB hingga Serial FTDI, dan menarik GP0 rendah pada set semula untuk memulakan proses pemuatan bootloader. Saya membina peranti pengaturcaraan papan jalur saya sendiri untuk kemudahan. Ia mempunyai * soket untuk peranti ESP-01 * soket untuk antara muka FTDI berwarna merah untuk dihubungkan ke host PC melalui USB. * Butang untuk RESET, GP0, GP2 KE GROUND Anda boleh memancarkan peranti ESP menggunakan 3.3v yang disediakan oleh FTDI antara muka. Pastikan tetapan pelompat FTDI juga ditetapkan ke 3.3v.

Langkah 6: Tekan Butang

Tekan butang !
Tekan butang !
Tekan butang !
Tekan butang !
Tekan butang !
Tekan butang !
Tekan butang !
Tekan butang !

Anda boleh menguji projek sama ada disambungkan ke FTDI untuk output pembalakan bersiri, atau mandiri (pada papan roti dengan bekalan kuasa luaran). Adalah disarankan anda menggunakan bekalan 3.3v luaran, kerana arus bekalan FTDI tidak sesuai. Walau bagaimanapun, bekalan FTDI 3.3v juga berfungsi untuk saya, kerana penghala wifi saya berada dalam jangkauan senjata. Biarkan ESP disambungkan ke port siri / usb sehingga anda dapat memantau log debug bersiri yang sedang berjalan menggunakan Monitor Serial Arduino IDE. Pada kuasa … Tekan butang disambungkan ke GP0. Ini akan menghantar mesej SMS seperti di bawah. Periksa telefon anda untuk mendapatkan mesej teks SMS yang diterima. Kerja selesai.

Disyorkan: