Indholdsfortegnelse:

Sådan sender du sms -beskeder fra dit Arduino ESP -projekt: 6 trin
Sådan sender du sms -beskeder fra dit Arduino ESP -projekt: 6 trin

Video: Sådan sender du sms -beskeder fra dit Arduino ESP -projekt: 6 trin

Video: Sådan sender du sms -beskeder fra dit Arduino ESP -projekt: 6 trin
Video: Введение в плату разработки NodeMCU ESP8266 WiFi с примером HTTP-клиента 2024, November
Anonim
Sådan sender du sms -beskeder fra dit Arduino ESP -projekt
Sådan sender du sms -beskeder fra dit Arduino ESP -projekt

Denne instruktive demonstrerer, hvordan du sender SMS -tekstbeskeder fra dit arduino -projekt ved hjælp af en ESP8266 -enhed og en WiFi -forbindelse. Hvorfor bruge SMS?* SMS -beskeder er meget hurtigere og mere pålidelige end app -meddelelser. * SMS -beskeder kan også modtages, hvor mobildataforbindelser ikke er tilgængelige * Ingen tredjepartsapplikation skal installeres på en smartphone. * SMS er afgørende for beskedkritiske applikationer. Dette projekt sender simpelthen en SMS -tekstbesked ved at trykke på en knap, der er forbundet til dit ESP -apparat. For dit projekt kan dette udløses på en anden trigger eller hændelsesstatus

Trin 1: Dele

Dele
Dele
Dele
Dele

Til denne demo skal du bruge:* ESP8266 -enhed. Jeg valgte ESP-01-pakken, men enhver anden ESP-pakke/enhed skulle også fungere.* 3.3v forsyning* WiFi-forbindelse* Kapow SMS-konto* Arduino IDE* ESP8266 Programmeringsmodul.

Trin 2: SMS -udbyder

I dette projekt sendes SMS -tekstbeskeder via en SMS -gateway på internettet. Til dette skal du abonnere på en sms -udbyder. Abonnenter debiteres normalt pr. Sms. Min valgte SMS -tjenesteudbyder er KAPOW. Jeg fandt ud af, at de fleste sms -udbydere i Storbritannien kun vil beskæftige sig med aktieselskaber og ikke enkeltpersoner. Men KAPOW gør og leverer en pålidelig og omkostningseffektiv service. For at åbne en Kapow SMS -konto skal du besøge nedenstående link.

www.kapow.co.uk

Trin 3: Tilslut det

Kabelføring
Kabelføring

Ledningsdiagram for dette projekt er ovenfor

Trin 4: Koden

// ESP8266 Demoprojekt til at sende SMS via 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; / * <<<< SKIFT DETALJERNE NEDENFOR */ // Dine WiFi -detaljer: char _sWiFi_SSID = "YourWifiPoint"; // <--- FORANDR !!! char _sWiFi_Password = "YourWifFiPassword"; // <--- FORANDR !!! // Dine Kapow -brugerkontooplysninger: char _sKapow_User = "YourKapowAccount"; // <--- FORANDR !!! char _sKapow_Password = "YourKapowPassword"; // <--- FORANDR !!! char _sKapow_Mobile = "DinMobil"; // >>> SKIFT DETALJERNE OVER */ // knappen er forbundet til GP0 Pin const int gp0_Pin = 0; const int iMaxAttempts = 10; int gp0_State = 0; ugyldig opsætning () {Serial.begin (9600); Serial.println ("\ nDemo: Send SMS via KAPOW"); // initialiser trykknapstiften som input // og træk den højt op (internt) pinMode (gp0_Pin, INPUT_PULLUP); // etablere Wifi -forbindelse WifiConnect (); } void loop () {// læs trykknapstilstand gp0_State = digitalRead (gp0_Pin); // er trykknappen nede lavt? hvis (gp0_State == 0) {Serial.println ("Tryk på knappen for at sende SMS …"); SendSmsKapow (_sKapow_Mobile, "This+is+a+Test+SMS+Message+sent+from+your+ESP+device"); } Serial.println ("Sover i 1 sekund"); forsinkelse (1000); } ugyldig WifiConnect () {Serial.print ("\ nOpretter forbindelse til WiFi:"); Serial.println (_sWiFi_SSID); WiFi.begynder (_sWiFi_SSID, _sWiFi_Password); mens (WiFi.status ()! = WL_CONNECTED) {// prøv igen efter et andet Serial.print ("."); forsinkelse (1000); } hvis (WiFi.status () == WL_CONNECTED) Serial.println ("Tilsluttet WiFi"); } bool SendSmsKapow (char* sMobile, char* sMessage) {WiFiClient clientSms; int iAttempts = 0; Serial.print ("Opretter forbindelse til KAPOW -vært"); mens (! clientSms.connect (_sKapow_Host, _iKapow_Port)) {Serial.print ("."); iAttempts ++; hvis (iAttempts> iMaxAttempts) {Serial.println ("\ nMislykkedes ikke at oprette forbindelse til KAPOW"); vende tilbage sandt; } forsinkelse (1000); } Serial.println ("\ nTilsluttet KAPOW"); forsinkelse (1000); Serial.println ("Sender HTTP -anmodning til KAPOW:"); // Et eksempel på en GET -anmodning ville være: //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 = TRUE / n / n"); Serial.println (sHttp); clientSms.print (sHttp); Serial.println ("Venter på svar (10 sekunder) …"); forsinkelse (10 * 1000); char sReply [100] = ""; int iPos = 0; mens (clientSms.available ()) {char c = clientSms.read (); Serial.print (c); sReply [iPos] = c; iPos ++; hvis (iPos == 99) går i stykker; } sReply [iPos] = '\ 0'; // tjek om svaret indeholder OK bool bResult = (strstr (sReply, "OK")! = NULL); hvis (bResult) Serial.println ("\ nSMS: Succesfuldt sendt"); ellers Serial.println ("\ nSMS: Kunne ikke sende"); hvis (! clientSms.connected ()) {Serial.println ("Afbrydelse fra KAPOW"); clientSms.stop (); } returner bResult; }

Trin 5: Flash -koden

Flash koden
Flash koden
Flash koden
Flash koden

Der er mange andre detaljerede instruktioner, der viser, hvordan man flashprogrammerer en ESP8266 -enhed. Så jeg vil bare give et overblik over min opsætning. I en nøddeskal bruger jeg aUSB til Serial FTDI -interface, og trækker GP0 lavt ved nulstilling for at starte bootloader -blinkprocessen. Jeg byggede min egen stripboard programmeringsenhed for nemheds skyld. Den har* en stikkontakt til en ESP-01-enhed* en stikkontakt til den røde FTDI-grænseflade til tilslutning til pc-vært via USB.* Knapper til RESET, GP0, GP2 TO GROUND Du kan blinke ESP-enheden ved hjælp af 3.3v leveret af FTDI grænseflade. Sørg for, at FTDI -jumperindstillingerne også er indstillet til 3,3v.

Trin 6: Tryk på knappen

Tryk på knappen !
Tryk på knappen !
Tryk på knappen !
Tryk på knappen !
Tryk på knappen !
Tryk på knappen !
Tryk på knappen !
Tryk på knappen !

Du kan teste projektet enten tilsluttet FTDI for seriel logning output eller standalone (på brødbræt med ekstern strømforsyning). Det rekommenderes, at du bruger en ekstern 3.3v forsyning, da FTDI forsyningsstrømmen er erak. FTDI 3.3v -forsyning fungerede imidlertid også for mig, da min wifi -router var inden for rækkevidde. Lad ESP'en være tilsluttet seriel/usb -porten, så du kan overvåge den kørende serielle fejlfindingslog ved hjælp af Arduino IDEs serielle skærm. Ved opstart … Tryk på knappen tilsluttet GP0. Dette sender SMS -beskeden ud som nedenfor. Kontroller din telefon for den modtagne SMS -tekstbesked. Job udført.

Anbefalede: