Spisu treści:
- Krok 1: Części
- Krok 2: Dostawca SMS
- Krok 3: Okablowanie
- Krok 4: Kodeks
- Krok 5: Flashuj kod
- Krok 6: Naciśnij przycisk
Wideo: Jak wysyłać wiadomości tekstowe SMS z projektu Arduino ESP: 6 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
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
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
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
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
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:
Wysyłanie wiadomości SMS w przypadku wykrycia dymu (Arduino+GSM SIM900A: 5 kroków)
Wysyłanie sms w przypadku wykrycia dymu (Arduino + GSM SIM900A: Cześć wszystkim! W mojej pierwszej instrukcji wykonam alarm gazowy, który wyśle wiadomość do użytkownika w przypadku wykrycia zanieczyszczenia. Będzie to prosty prototyp z wykorzystaniem Arduino, modułu GSM i elektrochemii czujnik dymu.W przyszłości można go rozszerzyć do
Jak wysyłać e-maile z załącznikami za pomocą Arduino, Esp32 i Esp8266: 6 kroków
Jak wysyłać e-maile z załącznikami za pomocą Arduino, Esp32 i Esp8266: Tutaj chciałbym wyjaśnić wersję 2 mojej biblioteki EMailSender, duży szacunek ewolucyjny do wersji 1, z obsługą Arduino z tarczą ethernet w5100, w5200 i w5500 oraz enc28J60 klonowanie urządzeń i obsługa esp32 i esp8266. Teraz możesz reklamować
Jak wysyłać duże pliki z komputera na komputer: 6 kroków
Jak wysyłać duże pliki z komputera na komputer: Rozmiary plików stale rosną wraz z postępem technologicznym. Jeśli zajmujesz się kreatywnym rzemiosłem, takim jak projektowanie lub modelowanie, lub po prostu hobbystą, przesyłanie dużych plików może być kłopotliwe. Większość usług e-mail ogranicza maksymalne rozmiary załączników do około 25
Save My Child: inteligentny fotelik, który wysyła wiadomości tekstowe, jeśli zapomnisz o dziecku w samochodzie: 8 kroków
Save My Child: Inteligentny fotelik, który wysyła SMS-y, jeśli zapomnisz o dziecku w samochodzie: Jest instalowany w samochodach, a dzięki czujnikowi umieszczonemu w foteliku dziecięcym ostrzega nas – SMS-em lub telefonem – jeśli dostaniemy odejść bez zabierania ze sobą dziecka
Micro:Bit Puppet „Wiadomości tekstowe”!: 5 kroków (ze zdjęciami)
Micro:Bit Puppet „Text Messaging”!: Prawie cała nasza komunikacja bezprzewodowa odbywa się za pomocą fal radiowych*, w tym połączeń telefonicznych, wiadomości tekstowych i Wi-Fi. Dzięki wbudowanym nadajnikom i odbiornikom radiowym mikrokontroler Micro:Bit sprawia, że budowanie wszelkiego rodzaju projektów jest bardzo łatwe