Spisu treści:

Wyślij SMS za pomocą ESP8266: 5 kroków
Wyślij SMS za pomocą ESP8266: 5 kroków

Wideo: Wyślij SMS za pomocą ESP8266: 5 kroków

Wideo: Wyślij SMS za pomocą ESP8266: 5 kroków
Wideo: Multisensor na ESP8266 #1, czyli pomiar temperatury dla Domoticza (i nie tylko) 2024, Listopad
Anonim
Wyślij SMS za pomocą ESP8266
Wyślij SMS za pomocą ESP8266

Ta instrukcja poprowadzi Cię przez kroki, aby wysłać wiadomości SMS przez Internet z płyty modułu ESP8266 NodeMCU na telefon komórkowy. Aby móc wysłać wiadomość, musisz przejść przez kroki, aby uzyskać wirtualny numer telefonu od firmy komunikacyjnej Twilio. Karta kredytowa nie jest potrzebna, ponieważ Twilio ma opcję bezpłatnego konta próbnego. Następnie pobierzesz i użyjesz przykładowego programu Arduino IDE do wysyłania wiadomości SMS.

Przykładowy program w tej instrukcji zawiera wywołania funkcji, które można łatwo kopiować, wklejać, edytować i używać we własnych projektach.

Kieszonkowe dzieci

Używam płytki rozwojowej bezprzewodowej sieci WIFI NodeMCU ESP8266 CH340G ESP-12E. Sprzedają za około 3 USD na eBayu od chińskich dostawców.

Krok 1: Przetestuj swój NodeMCU ESP8266

Możesz testować z płytką stykową lub bez. Bez płytki stykowej światło na płycie będzie migać i gaśnie, co jest skuteczne podczas testu.

W mojej próbce podłączam NodeMCU do płyty prototypowej. Podłączam ujemną stronę diody LED do styku uziemienia (G lub GND) w NodeMCU. Dodatnia strona diody LED jest podłączona przez rezystor (500 do 5K omów) do pinu D4 NodeMCU. Po uruchomieniu przykładowego programu, zintegrowana dioda LED zaświeci się, zewnętrzna dioda LED zgaśnie, następnie zintegrowana dioda LED zgaśnie, zewnętrzna dioda LED będzie włączona. Diody LED będą się na przemian włączać i wyłączać.

Pobierz i uruchom podstawowy program testowy Arduino: nodeMcuTest.ino. Podczas działania programu, dioda LED na pokładzie włączy się na 1 sekundę, wyłączy na 1 sekundę i będzie się powtarzać w sposób ciągły. Ponadto publikowane są wiadomości, które można wyświetlić w Arduino IDE Tools/Serial Monitor.

+++ Konfiguracja.

+ Zainicjowano cyfrowy pin LED na płycie dla wyjścia. Dioda jest wyłączona. ++ Przejdź do pętli. + Licznik pętli = 1 + Licznik pętli = 2 + Licznik pętli = 3 …

Po potwierdzeniu, że Twoje IDE może być używane do programowania NodeMCU, przejdź do następnego kroku.

Uwaga dotycząca bibliotek, które zainstalowałem do następujących projektów ESP8266:

  • Biblioteka Arduino WiFi w wersji 1.2.7.
  • PubSubClient w wersji 2.7.0, autorstwa Nicka O'Leary, do obsługi komunikatów MQTT. Niewymagane dla tego projektu.
  • IRremoteESP8266 wersja 2.6.3, na podczerwień. Niewymagane dla tego projektu.

Jeśli masz więcej informacji na temat wymaganych bibliotek, prosimy o komentarz. Powodem, dla którego nie mam szczegółów, jest to, że nie nagrałem tego, co zainstalowałem, przepraszam.

O NodeMCU ESP8266

Cechy,

  • Szybkość zegara 80 MHz
  • Napięcie robocze: 3,3 V
  • Pamięć flash: 4 MB, SRAM: 64 KB
  • 9 powszechnie stosowanych cyfrowych pinów GPIO oznaczonych: od D0 do D8.
  • Z 9, 4 piny mogą być używane do SPI, a 2 piny do I2C.
  • Przerwij piny GPIO D0-D8.
  • Nie używaj 6 pinów: CLK, SD0, CMD, SD1, SD2, SD3 (GPIO 6-11), ponieważ są w użyciu.
  • Testowane: wejście przycisku za pomocą D0-D02.
  • Testowane: miga dioda LED przy użyciu D0-D08. Wyjście do rezystora, do diody LED, do uziemienia.
  • Trzeba przetestować, UART1 (TX = GPIO2), obiekt Serial1: D4 lub D7 i D8.

Szczegóły przypinania

NodeMCU Label GPIO pin # D0 16 GPIO tylko do odczytu/zapisu. Może nie mieć funkcji przerwania. D1 5 Cyfrowe GPIO. -------------------- D2 4 Cyfrowe GPIO. D3 0 Cyfrowe GPIO. ---------- D2 4 I2C:SCL, zegar DS3231, moduły wejściowe PCF8574 D3 0 I2C:SDA ---------- D4(TX) 2 Wbudowana dioda LED na płycie. ---------- Wyjście 3 V 3 V G Uziemienie -------------------- D5 14 Cyfrowe GPIO. D6 12 Cyfrowe GPIO. D7(RX) 13 Działa dla wejścia, na przykład odbioru podczerwieni. D8(TX) 15 Nie działa dla wejścia, na przykład odbioru podczerwieni. ---------- D5 14 Karta SD: SPI SCK D6 12 Karta SD: SPI MISO D7(RX) 13 Karta SD: SPI MOSI D8 15 Karta SD: CS dla SPI włącz/wyłącz urządzenie. Można używać innych pinów cyfrowych. -------------------- RX 03 Uplod systemu z IDE, który powoduje restart po załadowaniu. TX 01 Aktualizacja systemu. G Uziemienie 3 V 3 V wyjście

Krok 2: Otwórz bezpłatne konto próbne Twilio i uzyskaj własny numer telefonu

Image
Image

Twilio to firma zajmująca się platformą komunikacji internetowej. Produkty używane w tej instrukcji to programowalna obsługa wiadomości Twilio i numery telefonów. Twilio posiada spis wirtualnych numerów telefonów, których można używać do wysyłania i odbierania wiadomości SMS na dowolny telefon komórkowy.

W tym kroku będziesz:

  • Otwórz konto Twilio, jeśli jeszcze go nie masz. Konto próbne jest bezpłatne i nie wymaga karty kredytowej. Twoje konto próbne będzie miało saldo próbne, które służy do płacenia za numery telefonów i wymiany wiadomości tekstowych z telefonami komórkowymi.
  • Kup numer telefonu Twilio. Jest bezpłatny, ponieważ jest płatny za korzystanie z salda próbnego.
  • Wyślij wiadomość z telefonu komórkowego na nowy numer telefonu.
  • Gdy Twilio otrzyma wiadomość, na Twój telefon komórkowy zostanie wysłana automatyczna wiadomość z odpowiedzią.
  • Użyj aplikacji sieci Web Twilio Console, aby wyświetlić dzienniki wiadomości.

Pierwszy film powyżej pokazuje, jak otworzyć konto Twilio. Drugi film pokazuje, jak kupić numer telefonu Twilio.

Połącz z witryną Twilio Console, aby otworzyć konto.

Link do witryny Twilio Console, aby kupić numer telefonu Twilio.

Twój nowy numer telefonu obsługujący usługę Twilio SMS ma już skonfigurowaną odpowiedź automatyczną. W ramach testu wyślij wiadomość SMS z telefonu komórkowego na numer telefonu Twilio. Otrzymasz następującą wiadomość:

Dzięki za wiadomość. Skonfiguruj adres URL SMS-a swojego numeru, aby zmienić tę wiadomość. Odpowiedz Pomoc o pomoc. Odpowiedz Zatrzymaj się, aby zrezygnować z subskrypcji.

Teraz użyj konsoli Twilio, aby wyświetlić dzienniki wiadomości z powyższego testu:

www.twilio.com/console/sms/logs

Więcej o korzystaniu z Twilio

Możesz utworzyć własną niestandardową odpowiedź automatyczną. Link do instrukcji Studio, jak utworzyć niestandardową wiadomość zwrotną SMS. Studio to nasze narzędzie do przeciągania i upuszczania konsoli Twilio.

Za pomocą konsoli Twilio można wyświetlać komunikaty dziennika, pobierać dzienniki jako CVS i ładować je do arkusza kalkulacyjnego. Możesz wybrać zakres dat i godzin, do i z numerów telefonów oraz status, taki jak: Niedoręczone lub Wysłane. Masz również możliwość pobrania logów jako plików CVS. Ponieważ ma limit 300 dzienników na raz, możesz ograniczyć wybór według daty.

Linki dla programistów

Link do dokumentacji i przykładowych programów do wysyłania wiadomości.

Link do przykładów programów, aby wyświetlić logi komunikatów.

Link do właściwości wiadomości programu. Lista właściwości wysyłanych w żądaniu

Link do listy dzienników SMS na okres czasu.

Krok 3: Wyślij SMS-a ze swojego NodeMCU

Wyślij SMS ze swojego NodeMCU
Wyślij SMS ze swojego NodeMCU

Pobierz program: HttpTwPost.ino i załaduj go do swojego Arduino IDE. W programie wprowadź swój identyfikator sieci WiFi i hasło. Wprowadź własny identyfikator SID konta Twilio, token uwierzytelniania i numer telefonu. Identyfikator SID konta Twilio i token uwierzytelniania są widoczne na pulpicie nawigacyjnym konsoli Twilio. Kliknij Auth Token „pokaż”, aby wyświetlić token uwierzytelniania.

// SSID Twojej sieci i hasłoconst char* ssid = "Identyfikator TwojejSieci"; const char* password = "Hasło TwojejSieci"; const char* account_sid = "Identyfikator Twojego KontaTwilio"; const char* auth_token = "TwójTokenAuth"; String from_number = "+16505551111"; // Po dodaniu kodowania dodaj "+". String to_number = "+16505552222"; String message_body = "Witaj z NodeMCU.";

Uwaga Twilio: w przypadku korzystania z numerów telefonów w Twilio najlepiej jest sformatować numery jako numery telefonów w formacie E.164. Numery telefonów w formacie E.164 zaczynają się od „+” i kodu kraju. Numer telefonu nie zawiera spacji, łączników ani nawiasów. Przykład: +16505551111.

Uruchom program. Po uruchomieniu program wyśle wiadomość tekstową SMS na Twój numer telefonu komórkowego. Ponadto publikowane są wiadomości, które można wyświetlić w Arduino IDE Tools/Serial Monitor. Komunikaty monitora zawierają odpowiedź z Twilio.

+++ Konfiguracja.+ Połącz się z Wi-Fi. …. + Połączenie z Wi-Fi, adres IP: 192.168.1.76 + Korzystanie z linii papilarnych 'BC B0 1A 32 80 5D E6 E4 A2 29 66 2B 08 C8 E0 4C 45 29 3F D0' + Połączenie z api.twilio.com + Połączono. + Opublikuj żądanie wysyłania SMS-a HTTP. + Połączenie jest zamknięte. + Odpowiedź: HTTP/1.1 201 CREATED Data: Thu, 16 Jul 2020 20:39:49 GMT Content-Type: application/xml Content-Length: 878 Połączenie: zamknij Twilio-Concurrent-Requests: 1 Twilio-Request-Id: RQe4fbdd142fca4b2fab24697e74006837 Twilio-Request-Czas trwania: 0.116 Access-Control-Allow-Origin: * Access-Control-Allow-Headers: Accept, Authorization, Content-Type, If-Match, If-Modified-Since, If-None-Match, If- Unmodified-Since Access-Control-Allow-Methods: GET, POST, DELETE, OPTIONS Access-Control-Expose-Headers: ETag Access-Control-Allow-Credentials: true X-Powered-By: AT-5000 X-Shenanigans: brak X-Home-Region: us1 X-API-Domain: api.twilio.com Strict-Transport-Security: max-age=31536000 … + Rozpoczęcie pętli.

Możesz wyświetlić dzienniki wiadomości Twilio, aby wyświetlić wysłaną wiadomość.

Krok 4: Przycisk do wysłania SMS-a

Image
Image

Powyższy film przedstawia użycie ESP8266 NodeMCU do wysyłania wiadomości na telefon komórkowy. Na filmie NodeMCU jest już uruchomiony i podłączony do sieci Wi-Fi. Po naciśnięciu przycisku włącza się dioda LED na płycie. Żądanie wiadomości SMS jest wysyłane do usługi Twilio Messaging. Serwis wysyła SMS na mój telefon komórkowy. Wiadomość została odebrana. Usługa odpowiada również NodeMCU, że wiadomość została umieszczona w kolejce do wysłania. W tym czasie wiadomość została już odebrana przez telefon. Gdy NodeMCU otrzyma odpowiedź z Twilio, kontrolka na pokładzie gaśnie. Obwód jest gotowy do wysłania kolejnej wiadomości.

Poniżej opisano, jak zaimplementować obwód w filmie. Ten krok wymaga płytki stykowej, przycisku i przewodów. Dodaj przycisk na płytce prototypowej. Jedna strona przycisku łączy się z pinem NodeMCU D1. Podłącz drugą stronę przycisku do pinu uziemienia NodeMCU (pin G na mojej płycie).

Pobierz program: HttpTwSendSms.ino i załaduj go do swojego Arduino IDE. Tak samo jak w poprzednim kroku, w programie wpisz swój identyfikator sieci WiFi i hasło. Wprowadź własny identyfikator SID konta Twilio, token uwierzytelniania i numer telefonu.

Po uruchomieniu programu NodeMCU połączy się z siecią WiFi. Po naciśnięciu przycisku zostanie wysłana wiadomość na numer telefonu komórkowego.

Krok 5: SMS z NodeMCU to świetne narzędzie IoT

Teraz możesz użyć przykładowego kodu i swojego konta Twilio, aby wysyłać wiadomości SMS przez Wi-Fi.

Pozdrawiam, Stacy David

Zalecana: