Spisu treści:

Tańsza nakładka WiFi ESP8266 dla Arduino i innych Micros: 6 kroków (ze zdjęciami)
Tańsza nakładka WiFi ESP8266 dla Arduino i innych Micros: 6 kroków (ze zdjęciami)

Wideo: Tańsza nakładka WiFi ESP8266 dla Arduino i innych Micros: 6 kroków (ze zdjęciami)

Wideo: Tańsza nakładka WiFi ESP8266 dla Arduino i innych Micros: 6 kroków (ze zdjęciami)
Wideo: Arduino RP2040 Connect - jak wyszła współpraca Arduino i Raspberry Pi 2024, Listopad
Anonim
Tańsza nakładka WiFi ESP8266 dla Arduino i innych Micros
Tańsza nakładka WiFi ESP8266 dla Arduino i innych Micros
Tańsza nakładka WiFi ESP8266 dla Arduino i innych Micros
Tańsza nakładka WiFi ESP8266 dla Arduino i innych Micros

Aktualizacja: 29 października 2020 r

Testowane z biblioteką płytki ESP8266 V2.7.4 – działa

Aktualizacja: 23 września 2016 r

Nie używaj biblioteki płyty Arduino ESP V2.3.0 dla tego projektu. V2.2.0 działa

Aktualizacja: 19 maja 2016 r

Wersja 14 tego projektu poprawia biblioteki i kod do pracy z wtyczką ESP8266.com IDE V2.2

Aktualizacja: 17 grudnia 2105

Wersja 11 tego projektu czyści inne próby połączeń, jeśli są już połączone. Używa również limitu czasu ustawionego w konfiguracji sieciowej. Wersja 10 zignorowała ustawienie limitu czasu.

Aktualizacja: 11 listopada 2015 r

To jest Rev 10 tego projektu. Rev 10 wykorzystuje nieblokującą bibliotekę WiFi, pfodESP8266WiFi, która zapewnia wyższą przepustowość, szczególnie dla klientów Windows. Pozwala także na konfigurację szybkości transmisji szeregowej na stronie internetowej.

Aktualizacja: 23 października 2015

To jest Rev 8 tego projektu. Wersja 8 ma ulepszony kod ESP8266, który jest bardziej niezawodny. UWAGA: Każdy wysłany pakiet zatrzymuje ten kod, dopóki odbiorca (klient) nie potwierdzi pakietu. Może to zająć od 10mS do 200mS. W tym czasie przychodzące dane szeregowe z UART nie są obsługiwane. Przychodzący bufor szeregowy może buforować 256 bajtów. Przy 9600 bodach wypełnienie bufora zajmuje około 270 ms, więc tak długo, jak utrzymujesz szybkość transmisji szeregowej na poziomie 9600 lub mniej, nie powinieneś tracić żadnych wychodzących danych, gdy ESP8266 wysyła poprzedni pakiet. Zapewnia to dobre połączenie Wi-Fi. Jeśli połączenie Wi-Fi jest słabe, pakiet może zostać utracony i musi zostać ponownie przesłany przez ESP826, wtedy bufor przychodzący Serial może się zapełnić, jeśli próbujesz wysłać dużo danych, a niektóre dane mogą zostać utracone.

Aktualizacja: 20 września 2015

To jest Rev 3 tego projektu. Wersja 3 dodaje ustawienie limitu czasu połączenia do konfiguracji strony internetowej. Jeśli w tym czasie nie ma wysyłania lub odbierania danych, WiFi Shield zamyka połączenie i czeka na nowe. Gwarantuje to, że WiFi Shield odzyskuje działanie po „półzamkniętych” połączeniach, które miały miejsce, gdy klient po prostu znika z powodu złego połączenia Wi-Fi, utraty zasilania routera lub wymuszonego wyłączenia klienta. Zobacz Wykrywanie półotwartych (upuszczonych) połączeń TCP/IP, aby uzyskać więcej informacji.

Ten limit czasu połączenia jest domyślnie ustawiony na 15 sekund. ale można je zmienić w razie potrzeby. Ustawienie go na 0 oznacza, że nigdy nie przekroczono limitu czasu. Używając pfodDesigner, ustaw odświeżanie menu, które jest krótsze niż limit czasu połączenia.

Wstęp

To jest Rev 11 z ESP8266-01 WiFi Shield i jest alternatywą dla taniej / prostej tarczy Wifi dla Arduino i innych micros. Jeśli tworzysz tylko jedną osłonę Wifi, to tania / prosta osłona Wifi dla Arduino i innych mikrosystemów to projekt do użycia, ponieważ jest najprostszy do podłączenia. Jeśli jednak masz już moduł ESP8266-01, możesz skorzystać z tych instrukcji, aby stworzyć z niego WiFi Shield.

Jeśli masz jeden z pozostałych modułów ESP8266, pod warunkiem, że moduł ma dostępne GPIO0 i GPIO2, możesz skorzystać z tych instrukcji. Jeśli moduł udostępnia GPIO15, MUSISZ podłączyć go do GND za pomocą rezystora o wartości od 3K3 do 10K

Rev 10 nie potrzebuje żadnych dodatkowych I/O na płytce Arduino, poza TX/RX i zasilaniem 5V oraz GND. Wersja 10 używa GPIO0 i GPIO2 jako ConfigLink, jak opisano na tej stronie, ESP8266-01 Pin Magic. Również szkice kodu używane w Rev10 są teraz dokładnie takie same, jak te używane w Cheap/Simple Wifi Shield dla Arduino i innych mikrosystemów. Zastępuje również płytę-córkę zasilacza od 5 V do 3 V na 3 elementy dyskretne i wykorzystuje sieć rezystorów dla pięciu rezystorów 3K3. Pierwsza wersja Rev 1 jest tutaj.

Instrukcje te są również dostępne na stronie www.pfod.com.au.

Cechy

  • Wykorzystuje niedrogi i łatwo dostępny moduł ESP8266-01:- Można również zastosować inne moduły ESP8266
  • Prosty w użyciu: - Osłona kompatybilna z 5V i 3,3V działa jako mostek UART do WiFi. Konfiguruje serwer na skonfigurowanym IP i porcie, a po podłączeniu po prostu przekazuje dane do iz połączenia szeregowego. W mikroprocesorze łączącym nie są potrzebne żadne biblioteki, wystarczy połączenie szeregowe (UART), dzięki czemu można go używać z dowolnym mikroprocesorem wyposażonym w port szeregowy. Można go również zmodyfikować w celu skonfigurowania połączenia klienta (z opcjonalnym logowaniem) ze zdalnym serwerem.
  • Prosta konfiguracja:- Zwarcie łącza i włączenie tarczy powoduje przełączenie jej w tryb konfiguracji. W tym trybie tworzy bezpieczny punkt dostępowy, z którym możesz się połączyć za pomocą telefonu komórkowego lub komputera. Następnie otwarcie https://10.1.1.1 przedstawia stronę internetową, na której można skonfigurować nazwę sieci i hasło oraz adres IP i numer portu, na którym tarcza powinna nasłuchiwać połączeń. Strona konfiguracyjna wykorzystuje walidację HTML5 do sprawdzenia ustawień użytkownika.

Krok 1: Lista części

Ta osłona WiFi ESP8266-01 wymaga następujących części lub podobnych. Podane tutaj ceny obowiązują na dzień 30 sierpnia 2015 r. i nie zawierają kosztów wysyłki:-

  • Moduł WiFi ESP8266-01 – ~ 2,50 USD online (zaryzykuj) LUB za niezawodny produkt SparkFun lub Adafruit ESP8266-01 – 6,95 USD
  • Uno Protoshield – 1,88 USD (lub ProtoShield Basic dla Arduino od Jaycar 4,95 USD)
  • 36-pinowa listwa Element14 – 0,95 USD (lub 4 nagłówki bez lutowania - 10-stykowe prosto z SparkFun 1,50 USD lub 40-pinowa listwa zaciskowa z Jaycar 0,95 USD)
  • LD1117V33 Regulator 3,3 V Element14 – 0,67 USD
  • 1 szt. 1N5819 Schottky Diode Element14 – 0,16 USD (lub 0,80 USD) Jaycar (dowolna dioda Schottky'ego wystarczy)
  • SIEĆ REZYSTOROWA BOURNS 4606X-101-332LF, 3K3 – 0,27 USD (Te rezystory podciągające mogą mieć dowolną wartość w zakresie od 3K3 do 10K) można również użyć 5 x dyskretnych rezystorów 3K3 zamiast jak w Rev. Rezystory 3K3 – Digikey – 0,52 USD (lub 3K3ohm 1/2 Watt 1% rezystory z metalowej folii – Pk.8 od Jaycar 0,55 USD)
  • 1 szt. Rezystor 330R Element14 0,05 USD LUB Rezystor Sparkfun 330 Ohm 1/6 W PTH - 20 sztuk 0,95 USD (lub 330ohm 1/2 W 1% rezystorów z metalowej folii - Pk.8 od Jaycar 0,55 USD)

  • 1 szt. kondensatora 0,1uF Element14 – 0,21 USD LUB Sparkfun 0,25 USD
  • 1 szt. kondensatora 10uF Element14 – 0,11 USD LUB Sparkfun 0,45 USD

Całkowity koszt ~6,80 USD + wysyłka (stan na sierpień 2015 r.) LUB ~11,25 USD przy użyciu modułu Sparkfun lub Adafruit ESP8266-01

Aby zaprogramować osłonę za pomocą konfiguracji przycisku i programu mostka UART do WiFi, potrzebny jest również kabel USB do szeregowego. Tutaj używany jest kabel szeregowy USB do TTL SparkFun (9,95 USD), ponieważ ma ładnie oznakowane końce i obsługuje sterowniki dla szerokiej gamy systemów operacyjnych, ale można również użyć kabla szeregowego USB do TTL Adafruit - kabel debugowania / konsoli dla Raspberry Pi, który to ta sama cena.

Wraz z kablem do programowania, koszt jednej osłony WiFi wynosi ok. 16,75 USD. Szybkie wyszukiwanie znajduje Arduino WiFi Shields kosztujące od co najmniej 30 USD do ponad 70 USD. Tak więc nawet wliczając jednorazowy koszt kabla do programowania, ekran ten jest tańszy niż inne dostępne ekrany, a także znacznie łatwiejszy w konfiguracji i obsłudze.

Krok 2: Budowa

Budowa
Budowa
Budowa
Budowa
Budowa
Budowa

Powyższy schemat (ESP8266_01_WiFi_Shield_R2.pdf) pokazuje rozmieszczenie części potrzebnych do tej osłony. Oprócz modułu ESP8266-01 jest tylko sześć komponentów.

Dioda 1N5819 zabezpiecza wejście ESP8266-01 RX przed wyjściami 5V mikroprocesora. Rezystor 330ohm (R6) zapewnia ochronę przed zwarciem wyjścia TX ESP8266-01 w przypadku przypadkowego wyprowadzenia wyjścia D1 mikroprocesora. Potrzebny jest jakiś rodzaj zasilania 3V3. Pin 3V3 Arduino UNO nie jest wystarczająco mocny, aby zasilić moduł ESP2866. Tutaj używany jest regulator z trzema zaciskami 5V do 3,3V LD1117V33. Kondensator 10uF jest potrzebny do stabilizacji regulatora LD1117V33, więc jest montowany jak najbliżej wyjścia regulatora.

Oto widoki z góry i z dołu ukończonej planszy.

Górna część deski wygląda na czystą. Spód deski to trochę szczurze gniazdo.

Upewnij się, że dokładnie sprawdziłeś okablowanie po zakończeniu, w szczególności okablowanie do pinów ESP8266-01 i regulatora trójkońcówkowego LD1117V33. Łatwo jest podłączyć do niewłaściwego kołka, gdy odwrócisz się i podłączysz od dołu. Regulator jest montowany do góry nogami, aby metalowy zaczep, który jest elektrycznie połączony z pinem wyjściowym, znajdował się z dala od pinów płyty.

Krok 3: Programowanie osłony WiFi

Programowanie osłony WiFi
Programowanie osłony WiFi
Programowanie osłony WiFi
Programowanie osłony WiFi
Programowanie osłony WiFi
Programowanie osłony WiFi

WiFi Shield musi być zaprogramowany raz, tylko i nigdy więcej, z konfiguracją strony internetowej i kodem Serial to WiFi Bridge.

Aby zaprogramować osłonę, postępuj zgodnie z instrukcjami podanymi na https://github.com/esp8266/arduino w sekcji Instalacja za pomocą menedżera tablic. Po otwarciu Menedżera tablic z menu Narzędzia → Tablica wybierz opcję Type Contributed i zainstaluj platformę esp8266. Ten projekt został skompilowany przy użyciu ESP8266 w wersji 1.6.4-673-g8cd3697. Późniejsze wersje będą lepsze, ale mogą mieć własne błędy, ponieważ platforma szybko się rozwija.

Zamknij i ponownie otwórz Arduino IDE i możesz teraz wybrać „Generic ESP8266 Module” z menu Narzędzia → Tablica.

Musisz także zainstalować najnowszą wersję pfodESP2866BufferedClient.zip Ta biblioteka współpracuje z wtyczką ESP8266.com IDE V2.2. Jeśli wcześniej zainstalowałeś bibliotekę pfodESP2866WiFi, całkowicie usuń ten katalog biblioteki.

  1. Pobierz ten plik pfodESP2866BufferedClient.zip na swój komputer, przenieś go na pulpit lub do innego folderu, który możesz łatwo znaleźć
  2. Następnie użyj opcji menu Arduino 1.6.5 IDE Szkic → Importuj bibliotekę → Dodaj bibliotekę, aby ją zainstalować. (Jeśli Arduino nie pozwala na jego instalację, ponieważ biblioteka już istnieje, znajdź i usuń starszy folder pfodESP8266BufferedClient, a następnie zaimportuj ten)
  3. Zatrzymaj i uruchom ponownie Arduino IDE, a w Plik->Przykłady powinieneś teraz zobaczyć pfodESP8266BufferedClient.

Ustawianie hasła konfiguracyjnego punktu dostępu

Po zainstalowaniu biblioteki pfodESP8266BufferedClient otwórz Arduino IDE i skopiuj ten szkic, ESP8266_WifiShield.ino, do IDE. Przed zaprogramowaniem osłony należy ustawić własne hasło dla konfiguracyjnego punktu dostępu.

W trybie konfiguracji WiFi Shield tworzy bezpieczny punkt dostępu o nazwie pfodWifiWebConfig z hasłem zawartym w kodzie QR dołączonym do tarczy. To bezpieczne połączenie zapobiega każdemu, kto podsłuchuje Twoje połączenie, gdy ustawiasz identyfikator i hasło swojej prawdziwej sieci. Powinieneś wygenerować własne hasło do swoich tarcz. Dostępny jest tutaj program Java SecretKeyGenerator, który generuje losowe klucze 128-bitowe i zapisuje pliki QR.png. Inną alternatywą jest użycie QR Droid Private (z Google Play), aby utworzyć kod QR dla własnego wybranego hasła.

W obu przypadkach musisz zaktualizować #define w górnej części szkicu własnym hasłem.

// =============== Początek ustawień pfodWifiWebConfig ========

// zaktualizuj to zdefiniowanie hasłem z kodu QR //https://www.forward.com.au/pfod/secureChallengeResponse/keyGenerator/index.html #define pfodWifiWebConfigPASSWORD "b0Ux9akSiwKkwCtcnjTnpWp"

Jeśli chcesz, możesz również ustawić własną konfigurację punktu dostępowego.

Programowanie tarczy

Aby zaprogramować nakładkę, wyjmij ją z płytki Arduino, zewrzyj FLASH_LINK (pokazany tutaj z niebieskim łącznikiem zwierającym na środku płytki) i podłącz kabel USB do szeregowego, jak pokazano na zdjęciu. Sprawdź zdjęcie i okablowanie.

Przewód RX łączy się z D0, a przewód TX łączy się z D1. VCC (+5V) łączy się z pinem 5V, a GND łączy się z pinem GND na ekranie. Skróć FLASH_LINK, jak pokazano powyżej. Powyższe zdjęcie dotyczy kabla SparkFun USB na szeregowy. Jeśli używasz kabla Adafruit, nie ma on oznaczonych zacisków, ale jest oznaczony kolorami, czerwony to zasilanie, czarny to uziemienie, zielony to TX, a biały to RX.

Dokładnie sprawdź połączenia VCC i GND, ponieważ łatwo jest skrócić zasilanie USB, jeśli masz jeden pin wyłączony

Następnie podłącz kabel USB do komputera, aby zasilić ESP8266-01 w trybie programowania. Wybierz jego port COM w menu Narzędzia → Port. Pozostaw domyślne ustawienia częstotliwości procesora, rozmiaru lampy błyskowej i szybkości przesyłania

Następnie wybierz Plik → Prześlij lub użyj przycisku strzałki w prawo, aby skompilować i przesłać program. Przesłane są dwa pliki. Jeśli pojawi się komunikat o błędzie przesyłania, sprawdź, czy połączenia kablowe są podłączone do właściwych pinów i spróbuj ponownie. Po zakończeniu programowania usuń zwarcie z FLASH_LINK.

Dołączanie kodu QR konfiguracji

Za każdym razem, gdy będziesz musiał skonfigurować osłonę, będziesz potrzebować unikalnego hasła do punktu dostępu do konfiguracji, więc wygodnie jest dołączyć je jako kod QR do osłony (lub jej obudowy). Oto plik prezentacji Open Office, który został użyty do wydrukowania kodu QR i szczegółów połączenia dla tego projektu. Zastąp kod QR i tekst hasła własnym unikalnym, aby uzupełnić tarczę.

Krok 4: Konfiguracja osłony WiFi

Konfiguracja osłony WiFi
Konfiguracja osłony WiFi
Konfiguracja osłony WiFi
Konfiguracja osłony WiFi
Konfiguracja osłony WiFi
Konfiguracja osłony WiFi

Każda osłona WiFi musi być skonfigurowana z nazwą sieci i hasłem sieci lokalnej. Należy również podać adres IP i numer portu, aby nasłuchiwać połączeń. Wszystkie inne osłony WiFi mają adres IP i port nie zakodowane na stałe w szkicu i albo na stałe zakodują nazwę sieci i hasło, albo używają zastrzeżonej metody z zastrzeżonymi aplikacjami do łączenia się z siecią lokalną. Jest to bardzo restrykcyjne, gdy masz wiele urządzeń w zmieniającym się środowisku. Ta osłona WiFi wykorzystuje metodę strony internetowej typu open source do konfigurowania nazwy sieci i hasła oraz adresu IP i numeru portu.

ESP8266-01 ma bardzo ograniczoną liczbę dostępnych wyjść, tylko GPIO0 i GPIO2. W tym projekcie, po włączeniu, kod w ESP2866-01 sprawdza, czy GPIO2 jest uziemione i jeśli tak, ustawia ESP8266-01 w trybie konfiguracji. Jednak uziemienie wejścia GPIO2 musi być opóźnione aż do zakończenia zasilania ESP8266-01. Jeśli GPIO2 jest uziemione podczas uruchamiania, moduł ESP8266-01 nie uruchamia się normalnie. To opóźnienie w uziemieniu GPIO2 jest osiągane przez użycie GPIO0 jako uziemienia. Po uruchomieniu ESP8266-01 kod setup() sprawia, że GPIO0 jest wyjściem i ustawia go na LOW. Spowoduje to uziemienie GPIO2, jeśli CONFIG_LINK zostało zwarte.

Pierwsza wersja tego projektu (Rev 1) używała dodatkowego cyfrowego wejścia/wyjścia Arduino do wykonania tego uziemienia, co wymagało dodatkowego kodu w szkicu Arduino. Rev 2+, usuwa potrzebę dodatkowego kodu w szkicu Arduino, poza krótkim opóźnieniem na górze setup(), aby zignorować dane wyjściowe debugowania ESP8266.

Aby przetestować konfigurację ESP8266-01 WiFi Shield, wystarczy podłączyć ją do płyty Arduino, zewrzeć CONFIG_LINK (niebieskie łącze zwierające po lewej stronie obrazu) i włączyć zasilanie do płyty Arduino.

W tym trybie konfiguracji moduł ESP8266 ustawia bezpieczny punkt dostępowy o nazwie pfodWifiWebConfig. Ten punkt dostępu pojawi się na telefonie komórkowym i komputerze. Aby połączyć się z tym punktem dostępu, musisz wprowadzić unikalne hasło do swojej tarczy. Możesz wpisać hasło ręcznie, ale łatwiej i bardziej niezawodnie jest zeskanować kod QR, który wcześniej dołączono do tarczy, za pomocą aplikacji do skanowania kodów QR, takiej jak QR Droid Private

Następnie skopiuj i wklej hasło na ekranie ustawień Wi-Fi swojego telefonu komórkowego, aby połączyć telefon z konfiguracyjnym punktem dostępu.

Następnie otwórz przeglądarkę internetową i wpisz adres URL https://10.1.1.1 Spowoduje to zwrócenie strony konfiguracyjnej.

Osłona WiFi automatycznie wypełnia identyfikator SSID sieci lokalną siecią o najlepszej sile sygnału. Który zwykle będzie tym, którego chcesz. Jeśli nie, po prostu nadpisz ten wpis. Musisz wprowadzić SSID sieci i hasło oraz portNo. Pole adresu IP jest opcjonalne. Jeśli pozostawisz to puste, WiFi Shield użyje DHCP, aby uzyskać swój adres IP w sieci lokalnej. Często łatwiej jest określić konkretny adres IP, aby można było łatwo połączyć się z tą osłoną.

Rev 10 pozwala również skonfigurować szybkość transmisji szeregowej dla tej osłony. Domyślnie jest to 19200, ale przykłady tutaj używają 9600, więc zmień szybkość transmisji na 9600

Jeśli Twoja przeglądarka jest zgodna z HTML5, strona internetowa zweryfikuje dane wejściowe przed ich wysłaniem.

Po kliknięciu przycisku Konfiguruj, WiFi Shield przetworzy wyniki i zapisze je w pamięci EEPROM, a następnie wyświetli stronę odpowiedzi, taką jak powyższa, z informacją o włączeniu i włączeniu zasilania, aby połączyć się z siecią.

Krok 5: Korzystanie z osłony WiFi

Korzystanie z osłony WiFi
Korzystanie z osłony WiFi
Korzystanie z osłony WiFi
Korzystanie z osłony WiFi
Korzystanie z osłony WiFi
Korzystanie z osłony WiFi

W kompletnym projekcie montowałbyś chwilowy przycisk na zewnątrz pudełka projektu, podłączony do CONFIG_LINK i poinstruował użytkownika, aby nacisnął przycisk, a następnie zasilił urządzenie, aby przejść do trybu konfiguracji. Kod załadowany do ESP8266-01 steruje również pinem GPIO0 ESP8266 w stanie LOW, gdy moduł jest w trybie konfiguracji, dzięki czemu można podłączyć rezystor 270 omów i diodę LED między szyną 3,3 V a GPIO0 i zamontować diodę LED na zewnątrz pudełka, aby wskazać użytkownikowi, że jest on w trybie konfiguracji.

Rev 10 pozwala również skonfigurować szybkość transmisji szeregowej dla tej osłony. Domyślnie jest to 19200, ale przykłady tutaj używają 9600, więc zmień szybkość transmisji na 9600 na stronie konfiguracji powyżej

Jak wspomniano powyżej, każdy szkic, który ładujesz do Arduino lub innego mikroprocesora, wymaga krótkiego opóźnienia, aby pominąć wyjście debugowania z modułu ESP8266. Poza tym, aby odbierać i wysyłać dane przez Wi-Fi, ze swojego szkicu, po prostu czytasz i zapisujesz do portu szeregowego (podłączonego do D0, D1) z prędkością 9600 bodów. Aby zignorować wyjście debugowania ESP8266, dodaj krótkie opóźnienie na górze metody setup()

pusta konfiguracja () {

opóźnienie (1000); // poczekaj chwilę, pozwól ESP8266 dokończyć włączanie // to również pomija wyjście debugowania WiFi Shield podczas włączania // przed rozpoczęciem połączenia szeregowego. …. inny kod konfiguracji tutaj

W tym przykładzie użyto Arduino UNO, ale możesz użyć dowolnego mikroprocesora, opartego na 5 V lub 3,3 V, który ma UART. Jeśli używasz mikroprocesora 3,3 V, musisz dostarczyć 5 V do zasilacza WiFi Shield. To 5V będzie również podłączone do pinu 5V osłony, więc musisz sprawdzić, czy jest to dopuszczalne dla mikro, do którego podłączasz osłonę.

Jako test tej osłony, pfodApp został użyty do włączania i wyłączania diody LED Uno przez Wi-Fi. Najpierw pfodDesigner został użyty do zaprojektowania prostego menu.

UWAGA: Najnowsza wersja pfodApp wysyła komunikaty keepAlive, dzięki czemu osłona Wi-Fi nie przekroczy limitu czasu

Następnie wygenerowano kod dla połączenia szeregowego z szybkością 9600 bodów i przeniesiono plik do komputera przy użyciu transferu plików przez Wi-Fi.

Do setup() szkicu nie trzeba było dodawać opóźnienia(1000), ponieważ parser pfod ignoruje wszelkie znaki poza { }, ale zostało to uwzględnione, ponieważ jest zalecane dla tej karty WiFi.

Pełny szkic, ESP8266_UnoLedControl.ino, jest tutaj. Zwróć uwagę, że nie ma specjalnego kodu WiFi, szkic po prostu odczytuje i zapisuje na wyjściu szeregowym.

Usuń WiFi Shield, wybierz Narzędzia → Płytka → Uno w Arduino IDE i zaprogramuj ten szkic w UNO. UWAGA: musisz usunąć osłonę WiFi, aby zaprogramować UNO, ponieważ USB jest podłączony do pinów TX/RX UNO.

Podłącz ponownie WiFi Shield, automatycznie połączy się z siecią lokalną i uruchomi serwer na skonfigurowanym porcie. W pfodApp możesz skonfigurować połączenie dla tego urządzenia. Aby uzyskać szczegółowe informacje, zobacz pfodAppForAndroidGettingStarted.pdf.

Następnie połącz się, aby włączyć i wyłączyć diodę LED Uno z telefonu komórkowego z systemem Android przez Wi-Fi.

To już koniec!!

Krok 6: Rozszerzenia dla osłony WiFi i wnioski

Dodawanie wsparcia klienta

Jak przedstawiono tutaj, osłona WiFi może być skonfigurowana do działania jako serwer nasłuchujący na określonym IP i porcie. Jednak pfodWifiConfig zapewnia również obsługę przechowywania i pobierania ustawień Klienta oraz ustawień serwera. Dodając te pola do konfiguracyjnej strony internetowej i zapisując / ładując wartości klienta, możesz również użyć tej osłony WiFi do połączenia się ze zdalnym serwerem za pomocą nazwy użytkownika i hasła klienta i przesłać tam dane.

Dodawanie zewnętrznego przycisku konfiguracji i diody LED

Jak wspomniano powyżej, w prawdziwej aplikacji można zamontować chwilowy przycisk na zewnątrz pudełka projektu, podłączony do CONFIG_LINK i poinstruować użytkownika, aby wcisnął przycisk, a następnie zasilił urządzenie, aby przejść do trybu konfiguracji. Kod, który załadowałeś do ESP8266-01, steruje pinem GPIO0 LOW, gdy moduł jest w trybie konfiguracji, więc możesz podłączyć rezystor 270ohm i diodę LED między szyną 3.3V a GPIO0 i zamontować diodę LED na zewnątrz pudełka, aby wskazać użytkownikowi, że jest w trybie konfiguracji.

Wniosek

Ta wersja 2 tarczy WiFi ESP8266-01 wykorzystuje tani i łatwo dostępny moduł ESP8266-01. Można również zastosować inne moduły ESP8266.

Raz zaprogramowany, nigdy nie trzeba go ponownie programować, aby ustawić lub zmienić ustawienia sieciowe. Wszystkie można ustawić za pośrednictwem strony internetowej w bezpiecznej tymczasowej sieci Wi-Fi.

Jest prosty w połączeniu z dowolnym mikroprocesorem wyposażonym w UART i współpracuje zarówno z mikroprocesorami 5 V, jak i 3,3 V.

Do połączenia z tą osłoną nie są wymagane żadne biblioteki. Działa jako prosty most szeregowy do WiFi.

Zalecana: