Paano Magpadala ng Mga Mensahe sa Teksto ng SMS Mula sa Iyong Arduino ESP Project: 6 na Hakbang
Paano Magpadala ng Mga Mensahe sa Teksto ng SMS Mula sa Iyong Arduino ESP Project: 6 na Hakbang
Anonim
Paano Magpadala ng Mga Mensahe sa Teksto ng SMS Mula sa Iyong Arduino ESP Project
Paano Magpadala ng Mga Mensahe sa Teksto ng SMS Mula sa Iyong Arduino ESP Project

Ipinapakita ng itinuturo na ito kung paano magpadala ng mga text message mula sa iyong proyekto ng arduino gamit ang isang aparato na ESP8266 at isang koneksyon sa WiFi. Bakit gumagamit ng SMS? * Ang mga mensahe sa SMS ay mas mabilis at maaasahan kaysa sa mga mensahe sa abiso ng app. * Ang mga mensahe sa SMS ay maaari ring matanggap kung saan ang mga koneksyon ng data ng mobile ay hindi magagamit * Walang kailangang mai-install ang isang application ng 3rd party sa isang smartphone. * Mahalaga ang SMS para sa mga kritikal na aplikasyon ng mensahe. Nagpapadala lamang ang proyektong ito ng isang text message sa SMS sa pagpindot sa isang pindutan na naka-wire sa aparato ng ESP. Para sa iyong proyekto maaari itong ma-trigger sa ilang iba pang katayuan ng pag-trigger o kaganapan

Hakbang 1: Mga Bahagi

Mga Bahagi
Mga Bahagi
Mga Bahagi
Mga Bahagi

Para sa demo na ito, kakailanganin mo ang: * ESP8266 aparato. Pinili ko ang package na ESP-01, ngunit ang anumang iba pang package / aparato ng ESP ay dapat ding gumana. * 3.3v supply * Koneksyon sa WiFi * Kapow SMS account * Arduino IDE * Modul ng Programming ng ESP8266.

Hakbang 2: Nagbibigay ng SMS

Sa proyektong ito, ang mga text message sa SMS ay ipinapadala sa pamamagitan ng isang SMS gateway sa internet. Para sa mga ito kakailanganin mong mag-subscribe sa isang tagapagbigay ng SMS. Ang mga tagasuskribi ay karaniwang sisingilin sa bawat batayan sa text message. Ang aking napiling tagapagbigay ng serbisyo sa SMS ay KAPOW. Nalaman ko na ang karamihan sa mga tagabigay ng SMS sa UK ay makikipag-usap lamang sa Mga Limitadong Kumpanya, at hindi mga indibidwal. Gayunpaman, ang KAPOW ay, at nagbibigay ng isang maaasahan at mabisang serbisyo. Upang buksan ang isang Kapow SMS account, bisitahin ang link sa ibaba.

www.kapow.co.uk

Hakbang 3: Pag-kable Nito

Kable It Up
Kable It Up

Ang diagram ng mga kable para sa proyektong ito ay nasa itaas

Hakbang 4: Ang Code

// ESP8266 Demo Project upang Magpadala ng SMS sa pamamagitan ng 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; / * <<<< PALITAN ANG MGA DETALYE SA BAWAL * / // Ang iyong mga detalye sa WiFi: char _sWiFi_SSID = "YourWifiPoint"; // <--- PAGBABAGO !!! char _sWiFi_Password = "YourWifFiPassword"; // <--- PAGBABAGO !!! // Your Kapow User Account Details: char _sKapow_User = "YourKapowAccount"; // <--- PAGBABAGO !!! char _sKapow_Password = "YourKapowPassword"; // <--- PAGBABAGO !!! char _sKapow_Mobile = "YourMobile"; // >>> PALITAN ANG MGA DETALYE SA Itaas * / // na pindutan ay konektado sa GP0 Pin const int gp0_Pin = 0; const int iMaxAttempts = 10; int gp0_State = 0; void setup () {Serial.begin (9600); Serial.println ("\ nDemo: Magpadala ng SMS sa pamamagitan ng KAPOW"); // ipasimula ang pushbutton pin bilang isang input // at hilahin ito nang mataas (panloob) pinMode (gp0_Pin, INPUT_PULLUP); // magtatag ng koneksyon sa Wifi na WifiConnect (); } void loop () {// read push button state gp0_State = digitalRead (gp0_Pin); // ang press button ay pinindot nang mababa? kung (gp0_State == 0) {Serial.println ("Button Pressed to Send SMS …"); SendSmsKapow (_sKapow_Mobile, "Ito + ay + isang + Pagsubok + SMS + Mensahe + na naipadala + mula + sa + iyong + aparatong + ESP"); } Serial.println ("Natutulog nang 1 segundo"); pagkaantala (1000); } void WifiConnect () {Serial.print ("\ nKonekta sa WiFi:"); Serial.println (_sWiFi_SSID); WiFi.begin (_sWiFi_SSID, _sWiFi_Password); habang (WiFi.status ()! = WL_CONNected) {// subukang muli pagkatapos ng pangalawang Serial.print ("."); pagkaantala (1000); } kung (WiFi.status () == WL_CONNected) Serial.println ("Nakakonekta sa WiFi"); } bool SendSmsKapow (char * sMobile, char * sMessage) {WiFiClient clientSms; int iAttempts = 0; Serial.print ("Kumokonekta sa host ng KAPOW"); habang (! clientSms.connect (_sKapow_Host, _iKapow_Port)) {Serial.print ("."); iAttempts ++; kung (iAttempts> iMaxAttempts) {Serial.println ("\ nFailed to Connect to KAPOW"); bumalik totoo; } pagkaantala (1000); } Serial.println ("\ n Nakakonekta sa KAPOW"); pagkaantala (1000); Serial.println ("Nagpadala ng kahilingan sa HTTP sa KAPOW:"); // Isang halimbawang hiling sa GET ay magiging: //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, "& password ="); strcat (sHttp, _sKapow_Password); strcat (sHttp, "& mobile ="); strcat (sHttp, sMobile); strcat (sHttp, "& sms ="); strcat (sHttp, sMessage); strcat (sHttp, "& returnid = TUNAY / n / n"); Serial.println (sHttp); clientSms.print (sHttp); Serial.println ("Naghihintay para sa tugon (10 sec) …"); pagkaantala (10 * 1000); char sReply [100] = ""; int iPos = 0; habang (clientSms.available ()) {char c = clientSms.read (); Serial.print (c); sReply [iPos] = c; Mga iPhone ++; kung (iPos == 99) masira; } sReply [iPos] = '\ 0'; // check kung naglalaman ang tugon ng OK bool bResult = (strstr (sReply, "OK")! = NULL); kung (bResult) Serial.println ("\ nSMS: Matagumpay na naipadala"); kung hindi man Serial.println ("\ nSMS: Nabigong Ipadala"); kung (! clientSms.connected ()) {Serial.println ("Nakakonekta mula sa KAPOW"); clientSms.stop (); } ibalik ang bResult; }

Hakbang 5: I-flash ang Code

I-flash ang Code
I-flash ang Code
I-flash ang Code
I-flash ang Code

Mayroong maraming iba pang mga detalyadong mga itinuturo na nagpapakita kung paano i-flash ang programa ng isang aparatong ESP8266. Magbibigay lamang ako ng isang pangkalahatang ideya ng aking pag-setup. Sa madaling sabi, gumagamit ako ng aUSB sa Serial FTDI interface, at hilahin ang GP0 mababa sa pag-reset upang simulan ang proseso ng pag-flashing ng bootloader. Binuo ko ang aking sariling aparato ng stripboard program para sa kaginhawaan. Mayroon itong * isang socket para sa isang aparatong ESP-01 * isang socket para sa pulang interface ng FTDI upang mai-plug sa host ng PC sa pamamagitan ng USB. * Mga Pindutan para sa RESET, GP0, GP2 TO GROUND Maaari mong i-flash ang aparatong ESP gamit ang 3.3v na ibinigay ng FTDI interface Tiyaking ang mga setting ng jumper ng FTDI ay nakatakda din sa 3.3v.

Hakbang 6: Pindutin ang Button

Pindutin ang Pindutan!
Pindutin ang Pindutan!
Pindutin ang Pindutan!
Pindutin ang Pindutan!
Pindutin ang Pindutan!
Pindutin ang Pindutan!
Pindutin ang Pindutan!
Pindutin ang Pindutan!

Maaari mong subukan ang proyekto alinman sa konektado sa FTDI para sa output ng serial logging, o standalone (sa breadboard na may panlabas na supply ng kuryente) Ito ay muling pinapayo na gagamitin mo ang isang panlabas na supply ng 3.3v, dahil ang kasalukuyang supply ng FTDI ay nabura. Gayunpaman, ang FTDI 3.3v supply ay nagtrabaho din para sa akin, dahil ang aking wifi router ay nasa loob ng mga armas. Iwanan ang ESP na konektado sa serial / usb port upang masubaybayan mo ang tumatakbo na serial debug log gamit ang Serial Monitor ng Arduino IDE. Sa powerup… Pindutin ang pindutan na konektado sa GP0. Ipapadala nito ang mensahe ng SMS sa ibaba. Suriin ang iyong telepono para sa natanggap na text message sa SMS. Tapos na si Job.