Turinys:

Kaip siųsti SMS tekstinius pranešimus iš „Arduino ESP“projekto: 6 žingsniai
Kaip siųsti SMS tekstinius pranešimus iš „Arduino ESP“projekto: 6 žingsniai

Video: Kaip siųsti SMS tekstinius pranešimus iš „Arduino ESP“projekto: 6 žingsniai

Video: Kaip siųsti SMS tekstinius pranešimus iš „Arduino ESP“projekto: 6 žingsniai
Video: LDmicro 13: HC-05 Управление через приложение Bluetooth для телефона (программирование ПЛК микроконтроллера с помощью LDmicro) 2024, Lapkritis
Anonim
Kaip siųsti SMS tekstinius pranešimus iš „Arduino ESP“projekto
Kaip siųsti SMS tekstinius pranešimus iš „Arduino ESP“projekto

Ši instrukcija parodo, kaip siųsti SMS tekstinius pranešimus iš „arduino“projekto naudojant ESP8266 įrenginį ir „WiFi“ryšį. Kodėl naudoti SMS?* SMS žinutės yra daug greitesnės ir patikimesnės nei pranešimai apie programas. * SMS žinutes taip pat galima gauti ten, kur nėra mobiliųjų duomenų ryšių į ESP įrenginį. Jūsų projektui tai gali būti suaktyvinta pagal kitą aktyviklį ar įvykio būseną

1 žingsnis: dalys

Dalys
Dalys
Dalys
Dalys

Šiai demonstracijai jums reikės:* ESP8266 įrenginio. Aš pasirinkau paketą ESP-01, bet turėtų veikti ir bet kuris kitas ESP paketas/įrenginys.* 3.3v tiekimas* WiFi ryšys* Kapow SMS paskyra* Arduino IDE* ESP8266 programavimo modulis.

2 veiksmas: SMS teikėjas

Šiame projekte SMS žinutės siunčiamos per SMS šliuzą internete. Norėdami tai padaryti, turite užsisakyti SMS teikėją. Prenumeratoriai paprastai apmokestinami už tekstines žinutes. Mano pasirinktas SMS paslaugų teikėjas yra KAPOW. Radau, kad dauguma SMS teikėjų Jungtinėje Karalystėje užsiims tik ribotos atsakomybės bendrovėmis, o ne asmenimis. Tačiau „KAPOW“teikia patikimas ir ekonomiškas paslaugas. Jei norite atidaryti „Kapow“SMS sąskaitą, apsilankykite žemiau esančioje nuorodoje.

www.kapow.co.uk

3 žingsnis: prijunkite

Sujungimas
Sujungimas

Šio projekto prijungimo schema pateikta aukščiau

4 žingsnis: Kodas

// ESP8266 demonstracinis projektas, skirtas siųsti SMS per 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; / * <<<< PAKEISKITE ATSIŽVELGIANT Į DUOMENIS */ // Jūsų „WiFi“informacija: char _sWiFi_SSID = "YourWifiPoint"; // <--- PAKEISTI !!! char _sWiFi_Password = "JūsųWifFiPassword"; // <--- PAKEISTI !!! // Jūsų „Kapow“vartotojo abonemento informacija: char _sKapow_User = "YourKapowAccount"; // <--- PAKEISTI !!! char _sKapow_Password = "YourKapowPassword"; // <--- PAKEISTI !!! char _sKapow_Mobile = "Tavo mobilusis"; // >>> PAKEISTI DUOMENIS AUKŠČIAU */ // mygtukas prijungtas prie GP0 Pin const int gp0_Pin = 0; const int iMaxAtt bandymai = 10; int gp0_State = 0; void setup () {Serial.begin (9600); Serial.println ("\ nDemo: Siųsti SMS per KAPOW"); // inicijuokite mygtuko kaištį kaip įvestį // ir patraukite aukštyn (viduje) pinMode (gp0_Pin, INPUT_PULLUP); // užmegzti Wifi ryšį WifiConnect (); } void loop () {// skaityti mygtuko būseną gp0_State = digitalRead (gp0_Pin); // ar spaudimo mygtukas žemai nuspaustas? if (gp0_State == 0) {Serial.println ("Paspaudus mygtuką siųsti SMS …"); SendSmsKapow (_sKapow_Mobile, „Tai+yra+a+testas+SMS+pranešimas+išsiųstas+iš+jūsų+ESP+įrenginio“); } Serial.println ("Miegas 1 sekundę"); vėlavimas (1000); } void WifiConnect () {Serial.print ("\ nJungiamasi prie" WiFi ":"); Serial.println (_sWiFi_SSID); „WiFi.begin“(_sWiFi_SSID, _sWiFi_Password); while (WiFi.status ()! = WL_CONNECTED) {// bandykite dar kartą po antro Serial.print ("."); vėlavimas (1000); } if („WiFi.status () == WL_CONNECTED“Serial.println („Prisijungta prie„ WiFi “); } bool SendSmsKapow (char* sMobile, char* sMessage) {WiFiClient clientSms; int iAtt bandymai = 0; Serial.print („Prisijungimas prie KAPOW pagrindinio kompiuterio“); while (! clientSms.connect (_sKapow_Host, _iKapow_Port)) {Serial.print ("."); „iAtt bandymai“++; if (iAtt bandymai> iMaxAtt bandymai) {Serial.println ("\ nNepavyko prisijungti prie KAPOW"); grįžti tiesa; } uždelsimas (1000); } Serial.println ("\ nPrijungta prie KAPOW"); vėlavimas (1000); Serial.println ("Siunčia HTTP užklausą KAPOW:"); // GET užklausos pavyzdys būtų: //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, "& slaptažodis ="); 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); clientSms.print (sHttp); Serial.println ("Laukiama atsakymo (10 sekundžių) …"); vėlavimas (10 * 1000); char sReply [100] = ""; int iPos = 0; while (clientSms.available ()) {char c = clientSms.read (); Serijinis atspaudas (c); sAtsakykite [iPos] = c; „iPos ++“; jei (iPos == 99) pertrauka; } sAtsakykite [iPos] = '\ 0'; // patikrinkite, ar atsakyme yra OK bool bResult = (strstr (sAtsakykite, "Gerai")! = NULL); if (bResult) Serial.println ("\ nSMS: sėkmingai išsiųstas"); else Serial.println ("\ nSMS: nepavyko išsiųsti"); if (! clientSms.connected ()) {Serial.println ("Atsijungimas nuo KAPOW"); clientSms.stop (); } return bResult; }

5 veiksmas: paleiskite kodą

„Flash“kodas
„Flash“kodas
„Flash“kodas
„Flash“kodas

Yra daug kitų išsamių instrukcijų, rodančių, kaip programuoti ESP8266 įrenginį. Taigi aš tik apžvelgsiu savo sąranką. Trumpai tariant, aš naudoju aUSB į serijinę FTDI sąsają ir, norėdamas paleisti įkrovos įkrovos mirksėjimo procesą, žemai išjungdamas GP0. Aš sukūriau savo juostinį programavimo įrenginį. Jame yra* lizdas, skirtas ESP-01 įrenginiui*, raudonos FTDI sąsajos lizdas, skirtas prijungti prie kompiuterio pagrindinio kompiuterio per USB. sąsaja. Įsitikinkite, kad FTDI trumpiklio nustatymai taip pat nustatyti į 3.3v.

6 žingsnis: Paspauskite mygtuką

Paspausk mygtuką !
Paspausk mygtuką !
Paspausk mygtuką !
Paspausk mygtuką !
Paspausk mygtuką !
Paspausk mygtuką !
Paspausk mygtuką !
Paspausk mygtuką !

Galite išbandyti projektą, prijungtą prie FTDI, kad gautumėte serijinį registravimo išvestį, arba atskirą (ant lentos su išoriniu maitinimo šaltiniu). Rekomenduojama naudoti išorinį 3,3 V maitinimo šaltinį, nes FTDI maitinimo srovė yra išskirtinė. Tačiau FTDI 3.3v tiekimas man taip pat padėjo, nes mano „Wi -Fi“maršrutizatorius buvo ranka pasiekiamas. Palikite ESP prijungtą prie nuoseklaus/USB prievado, kad galėtumėte stebėti veikiantį nuoseklų derinimo žurnalą naudodami „Arduino IDE“serijos monitorių. Įjungus… mygtukas prijungtas prie GP0. Tai išsiųs SMS žinutę, kaip nurodyta toliau. Patikrinkite, ar jūsų telefone nėra gautos SMS žinutės. Darbas atliktas.

Rekomenduojamas: