Spisu treści:

Jak wysyłać wiadomości tekstowe SMS z projektu Arduino ESP: 6 kroków
Jak wysyłać wiadomości tekstowe SMS z projektu Arduino ESP: 6 kroków

Wideo: Jak wysyłać wiadomości tekstowe SMS z projektu Arduino ESP: 6 kroków

Wideo: Jak wysyłać wiadomości tekstowe SMS z projektu Arduino ESP: 6 kroków
Wideo: ESP-12 AT(Komendy AT i Wgrywanie FirmWare) #1 2024, Lipiec
Anonim
Jak wysyłać wiadomości tekstowe SMS z projektu Arduino ESP?
Jak wysyłać wiadomości tekstowe SMS z projektu Arduino ESP?

Ta instrukcja pokazuje, jak wysyłać wiadomości tekstowe SMS z projektu arduino za pomocą urządzenia ESP8266 i połączenia Wi-Fi. Dlaczego warto korzystać z SMS-ów?* Wiadomości SMS są znacznie szybsze i bardziej niezawodne niż powiadomienia z aplikacji. * Wiadomości SMS można również odbierać tam, gdzie nie są dostępne połączenia danych mobilnych * Nie trzeba instalować aplikacji innej firmy na smartfonie. * SMS jest niezbędny dla aplikacji krytycznych dla wiadomości. Ten projekt po prostu wysyła wiadomość tekstową SMS po naciśnięciu przycisku przewodowego do urządzenia ESP. W przypadku twojego projektu może to być wyzwalane przez inny wyzwalacz lub stan zdarzenia

Krok 1: Części

Części
Części
Części
Części

Do tego demo będziesz potrzebować:* Urządzenie ESP8266. Wybrałem pakiet ESP-01, ale każdy inny pakiet/urządzenie ESP też powinien działać.* Zasilanie 3.3v* Połączenie WiFi* Konto SMS Kapow* Arduino IDE* Moduł programowania ESP8266.

Krok 2: Dostawca SMS

W tym projekcie wiadomości tekstowe SMS są wysyłane przez bramkę SMS w Internecie. W tym celu musisz wykupić abonament u dostawcy usług SMS. Abonenci są zwykle rozliczani za SMS-y. Wybranym przeze mnie dostawcą usług SMS jest KAPOW. Odkryłem, że większość dostawców SMS-ów w Wielkiej Brytanii zajmuje się tylko spółkami z ograniczoną odpowiedzialnością, a nie osobami fizycznymi. Jednak KAPOW to robi i zapewnia niezawodną i opłacalną usługę. Aby otworzyć konto SMS Kapow, odwiedź poniższy link.

www.kapow.pl

Krok 3: Okablowanie

Podłączanie go
Podłączanie go

Schemat połączeń dla tego projektu znajduje się powyżej

Krok 4: Kodeks

// Projekt demonstracyjny ESP8266 do wysyłania SMS-ów przez 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; /* <<<< ZMIEŃ SZCZEGÓŁY PONIŻEJ */ // Twoje dane Wi-Fi: char _sWiFi_SSID ="YourWifiPoint"; // <--- ZMIANA !!! char _sWiFi_Password ="Twoje hasło do WifiFi"; // <--- ZMIANA !!! // Szczegóły Twojego konta użytkownika Kapow: char _sKapow_User ="TwojeKontoKapow"; // <--- ZMIANA !!! char _sKapow_Password ="Twoje hasłoKapow"; // <--- ZMIANA !!! char _sKapow_Mobile ="Twój Komórka"; // >>> ZMIEŃ SZCZEGÓŁY POWYŻEJ */ // przycisk jest połączony z pinem GP0 const int gp0_Pin = 0; const int iMaxPróby = 10; int gp0_State = 0; void setup() { Serial.begin(9600); Serial.println("\nDemo: Wyślij SMS przez KAPOW"); // zainicjuj pin przycisku jako wejście // i podnieś go wysoko (wewnętrznie) pinMode(gp0_Pin, INPUT_PULLUP); // nawiąż połączenie Wifi WifiConnect(); } void loop() { // odczyt stanu przycisku gp0_State = digitalRead(gp0_Pin); // czy przycisk jest wciśnięty nisko? if (gp0_State==0) { Serial.println("Przycisk naciśnięty, aby wysłać SMS…"); SendSmsKapow(_sKapow_Mobile, "To+to+test+SMS+wiadomość+wysłana+z+twojego+urządzenia+ESP"); } Serial.println("Spanie przez 1 sekundę"); opóźnienie (1000); } void WifiConnect() { Serial.print("\nŁączenie z Wifi: "); Serial.println(_sWiFi_SSID); WiFi.begin(_sWiFi_SSID, _sWiFi_Password); while (WiFi.status() != WL_CONNECTED) { // ponów po drugim Serial.print("."); opóźnienie (1000); } if (WiFi.status() == WL_CONNECTED) Serial.println("Połączono z WiFi"); } bool SendSmsKapow(char* sMobile, char* sMessage) { WiFiClient clientSms; int iPróby=0; Serial.print("Łączenie z hostem KAPOW"); while (!clientSms.connect(_sKapow_Host, _iKapow_Port)) { Serial.print("."); iPróby++; if (iAttempts > iMaxAttempts) { Serial.println("\nNie udało się połączyć z KAPOW"); zwróć prawdę; } opóźnienie(1000); } Serial.println("\nPodłączony do KAPOW"); opóźnienie (1000); Serial.println("Wysyłanie żądania HTTP do KAPOW:"); //Przykładowe żądanie GET to: //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, "&hasło="); strcat(sHttp, _sKapow_Password); strcat(sHttp, "&mobile="); strcat(sHttp, sMobile); strcat(sHttp, "&sms="); strcat(sHttp, sWiadomość); strcat(sHttp, "&returnid=TRUE\n\n"); Serial.println(sHttp); klientSms.print(sHttp); Serial.println("Oczekiwanie na odpowiedź (10 sekund)…"); opóźnienie (10*1000); char sOdpowiedz[100] = ""; int iPos = 0; while (clientSms.available()) { char c = clientSms.read(); druk.seryjny(c); sOdpowiedz[iPos] = c; iPos++; jeśli (iPos == 99) pęknie; } sOdpowiedz[iPos] = '\0'; // sprawdź czy odpowiedź zawiera OK bool bResult = (strstr(sReply, "OK") != NULL); if (bResult) Serial.println("\nSMS: wysłano pomyślnie"); else Serial.println("\nSMS: nie udało się wysłać"); if (!clientSms.connected()) { Serial.println("Rozłączanie z KAPOW"); klientSms.stop(); } return bResult; }

Krok 5: Flashuj kod

Flash kod
Flash kod
Flash kod
Flash kod

Istnieje wiele innych szczegółowych instrukcji pokazujących, jak zaprogramować flashowanie urządzenia ESP8266. Przedstawię więc tylko przegląd mojej konfiguracji. W skrócie, używam interfejsu USB do portu szeregowego FTDI i ustawiam niski poziom GP0 podczas resetowania, aby rozpocząć proces flashowania bootloadera. Dla wygody zbudowałem własne urządzenie do programowania stripboardów. Posiada * gniazdo dla urządzenia ESP-01* gniazdo dla czerwonego interfejsu FTDI do podłączenia do hosta PC przez USB.* Przyciski RESET, GP0, GP2 TO GROUND Możesz sflashować urządzenie ESP za pomocą 3,3v dostarczonego przez FTDI berło. Upewnij się, że ustawienia zworki FTDI są również ustawione na 3,3v.

Krok 6: Naciśnij przycisk

Naciśnij przycisk !
Naciśnij przycisk !
Naciśnij przycisk !
Naciśnij przycisk !
Naciśnij przycisk !
Naciśnij przycisk !
Naciśnij przycisk !
Naciśnij przycisk !

Możesz przetestować projekt albo podłączony do FTDI dla wyjścia rejestrowania szeregowego, albo samodzielny (na płytce stykowej z zewnętrznym zasilaczem). Zaleca się używanie zewnętrznego zasilacza 3,3 V, ponieważ prąd zasilania FTDI jest erak. Jednak zasilanie FTDI 3.3v również działało dla mnie, ponieważ mój router Wi-Fi był w zasięgu ręki. Pozostaw ESP podłączony do portu szeregowego/usb, aby móc monitorować uruchomiony dziennik debugowania szeregowego za pomocą monitora szeregowego Arduino IDE. Po włączeniu zasilania… Naciśnij przycisk podłączony do GP0. Spowoduje to wysłanie wiadomości SMS, jak poniżej. Sprawdź telefon pod kątem otrzymanej wiadomości tekstowej SMS. Zadanie wykonane.

Zalecana: