Kuidas saata tekstisõnumeid oma Arduino ESP projektist: 6 sammu
Kuidas saata tekstisõnumeid oma Arduino ESP projektist: 6 sammu
Anonim
Kuidas saata tekstisõnumeid oma Arduino ESP projektist
Kuidas saata tekstisõnumeid oma Arduino ESP projektist

See juhendab, kuidas ESP8266 seadme ja WiFi -ühenduse kaudu oma arduino projektist SMS -e saata. Miks kasutada SMS -i?* SMS -sõnumid on palju kiiremad ja usaldusväärsemad kui rakenduste teavitussõnumid. * SMS -sõnumeid saab vastu võtta ka siis, kui mobiilne andmesideühendus pole saadaval ESP -seadmesse. Teie projekti puhul võib see käivituda mõne muu päästiku või sündmuse oleku korral

Samm: osad

Osad
Osad
Osad
Osad

Selle demo jaoks vajate:* ESP8266 seadet. Valisin paketi ESP-01, kuid ka kõik muud ESP paketid/seadmed peaksid töötama.* 3.3v toide* WiFi ühendus* Kapow SMS konto* Arduino IDE* ESP8266 programmeerimismoodul.

Samm: SMS -i pakkuja

Selles projektis saadetakse SMS -tekstsõnumid Internetis SMS -lüüsi kaudu. Selleks peate tellima SMS -teenuse pakkuja. Abonentide eest võetakse tavaliselt tasu tekstsõnumite alusel. Minu valitud SMS -teenuse pakkuja on KAPOW. Leidsin, et enamik Ühendkuningriigi SMS -i pakkujaid tegeleb ainult piiratud vastutusega äriühingutega, mitte üksikisikutega. Kuid KAPOW teeb seda ning pakub usaldusväärset ja tasuvat teenust. Kapow SMS -i konto avamiseks külastage allolevat linki.

www.kapow.co.uk

Samm: ühendage see kokku

Juhtmestik
Juhtmestik

Selle projekti ühendusskeem on ülal

4. samm: kood

// ESP8266 demoprojekt SMS -i saatmiseks KAPOW kaudu (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; / * <<<< MUUTA ÜKSIKASJAD ALLA */ // Sinu WiFi üksikasjad: char _sWiFi_SSID = "YourWifiPoint"; // <--- MUUTUS !!! char _sWiFi_Password = "SinuWifFiParool"; // <--- MUUTUS !!! // Teie Kapow kasutajakonto andmed: char _sKapow_User = "YourKapowAccount"; // <--- MUUTUS !!! char _sKapow_Password = "SinuKapowPassword"; // <--- MUUTUS !!! char _sKapow_Mobile = "Sinu mobiil"; // >>> VAHETA ÜKSIKASJAD ÜLES */ // nupp on ühendatud GP0 -ga Pin pin int gp0_Pin = 0; const int iMaxAttresses = 10; int gp0_riik = 0; void setup () {Serial.begin (9600); Serial.println ("\ nDemo: Saada SMS KAPOW kaudu"); // lähtestada surunupu nööpnõel sisendina // ja tõmmata see kõrgele (sisemiselt) pinMode (gp0_Pin, INPUT_PULLUP); // Wifi ühenduse loomine WifiConnect (); } void loop () {// loe surunupu olekut gp0_State = digitalRead (gp0_Pin); // kas vajutusnupp on madalal vajutatud? if (gp0_State == 0) {Serial.println ("SMS -i saatmiseks vajutatakse nuppu …"); SendSmsKapow (_sKapow_Mobile, "See+on+a+test+SMS+sõnum+saadetud+teie+ESP+seadmest"); } Serial.println ("1 sekundi magamine"); viivitus (1000); } void WifiConnect () {Serial.print ("\ nÜhendus WiFi -ga:"); Serial.println (_sWiFi_SSID); WiFi.begin (_sWiFi_SSID, _sWiFi_Password); while (WiFi.status ()! = WL_CONNECTED) {// proovi uuesti pärast teist Serial.print ("."); viivitus (1000); } if (WiFi.status () == WL_CONNECTED) Serial.println ("Ühendatud WiFi -ga"); } bool SendSmsKapow (char* sMobile, char* sMessage) {WiFiClient clientSms; int iAttifications = 0; Serial.print ("Ühendamine KAPOW hostiga"); while (! clientSms.connect (_sKapow_Host, _iKapow_Port)) {Serial.print ("."); iProovid ++; if (iAttifications> iMaxAttifications) {Serial.println ("\ nKAPOW -ga ühenduse loomine ebaõnnestus"); tagastama tõene; } viivitus (1000); } Serial.println ("\ nÜhendatud KAPOW -ga"); viivitus (1000); Serial.println ("HTTP -päringu saatmine KAPOW -le:"); // GET -taotluse näide oleks järgmine: //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, "& parool ="); 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 ("Vastust oodates (10 sekundit) …"); viivitus (10 * 1000); char sReply [100] = ""; int iPos = 0; while (clientSms.available ()) {char c = clientSms.read (); Seeriatrükk (c); sVastavalt [iPos] = c; iPos ++; if (iPos == 99) break; } sVasta [iPos] = '\ 0'; // kontrollige, kas vastus sisaldab OK bool bResult = (strstr (sVastuseks "OK")! = NULL); if (bResult) Serial.println ("\ nSMS: edukalt saadetud"); else Serial.println ("\ nSMS: saatmine ebaõnnestus"); if (! clientSms.connected ()) {Serial.println ("Katkestamine KAPOW -st"); clientSms.stop (); } return bResult; }

Samm: välgutage koodi

Välgutage koodi
Välgutage koodi
Välgutage koodi
Välgutage koodi

Seal on palju muid üksikasjalikke juhiseid, mis näitavad, kuidas ESP8266 seadet programmeerida. Nii et ma annan lihtsalt ülevaate oma seadistustest. Lühidalt öeldes kasutan aUSB -st Serial FTDI -liidest ja tõmban alglaaduri vilkumisprotsessi käivitamiseks GP0 madalaks. Ma ehitasin mugavuse huvides oma ribalaua programmeerimisseadme. Sellel on* pistikupesa ESP-01 seadme jaoks* pistikupesa punase FTDI-liidese jaoks, et ühendada arvuti USB-porti.* Nupud RESET, GP0, GP2 TO GROUND ESP-seadet saate välgutada, kasutades FTDI tarnitud 3.3V liides. Veenduge, et ka FTDI hüppaja seaded on seatud väärtusele 3.3v.

Samm: vajutage nuppu

Vajuta nuppu !
Vajuta nuppu !
Vajuta nuppu !
Vajuta nuppu !
Vajuta nuppu !
Vajuta nuppu !
Vajuta nuppu !
Vajuta nuppu !

Saate katsetada projekti, mis on ühendatud FTDI -ga jada logimise väljundi jaoks või eraldiseisev (välise toiteallikaga leivaplaadil). Soovitatav on kasutada välist 3.3V toiteallikat, kuna FTDI toitevool on erakorraline. Kuid FTDI 3.3v toide töötas ka minu jaoks, kuna minu wifi ruuter oli käeulatuses. Jätke ESP ühendatud jada-/USB -pordiga, et saaksite jälgida jooksvat jadamisi silumislogi Arduino IDE seeriamonitori abil. Toite sisselülitamisel … Vajutage GP0 -ga ühendatud nupp. See saadab SMS -i välja nagu allpool. Kontrollige, kas telefonis on saabunud SMS -sõnum. Töö tehtud.