Inhoudsopgave:

Sms-tekstberichten verzenden vanuit uw Arduino ESP-project - Ajarnpa
Sms-tekstberichten verzenden vanuit uw Arduino ESP-project - Ajarnpa

Video: Sms-tekstberichten verzenden vanuit uw Arduino ESP-project - Ajarnpa

Video: Sms-tekstberichten verzenden vanuit uw Arduino ESP-project - Ajarnpa
Video: Главная Автоматизация с помощью SMS - Использование и коды использования GSM-клавиатуры Arduino 2024, November
Anonim
Hoe u SMS-tekstberichten kunt verzenden vanuit uw Arduino ESP-project
Hoe u SMS-tekstberichten kunt verzenden vanuit uw Arduino ESP-project

Deze instructable laat zien hoe je sms-berichten kunt verzenden vanuit je arduino-project met behulp van een ESP8266-apparaat en een wifi-verbinding. Waarom sms gebruiken? * Sms-berichten zijn veel sneller en betrouwbaarder dan app-meldingsberichten. * Sms-berichten kunnen ook worden ontvangen waar geen mobiele dataverbindingen beschikbaar zijn * Er hoeft geen applicatie van derden op een smartphone te worden geïnstalleerd. * Sms is essentieel voor berichtkritische toepassingen. Dit project stuurt eenvoudig een sms-bericht door op een bekabelde knop te drukken naar het ESP-apparaat. Voor uw project kan dit worden geactiveerd op een andere trigger- of gebeurtenisstatus

Stap 1: Onderdelen

Onderdelen
Onderdelen
Onderdelen
Onderdelen

Voor deze demo heeft u het volgende nodig:* ESP8266-apparaat. Ik koos voor het ESP-01-pakket, maar elk ander ESP-pakket/apparaat zou ook moeten werken.* 3.3v voeding* WiFi-verbinding* Kapow SMS-account* Arduino IDE* ESP8266 programmeermodule.

Stap 2: SMS-provider

In dit project worden sms-berichten verzonden via een sms-gateway op internet. Hiervoor dient u zich te abonneren op een sms-provider. Abonnees worden normaal per sms in rekening gebracht. De door mij gekozen sms-serviceprovider is KAPOW. Ik ontdekte dat de meeste sms-providers in het VK alleen met naamloze vennootschappen omgaan, en niet met individuen. KAPOW doet dat echter wel en biedt een betrouwbare en kosteneffectieve service. Om een Kapow SMS-account te openen, gaat u naar de onderstaande link.

www.kapow.co.uk

Stap 3: Bedrading Het Up

Bedrading
Bedrading

Bedradingsschema voor dit project is hierboven:

Stap 4: De code

// ESP8266-demoproject om sms te verzenden 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; /* <<<< WIJZIG DE DETAILS HIERONDER */ // Uw WiFi-gegevens: char _sWiFi_SSID ="YourWifiPoint"; // <--- VERANDERING!!! char _sWiFi_Password ="YourWifFiPassword"; // <--- VERANDERING!!! // Uw Kapow-gebruikersaccountgegevens: char _sKapow_User ="YourKapowAccount"; // <--- VERANDERING!!! char _sKapow_Password ="YourKapowPassword"; // <--- VERANDERING!!! char _sKapow_Mobile ="UwMobiel"; // >>> WIJZIG DE BOVENSTAANDE DETAILS */ // knop is verbonden met GP0 Pin const int gp0_Pin = 0; const int iMaxAttempts = 10; int gp0_State = 0; void setup() { Serial.begin(9600); Serial.println("\nDemo: SMS versturen via KAPOW"); // initialiseer de drukknoppin als invoer // en trek hem omhoog (intern) pinMode (gp0_Pin, INPUT_PULLUP); // maak wifi-verbinding WifiConnect(); } void loop () {// lees de status van de drukknop gp0_State = digitalRead (gp0_Pin); // is de drukknop laag ingedrukt? if (gp0_State==0) { Serial.println("Knop ingedrukt om SMS te verzenden…"); SendSmsKapow(_sKapow_Mobile, "Dit+is+een+Test+SMS+Bericht+verzonden+van+uw+ESP+apparaat"); } Serial.println("Slapen voor 1 seconde"); vertraging (1000); } void WifiConnect() { Serial.print("\nVerbinding maken met wifi: "); Seriële.println(_sWiFi_SSID); WiFi.begin(_sWiFi_SSID, _sWiFi_Password); while (WiFi.status() != WL_CONNECTED) { // probeer het opnieuw na een tweede Serial.print("."); vertraging (1000); } if (WiFi.status() == WL_CONNECTED) Serial.println("Verbonden met wifi"); } bool SendSmsKapow (char* sMobile, char* sMessage) { WiFiClient clientSms; int iAttempts=0; Serial.print("Verbinding maken met KAPOW-host"); while (!clientSms.connect(_sKapow_Host, _iKapow_Port)) { Serial.print("."); iAttempts++; if (iAttempts > iMaxAttempts) { Serial.println("\nKan geen verbinding maken met KAPOW"); retourneer waar; } vertraging (1000); } Serial.println("\nVerbonden met KAPOW"); vertraging (1000); Serial.println ("HTTP-verzoek verzenden naar KAPOW:"); //Een voorbeeld van een GET-verzoek zou zijn: //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?gebruikersnaam="); 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"); Seriële.println(sHttp); clientSms.print(sHttp); Serial.println("Wachten op reactie (10 sec)…"); vertraging (10 * 1000); char sReply[100] = ""; int iPos = 0; while (clientSms.available()) { char c = clientSms.read(); Serieafdruk(c); sAntwoord[iPos] = c; iPos++; als (iPos == 99) breken; } sAntwoord[iPos] = '\0'; // controleer of het antwoord OK bevat bool bResult = (strstr(sReply, "OK") != NULL); if (bResult) Serial.println("\nSMS: succesvol verzonden"); else Serial.println("\nSMS: kan niet worden verzonden"); if (!clientSms.connected()) { Serial.println("Verbinding met KAPOW verbreken"); clientSms.stop(); } bResultaat; }

Stap 5: Flash de code

Flash de code
Flash de code
Flash de code
Flash de code

Er zijn veel andere gedetailleerde instructables die laten zien hoe je een ESP8266-apparaat kunt flashen. Dus ik zal gewoon een overzicht geven van mijn setup. In een notendop, ik gebruik een USB naar Seriële FTDI-interface en trek GP0 laag bij reset om het flashing-proces van de bootloader te starten. Ik heb voor het gemak mijn eigen stripboard-programmeerapparaat gebouwd. Het heeft * een socket voor een ESP-01-apparaat * een socket voor de rode FTDI-interface om via USB op de pc-host aan te sluiten. * Knoppen voor RESET, GP0, GP2 NAAR GROND U kunt het ESP-apparaat flashen met behulp van de 3.3v geleverd door de FTDI koppel. Zorg ervoor dat de FTDI-jumperinstellingen ook zijn ingesteld op 3.3v.

Stap 6: Druk op de knop

Druk op de knop !
Druk op de knop !
Druk op de knop !
Druk op de knop !
Druk op de knop !
Druk op de knop !
Druk op de knop !
Druk op de knop !

U kunt het project testen, ofwel aangesloten op FTDI voor seriële logging-output, of standalone (op breadboard met externe voeding). Het wordt aanbevolen om een externe 3.3v-voeding te gebruiken, aangezien de FTDI-voedingsstroom slecht is. FTDI 3.3v voeding werkte echter ook voor mij, omdat mijn wifi-router binnen handbereik was. de knop verbonden met GP0. Hiermee wordt het onderstaande sms-bericht verzonden. Controleer uw telefoon op het ontvangen sms-bericht. Taak gedaan.

Aanbevolen: