WiFi ESP8266 to nowy krok w projektowaniu urządzeń domowych z interfejsem bezprzewodowym. ESP8266 „Witty Cloud” to obecnie najpopularniejszy moduł WiFi do produktów domowych i inteligentnego domu

Różne opcje implementacji modułu ESP8266 były tutaj recenzowane już nie raz i zasłużenie. Ten niewielki, wielkości monety chip z WiF na pokładzie może pracować zarówno jako punkt dostępowy, jak i klient i można go w dowolny sposób programować – a sprzedawany jest za kilka dolarów.

Zanim zdążyliśmy przyzwyczaić się do faktu, że na Arduino, Attiny czy STM można wykonać najróżniejsze ciekawe rzemiosła, urządzenia z Wi-Fi i wydajnymi procesorami 80 megaherców stały się ich cenową konkurencją. (Cholera, mój procesor jest w pierwszym własny komputer był trochę szybszy, ile mam lat).

Jeden problem - wszystkie urządzenia z ESP8266 jakie przeszły przez moje ręce były bardzo niewygodne, podłączenie ich było uciążliwe. Ale chiński przemysł nas usłyszał i poradził sobie prawie dobrze :)

Dlaczego „kochamy” różne warianty ESP8266:

  • Zasilane są napięciem 3,3 V, a nie jak zwykle pięcioma
  • W szczytowym momencie wymagają prądu do 320mA, co przekracza możliwości konwencjonalnych konwerterów USB-TTL.
  • Odstęp między wyjściami płytki zwykle nie wynosi standardowego 2,54 mm, ale dokładnie 2 mm, co sprawia, że ​​lutowanie jest skomplikowaną przygodą
  • Istnieje tylko jedna wersja płytki z rozstawem pinów 2,54 mm („ESP8266-01”), ale ma ona minimum użytecznych pinów
  • Chip przełącza się w tryb programowania poprzez zwarcie styków, co wymagało umiejętności. Lub lutowanie przycisku
  • Przy Resetie ten sam problem - albo wyłącz zasilanie, albo przylutuj przycisk
A potem chiński przemysł wypuścił „ESP8266-12E” pod nazwą „ Dowcipna chmura»:

Deska to „kanapka” złożona z dwóch osób. Na górnej warstwie (po lewej na obu zdjęciach) znajduje się sam układ ESP8266, poniżej złącze zasilania MicroUSB i regulator napięcia AMS1117-3.3, którego zadaniem jest zamiana 5 woltów na 3,3. Według arkusza danych regulator ma prądy do 0,8 A, więc jest to więcej niż wystarczające do zasilania chipa. Tam - Przycisk reset uruchomić ponownie.
Aby mieć czym zająć puste rogi płytki, Chińczycy wepchnęli tam diodę RGB i fotorezystor, o czym później.

Na dolnej warstwie „kanapki” (na zdjęciu po prawej) znajduje się pełnoprawny MicroUSB, układ CH340G oraz przyciski „Flash” (tryb oprogramowania układowego) i „Reset”.

„Sandwich” daje większą swobodę działania. Możesz podłączyć „kanapkę” do komputera w dolnej (pełnej) Złącze USB, przeprogramuj go - a następnie zintegruj tylko górną część ze swoim statkiem, oszczędzając na wielkości korpusu.

Ponadto spód „kanapki” można wykorzystać do programowania domowych modułów. Ja sam przylutowałem leżące moduły ESP8266-12 i ESP8266-07 na niezbyt udanych adapterach za 0,22$ i podłączyłem regulatory AMS1117 „na smark” - obydwa działały bez żadnych problemów i okazały się w 100% kompatybilne pod względem złączy i guziki:

Dobra, dość chwalenia modułu, zróbmy coś pożytecznego. Strona sprzedawcy reklamuje jakiś SDK, a nawet jakąś chińską „chmurę” dla urządzeń opartych na ESP8266 i Androidzie, chociaż nie ma (prawie) żadnych informacji na ich temat w języku angielskim. Jeśli tak, zrezygnujmy z nich, wystartujmy ArduinoIDE 1.6 i przejdźmy do ustawień.

W oknie „Dodatkowe adresy URL” wstaw wiersz https://arduino.esp8266.com/package_esp8266com_index.json Następnie otwórz „Menedżer tablic” i wpisz w pasku wyszukiwania „ESP8266”. Kliknij Zainstaluj i przygotuj się na oczekiwanie, aż zostanie pobranych aż 130 megabajtów pakietów:

Podłączmy „kanapkę” do komputera do dolnego (pełnego) złącza MicroUSB. System Windows musi wykryć konwerter USB-TTL „CH340G” i przypisać do niego port wirtualny. To właśnie ten port określimy w ustawieniach Arduino IDE. Reszta ustawień to:

Umieśćmy podstawowy kod w pamięci

#włączać const char* ssid = "??? nazwa twojego punktu Wi-Fi ???"; const char* hasło = "???hasło???"; Serwer WiFiServer(80); void setup() ( Serial.begin(115200); WiFi.begin(ssid, hasło); while (WiFi.status() != WL_CONNECTED) ( opóźnienie(500); Serial.print("."); ) serwer. Begin(); Serial.print("Adres IP naszego modułu: "); Serial.println(WiFi.localIP()); ) void pętli() ( Klient WiFiClient = serwer.available(); if (!klient) ( return; ) while(!client.available())( opóźnienie(1); ) klient.flush(); String s = "HTTP/1.1 200 OK\r\nTyp zawartości: tekst/zwykły\r\n\r \nwitaj z esp8266!\n"; klient.print(s); opóźnienie(1); )

Należy pamiętać, że podczas procesu flashowania nie ma potrzeby naciskania przycisku Flash - płyta zajmie się wszystkim sama.

Po wgraniu nowego programu do ESP8266 można go odłączyć od komputera i zasilać nawet z powerbanku. Dolna część„Kanapkę” można odłączyć, nie jest już potrzebna.

Zarówno z Pomoc Arduino monitor szeregowy (prędkość portu - 115200) lub w interfejsie internetowym routera sprawdzamy adres IP, który otrzymaliśmy domowa sieć Wi-Fi nasz ESP8266. Otwórz ten adres w przeglądarce na swoim komputerze lub telefonie:

Nasze urządzenie jest podłączone do sieć domowa, uruchomił serwer WWW i odpowiada na nas.

Czy jesteś pewien, że Twoje urządzenie działa? Przejdźmy dalej. Aby służył do czegoś pożytecznego w życiu codziennym warto się z nim „zaprzyjaźnić” np. przekaźnikiem. To prawda, że ​​​​klasyczne przekaźniki 5 V z definicji nie są już potrzebne - ryzyko jest zbyt duże, że napięcie 3,3 V nie wystarczy, aby elektromagnes pociągnął zworę. Dlatego bierzemy przekaźnik półprzewodnikowy firmy Omron za 1,90 USD. Według datasheet napięcie jakie posiadamy jest wystarczające aby działał wyraźnie:

„plus” i „minus” podłączamy do styków VCC i GND górnej warstwy „kanapki”, a trzeci przewód sygnałowy do np. styku GPIO 2. Jako program możesz wziąć szkic WiFiWebServer, który jest dołączony do biblioteki Arduino, lub skorzystaj z programu kolegi Zapisz13 z samopal.pro/wifi-power-esp8266/

Do testu wziąłem prostą żarówkę halogenową o mocy 20W i kliknąłem do woli:

Operacja następuje w ułamku sekundy po wydaniu polecenia. Aby sprawdzić niezawodność, umieściłem w kodzie prosty licznik i naszkicowałem prosty plik nietoperza, który włączał i wyłączał żarówkę z przerwą na sekundę. Otworzyłem kilka dodatkowych okien, z których zacząłem bombardować adres IP modułu niekończącym się poleceniem ping. Po kilku godzinach licznik włączeń przekroczył 19 tysięcy, ale wszystko działało - co daje pewną pewność co do niezawodności urządzenia.

Jeśli doczytałeś aż dotąd, ale w Twojej głowie pojawia się myśl „to wszystko jest skomplikowane”, mam dla Ciebie coś przyjemnego.

Pamiętaj, że o tym wspomniałem Chiński producent„na zmianę”, czy umieściłeś na płytce diodę RGB i fotorezystor? Możesz z nimi eksperymentować, nawet jeśli nie masz innych czujników ani innych urządzeń peryferyjnych.

W tej opcji będziesz musiał podjąć wysiłek i uruchomić Arduino IDE dokładnie raz.


Ekran aplikacji to puste pole, na którym możesz umieszczać elementy niczym na dashboardzie. Najpierw spróbuj „zeRGBa” i „miernik”:

W ustawieniach zebry określ, że trójkolorowa dioda LED na płytce jest podłączona do pinów 12 (zielony), 13 (niebieski) i 15 (czerwony):

W ustawieniach „miernika” określ, że fotorezystor na płytce jest podłączony do wejścia analogowego „adc0”:

Aktywuj to, co wyrzeźbiłeś, klikając przycisk w prawym górnym rogu. Zobaczysz, że żółty wskaźnik zmienia się w zależności od poziomu światła, a dioda RGB na „kanapce” zmienia kolor, gdy szturchasz przejście dla pieszych:

Praktyka pokazała, że ​​dzieciom naprawdę podoba się ta rzecz. Granie w cudze gry na tablecie to jedno, a samodzielne wykonanie i pomalowanie „pilota” i sterowanie czymś namacalnym to inna sprawa. Wystarczy zająć się częścią przygotowawczą w Arduino, a potem pokazać jak się z niego korzysta, dostarczyć kilka diod, przycisków czy części np. analogowy czujnik temperatury LM35 - od razu zabiorą Ci „zabawkę” a Twoje dziecko będzie zajęte przez długi czas. Za uszy cię nie wciągną, zostało to sprawdzone.

Dla szybkie tworzenie Prototypy Blynk również okazały się bardzo wygodne – łatwiej jest tam naszkicować przyciski i przełączniki, niż zbudować własny interfejs WWW. Zaoszczędzony czas można z większym pożytkiem przeznaczyć na montaż kolejnego statku.

Streszczenie

Za cenę nieco powyżej 200 rubli otrzymujesz bardzo mocny i cichy niezależne urządzenie, na którym możesz zaprogramować najróżniejsze przydatne dla Twojego domu rzeczy - i sterować nimi poprzez Wi-Fi.

„Kanapka” okazała się zaskakująco udana. Jest o ponad dolara droższy od samego ESP8266-12, ale pozwala zaoszczędzić mnóstwo czasu i kłopotów. Pęczek przewodów i płytka stykowa nie są potrzebne.

Przenieś z ustawieniem wstępnym do Tablica LED i fotosensor - bardzo udany. Nawet jeśli nie masz nic poza modułem i kablem MicroUSB, nadal możesz przynajmniej najpierw coś wypróbować i cieszyć się zakupem. Jeśli nie są potrzebne w gotowym produkcie, po prostu je przylutuj lub odetnij.

W tej cenie „kanapka” jest wyraźnym konkurentem Arduino Nano i sprawia, że ​​jest ona bardzo zbędna Moduły Bluetooth(typ HC-05), a nawet więcej - moduły radiowe NRF24L01+.

Złapałem się i prawie złamałem tradycję:

Obecnie dzięki rozwojowi koszt modułów Wi-Fi to zwykle grosze. Pozwala to na rozwój urządzeń domowych na poziomie Technologia Wi-Fi. Co nam to daje? Tak naprawdę wiele jest praktycznie tym samym, co sam Internet, oprócz wszystkiego innego. Zatem tworząc dowolne urządzenie, będzie ono miało teraz dostęp do sieci i Internetu (jeśli jest obecne w sieci), co oznacza, że ​​teoretycznie urządzenie będzie dostępne dla każdego innego urządzenia znajdującego się w sieci lub podłączonego do Internetu. Jeszcze pięć lat temu nie mogliśmy nawet marzyć o takim poziomie urządzeń domowych.

Postanowiłem zrobić urządzenie, które przesyłałoby dane z czujników do Internetu, dzięki czemu możliwe byłoby monitorowanie odczytów z dowolnego miejsca w mieście, kraju czy terenie za pośrednictwem Internetu.

Zatem przy wyborze Moduł Wi-Fi Wybór ESP8266 padł na model ESP-07 z łącznością antena zewnętrzna aby uzyskać najlepszy sygnał zakupiony w Chiński sklep internetowy GearBest. W tym przypadku będzie nam potrzebna sama antena (nie zawracałem sobie głowy szczegółami, ale dowolna inna ze złączem RP-SMA na Częstotliwości Wi-Fi), złącze do podłączenia anteny do modułu oraz w razie potrzeby przedłużacz do anteny. Plus niezbędne czujniki.

Pracować z moduł ESP-07 Płytkę drukowaną wykonano według następującego schematu:

Obwód składa się z trzech głównych bloków: stabilizatora napięcia 3,3 V VR1 z niezbędnymi elementami (regulowaną wersję stabilizatora można zastąpić ams1117 3v3 z wyjątkiem rezystorów R1 i R3), bloku niezbędnego do programowania modułu WiFi wykonany jest w oparciu o konwerter interfejsu USB-UART CH340G z niezbędnym okablowaniem mikroukładu (CH340G można zastąpić dowolnymi innymi mikroukładami o odpowiedniej funkcjonalności poprzez zmianę okablowania dla wymienianego chipa), samego modułu WiFi, a także jako elementy niezbędne do jego obsługi i programowania. Aby wejść do trybu programowania należy wcisnąć przycisk S2 Prog i zrestartować moduł lub wyłączyć i włączyć zasilanie przy wciśniętym przycisku S2 Prog. Następnie za pomocą oprogramowania na komputerze PC pobierz oprogramowanie do modułu WiFi. Po zakończeniu aktualizacji oprogramowania należy ponownie uruchomić moduł, ale bez wciskania przycisku S2 Prog - w ten sposób moduł będzie pracował w trybie głównym. W przypadku korzystania z anteny zewnętrznej, na płytce znajduje się miejsce na zamocowanie wspornika anteny. Sam wspornik może mieć najprostszą konfigurację. Do podłączenia do komputera służy złącze mini-USB.

Aby podłączyć antenę do ESP-07, użyj kabla IPX do RP-SMA. Ponieważ wybrałem dla siebie antenę 18 dB GDI-8218, urządzenie zmontowane z czujnikami wygląda dość groźnie. Oczywiście w przypadku korzystania z wielu czujników trzeba wszystko podłączyć deska do krojenia chleba, jeśli do monitorowania parametrów pogodowych (mierzy temperaturę, ciśnienie i wilgotność) użyjesz tylko jednego czujnika BMP280, wówczas obwód będzie wyglądał piękniej. Dodatkowo płytka pod ESP8266 została wykonana jako narzędzie uniwersalne, więc jeśli ją przerobisz tak, aby zamontować czujniki bezpośrednio na płytce, obwód nabierze bardziej zwartego i estetycznego wyglądu.

Korzystanie z anteny w tej formie nie zawsze jest wygodne, dlatego dla wygody można zastosować przedłużacz RP-SMA męski na żeński do anteny, aby zabezpieczyć ją w dogodna lokalizacja lub po prostu zrób to w odniesieniu do całego schematu.

Alternatywą dla takiej płytki mogą być fabryczne płytki nodemcu lub adaptery do styków PLS/PBS. Te ostatnie posiadają jedynie parę rezystorów niezbędnych do włączenia modułu oraz miejsce na stabilizator napięcia (brak w zestawie). Ze względu na ich bardzo minimalistyczny charakter, nie było mi wygodnie używać takich płytek (chyba że w ramach innego urządzenia wyposażonego w złącze dla takiej płytki).

Do połączenia z modułem czujnika można wykorzystać wszystkie wolne GPIO modułu. Aby uzyskać odczyty potrzebnych nam parametrów, można zastosować dowolne czujniki w dowolnej konfiguracji, o której mowa porozmawiamy poniżej. Użyłem czujników DS18B20 w formacie sondy miernika (wygodnie jest monitorować temperaturę na zewnątrz lub dowolnej cieczy, ponieważ jest ona uważana za wodoodporną), BMP180 do monitorowania ciśnienie atmosferyczne i AM2302 do kontroli wilgotności w pomieszczeniu. Nie zapomnij o niezbędnym okablowaniu czujników, jeśli nie używasz ich w postaci modułów ze wszystkim, co niezbędne: DS18B20 jest podłączony za pomocą rezystora podciągającego do plusa zasilania (rezystor 10 kOhm pomiędzy przewodem 1-przewodowym pin i plus zasilania), podobnie dla AM2302 (DHT22), czujniki pracujące na magistrali I 2 C powinny mieć także rezystory podciągające na stykach SCL i SDA.

Aby jednak osiągnąć rezultat, konieczne jest napisanie oprogramowania układowego, aby urządzenie działało dokładnie tak, jak tego potrzebujemy. Mając przygotowane pomysły, szukając SDK dla ESP8266, natrafiono na internetowy projektant oprogramowania sprzętowego (lub kompilator online), który nie wymaga wiedzy programistycznej (w większości jego funkcji)! Aby uzyskać dostęp do zestawu oprogramowania sprzętowego, wymagana jest rejestracja, w przeciwnym razie to menu nie będzie w ogóle dostępne. Bez rejestracji można pobrać jedynie oprogramowanie sprzętowe „szybkiego startu”.

Wystarczy zaznaczyć pola z niezbędnymi funkcjami i skompilować oprogramowanie układowe dla modułu ESP8266, pobrać je (tutaj musimy wziąć pod uwagę, że pamięć modułu nie jest nieograniczona i wybrać niezbędne funkcje, ponieważ cała funkcjonalność modułu online kompilator nadal nie zmieści się w jednym urządzeniu).

Następnie wykonaj flashowanie modułu za pomocą programu nodemcu-flasher (ustawienia programu poniżej na zrzutach ekranu) (podłącz urządzenie przez USB do komputera). Podczas flashowania nie należy nic podłączać do pinów UART modułu (GPIO1, GPIO3), w przeciwnym razie moduł może nie zostać flashowany. Jeśli planujesz podłączyć coś do tych pinów, to powinieneś to wyłączyć na czas działania oprogramowania. Po wgraniu oprogramowania restartujemy moduł lub wyłączamy i włączamy zasilanie - w zależności od ustawień moduł połączy się z siecią lub utworzy własny punkt dostępowy. Urządzenie jest gotowe do ustawień i użytkowania!

Jeżeli moduł WiFi był już używany z innym oprogramowaniem, zaleca się, aby przed zapisaniem głównego oprogramowania spisać oprogramowanie w pustym formularzu (plik w aplikacjach).

Ustaw ustawienia dla modułu ESP-07 (jak pokazuje praktyka, ustawienie wielkości pamięci flash nie ma wpływu na używaną próbkę; najwyraźniej poprawna wartość jest ustawiana automatycznie):

Określ ścieżkę do pliku oprogramowania sprzętowego:

Sprecyzować Port COM zainstalowany podczas podłączania tego modułu i naciśnij przycisk Flash (jeśli wszystko zostanie wykonane poprawnie, to rozpocznie się ładowanie firmware do modułu):

Poczekaj na zakończenie oprogramowania sprzętowego:

Przed kompilacją oprogramowania sprzętowego wygodnie jest ustawić ustawienia domyślne na stronie kompilatora online, gdzie należy wprowadzić nazwę punktu dostępu i Hasło do wifi router (sekcja „ System" na końcu listy wyboru funkcjonalności przed montażem oprogramowania). Dodatkowo możesz ustawić statyczny adres IP dla urządzenia. W tym celu w funkcje systemu musisz zaznaczyć pole obok „ Ustawienia domyślne» i kliknij koło zębate, aby wyświetlić menu, w którym w razie potrzeby można wprowadzić te dane. W takim przypadku po włączeniu urządzenia WiFi, automatycznie połączy się ono z routerem. Po włączeniu otwórz przeglądarkę i w pasku adresu wpisz adres IP urządzenia, z którym zarejestrowało się w sieci. Dochodzimy do menu Urządzenia Wi-Fi, gdzie możesz nie tylko monitorować parametry czujników w sieci, ale także konfigurować inne funkcje, które wybrałeś przed montażem oprogramowania.

Jeśli przed złożeniem oprogramowania nie dokonasz ustawień domyślnych, to przy pierwszym włączeniu (po flashowaniu należy wcisnąć przycisk resrt na module 3 razy w odstępie 1 sekundy) zostanie utworzony punkt dostępowy hamessmart według adresu 192.168.4.1 . Korzystając z telefonu lub laptopa, musisz połączyć się z punktem dostępowym i przejść pod ten adres przez przeglądarkę, dokonać ustawień, w razie potrzeby dokonać ponownej konfiguracji Tryb stacji w ustawieniach Główny(zaloguj się, aby wejść do menu , hasło 0000 ), wpisując także nazwę punktu Dostęp do Wi-Fi router i hasło.

Najpierw musisz wejść w ustawienia w menu Główny(pole Konfig zawiera linki do ustawień i konfiguracji wybranych funkcji).

Aby wejść do menu, musisz podać swoją nazwę użytkownika i hasło. 0000 . Tutaj możesz zarządzać ustawieniami zabezpieczeń, czasu i połączenia sieciowego. Aby zapisać wprowadzone ustawienia, należy nacisnąć przycisk Ustawić.

Wróć do menu głównego i kliknij link Sprzęt komputerowy. Tutaj włączamy i konfigurujemy czujniki, które zostaną podłączone do modułu (obecność różnych czujników w tym menu jest uzależniona od ich wyboru podczas montażu oprogramowania - jeśli nie wybierzesz czegoś przed kompilacją, funkcje te nie będą dostępne w samo oprogramowanie). Dla czujników pracujących na magistrali I2C należy ustawić wspólny dla wszystkich urządzeń GPIO. Dlaczego powszechny? Magistrala I2C umożliwia równoległe podłączenie wielu urządzeń. Każde takie urządzenie ma swój własny adres i gdy tylko urządzenie master prześle ten adres, urządzenie slave z tym adresem będzie wiedziało, że teraz będą z nim wymieniane dane, podczas gdy inne urządzenia na magistrali będą nieaktywne. Do podłączenia czujników wilgotności DHT11/22 służy oddzielna nóżka modułu, którą ustawia się w ustawieniach tego menu. Aby włączyć czujnik DS18B20 należy także ustawić osobny pin GPIO, następnie pamiętając o zapisaniu wprowadzonych ustawień należy przejść do menu głównego i podążać łączem 1-wire.

W tym menu kliknij Wyczyść i zeskanuj listę, po czym powinien się pojawić ID czujnik DS18B20. I dopiero potem czujnik temperatury będzie działał.

Do podłączenia czujników analogowych można zastosować przetwornik ADC (jedyny pin ADC moduł Wi-Fi). Jest to wbudowany przetwornik ADC modułu o pojemności bitowej 10 bitów (1023 próbki) z napięciem odniesienia 1,024 V. Jeżeli czujnik ma poziom napięcia wyjściowego większy od tej wartości, należy zastosować dzielnik napięcia wykorzystujący rezystory o znanym współczynniku podziału. Wynikowa wartość z ADC będzie się różnić od wartości rzeczywistej o ten współczynnik. Wiele czujników analogowych jest dostępnych na rynku w postaci modułów opartych na LM393. Zasada działania takich modułów jest taka, że ​​rezystor dostrajający ustala napięcie odniesienia dla komparatora (LM393), a gdy tylko uderzenie w czujnik zwiększa napięcie na wejściu komparatora, czyniąc je większym od odniesienia, następuje jednostka logiczna zostanie utworzona na wyjściu tego modułu. W ten sposób możesz dostosować próg reakcji czujnika (a raczej modułu tego czujnika) i zarejestrować osiągnięcie tego progu po prostu za pomocą GPIO ESP8266 skonfigurowany dla wejścia. W tym celu należy przejść do menu głównego i kliknąć łącze GPIO. W tym menu ustaw dla niego numer PIN i tryb pracy, a następnie zapisz. Odczyty będą takie jak „ 0 " Lub " 1 " - próg został osiągnięty lub nie, działanie zostało wykonane lub nie.

Teraz, aby wyświetlić odczyty czujników w Internecie, kliknij link Serwery Lub DDNS w zależności od wybranej metody połączenia internetowego. Początkowo planowałem wykorzystać w tym celu usługę narodmon.ru, która wyświetla bezpośrednio na mapie odczyty czujników wszystkich użytkowników korzystających z tej usługi. Ponadto w tej usłudze znajdują się aplikacje i widżety do urządzenia mobilne i PC, co jest bardzo wygodne. Zarejestruj się w tym serwisie (jest on całkowicie bezpłatny) za pomocą ID(patrz zrzut ekranu poniżej - link Serwery pola Konfig).

Praca ludzieodmon(popularny monitoring) przechowuje odczyty czujnika przez okres do 1 roku i umożliwia zestawienie wskaźników czujnika za dany okres, oprócz innych funkcji.

Po wszystkich manipulacjach w Ustawienia wifi dane modułu są wysyłane do serwis zewnętrzny kontrola i przechowywanie wskaźników sensorycznych, które można przeglądać z dowolnego miejsca na świecie z dostępem do Internetu. Strona główna modułu dostępna jest w lokalna sieć i wyświetla odczyty wszystkich podłączonych czujników. Wymagany efekt został osiągnięty.

Oczywiście kompilator online zapewnia wiele innych funkcji: połączenie różne wyświetlacze, wysyłać email lub sms (wymagane moduł gsm Dla wysyłanie SMS-ów bez usług internetowych), wykonywanie niestandardowych operacje logiczne, sterowanie różnymi urządzeniami peryferyjnymi za pomocą GPIO i PWM, rejestrowanie monitorowanych parametrów na karcie pamięci SD i wiele więcej. Jeśli jeden moduł nie wystarczy, można wykonać ich kilka, będą one stanowić jedną całość wspólna sieć dzięki funkcjom wirtualnych czujników i wirtualnego GPIO (jedno urządzenie otrzymuje odczyty z czujników od drugiego POBIERZ prośbę). Jeśli po prostu nie ma wystarczającej liczby portów wejścia/wyjścia, dostępne są funkcje umożliwiające podłączenie ekspanderów portów. Niektóre funkcje są dostępne tylko w trybie oprogramowania Pro, który jest aktywowany na stronie głównej za pomocą łącza GET PRO. Aby aktywować należy wpisać kod, który nie jest darmowy, ale kosztuje jedynie symboliczną kwotę, którą można uzyskać w konto osobiste internetowa witryna kompilatora.

W przypadku ustawień ważne jest, aby nie pomylić GPIO modułu (jeśli ESP-07 jest wlutowany do płytki, oznaczenia pinów nie są widoczne) z normalną pracą:

Oprócz tego pozostałe zaciski modułu można podłączyć do wyświetlacza na którym będziemy wyświetlać wartości czujników pogodowych. Projektant obsługuje wyświetlacze ILI9341 - TFT LCD 240x320 pracujące poprzez interfejs SPI.

Podczas montażu oprogramowania określamy, do których pinów GPIO CS i DC wyświetlacza zostaną podłączone (menu ustawień wywoływane jest na stronie projektanta podczas wybierania funkcji poprzez kliknięcie zębatki obok potrzebnej nam funkcji). Pozostałe piny należy podłączyć w następujący sposób: MOSI - GPIO13, SCK - GPIO14, reset i diodę LED podłączamy do plusa zasilacza vcc i odpowiednio vcc i gnd do plusa i minusa zasilacza (bierzemy zasilanie z modułu WiFi 3,3 V).

Tutaj włączamy TFT, jeśli to konieczne, obracamy wyświetlacz o 90 stopni i ustawiamy, w których liniach ( Linia 0, Linia 2...) jakie informacje będziemy wyświetlać. Z włączoną funkcją Czas i NTP W funkcjach systemowych projektanta informacja o czasie pobierana jest z serwera NTP za pośrednictwem Internetu, co zamienia nasze urządzenie w dokładny zegar, którego nie trzeba konfigurować. Wyprowadzamy Obecny czas do wyświetlacza i kilka dodatkowych parametrów pogodowych do uzupełnienia wyświetlacza. Aby to zrobić w terenie Wybierz linię wybieramy linię, obok niej wybieramy parametr, który będziemy wyświetlać w tej linii, poniżej w razie potrzeby wybieramy centrowanie danych, rozmiar czcionki i kolor czcionki. Kliknij Ustawić i ustawienie zostanie zapisane. Czcionka jest wyłącznie czcionką prostą. Wybór przygotowanych parametrów jest dość mały, ale wystarczający, ale za pomocą konstruktora stringów można wyświetlić dowolne parametry w dowolnej konfiguracji.

Do artykułu dołączony jest plik płytka drukowana dla modułu ESP-07, firmware z pustą formą, firmware z różną funkcjonalnością dla ESP-07, trochę dokumentacji, sterownik do programowania USB dla układu CH340G, program do flashowania ESP8266.

Lista radioelementów

Przeznaczenie Typ Określenie Ilość NotatkaSklepMój notatnik
IC1 Moduł ESP8266ESP-071 Do notatnika
IC2 Układ scalony interfejsu USBCH340G1 Do notatnika
VR1 regulator liniowy

AMS1117-ADJ

1 Do notatnika
VD1 Dioda Schottky’ego

1N5819

1 Do notatnika
R1 Rezystor

3 kOhm

1 1206 Do notatnika
R2, R7-R9 Rezystor

10 kiloomów

4 0805 Do notatnika
R3 Rezystor

1,8 kOhm

1 1206 Do notatnika
R4 Rezystor

1 kOhm

1 0805 Do notatnika
R5, R6 Rezystor

390 omów

2 0805 Do notatnika
C1 Kondensator10 µF1 na płycie ceramicznej 1206 Do notatnika
C7 Kondensator22 µF1 tantal + 2,2 µF ceramika 1206 Do notatnika
C6 Kondensator100 µF1 tantal

Moduł chipsetu ESP8266 jest prosty i tani sposób dodaj funkcje do swojego urządzenia komunikacja bezprzewodowa poprzez Wi-Fi.

Użyj ESP8266, aby zdalnie sterować swoim urządzeniem lub dokonywać odczytów czujników przez Internet. Podłącz swój gadżet do portale społecznościowe lub reagować na dane, które otrzymujesz poprzez API z serwisów internetowych.

Rodzina modułów ESP8266 obejmuje wiele odmian. Prezentowany moduł to ESP-01. Jego Antena Wi-Fi jest wbudowany w płytkę, a nóżki dodatkowo posiadają 2 wolne porty GPIO.

Interakcja

Urządzenie sterujące komunikuje się z ESP8266 poprzez UART (port szeregowy) za pomocą zestawu poleceń AT. Dlatego praca z modułem jest banalna dla każdej płytki z interfejsem UART: używaj Arduino, Raspberry Pi, co tylko dusza zapragnie.

Praca nad odbieraniem i przesyłaniem danych przypomina interakcję z surowym gniazdem TCP lub portem szeregowym komputera.

Ponadto moduł można przeflashować. Możesz programować i przesyłać oprogramowanie sprzętowe poprzez Arduino IDE, tak jak podczas pracy z Arduino. Odpowiedź na polecenia AT jest po prostu funkcją oprogramowania zainstalowanego fabrycznie. Możesz także napisać własny, jeśli projekt tego wymaga. Ponieważ moduł posiada 2 porty we/wy ogólnego przeznaczenia, można w ogóle obejść się bez płyty sterującej: wystarczy podłączyć bezpośrednio do nich urządzenia peryferyjne.

Aby Arduino IDE nauczyło się flashować ESP8266, wystarczy dodać katalog z konfiguracją platformy do folderu ze swoimi szkicami.

Do fizycznego połączenia podczas flashowania oprogramowania potrzebny będzie konwerter USB-UART lub płytka Arduino/Iskra skonfigurowana w trybie mostu USB.

Odżywianie

Natywne napięcie modułu wynosi 3,3 V. Jego szpilki nie toleruje napięcia 5 woltów. Jeśli do styków zasilania, komunikacji lub wejścia/wyjścia zostanie przyłożone napięcie wyższe niż 3,3 V, moduł ulegnie awarii.

Dlatego też, aby przesłać dane do modułu z tablic sterujących napięciem 5 V, należy doprowadzić napięcie do akceptowalnego zakresu. Odpowiedni jest dzielnik dwóch rezystorów o tej samej wartości (na przykład 10 kOhm).

Do odbioru danych nie są potrzebni pośrednicy. Sygnał 3,3 V w takiej postaci będzie postrzegany przez płytę sterującą jako jednostka logiczna.

Zasil moduł napięciem równym 3,3 V. Można je uzyskać z oddzielnego regulatora napięcia.

Moduł zużywa szczytowo 220 mA. Regulator napięcia stosowany na pięciowoltowych płytach Arduino dla pinu 3,3 V może nie wystarczyć. Zwróć uwagę na specyfikacje swojej płyty. Na przykład Arduino Uno i Arduino Leonardo mogą wyprowadzać nie więcej niż 50 mA z pinu 3,3 V, dlatego należy do nich zastosować zewnętrzny regulator; a Iskra Neo może dostarczyć do 800 mA, więc może zasilać ESP8266 bezpośrednio z płytki.

Pinout

Ze względu na położenie nóg blisko siebie w 2 rzędach, moduł nie może być instalowany na płycie stykowej. Do podłączenia pinów modułu użyj płytki lutowniczej lub przewodów ze złączami żeńskimi.

Układ ESP8266 to jedno z najpopularniejszych narzędzi do organizowania komunikacji bezprzewodowej w projektach inteligentnego domu. Używając kontroler bezprzewodowy możesz organizować komunikację za pośrednictwem interfejsu WiFi, zapewniając Projekty Arduino Dostęp do Internetu oraz możliwość zdalnego sterowania i gromadzenia danych. Takie popularne tablice jak WeMos i NodeMcu, a także wielka ilość domowe projekty. W tym artykule dowiemy się, czym jest ESP82266, jakie są jego odmiany i jak pracować z ESP8266 w Arduino IDE.

ESP8266 to mikrokontroler z interfejsem WiFi, który posiada możliwość wykonywania programów z pamięci flash. Urządzenie zostało wydane w 2014 roku Chińska firma Espressif i niemal natychmiast stał się popularny.

Kontroler jest niedrogi, ma niewielką liczbę elementy zewnętrzne i posiada następujące parametry techniczne:

  • Obsługuje protokoły Wi-Fi 802.11 b/g/n z WEP, WPA, WPA2;
  • Posiada 14 portów wejściowych i wyjściowych, SPI, I2C, UART, 10-bitowy ADC;
  • Obsługuje pamięć zewnętrzną do 16 MB;
  • Wymagane napięcie zasilania wynosi od 2,2 do 3,6 V, pobór prądu do 300 mA, w zależności od wybranego trybu.

Ważną cechą jest brak nieulotnej pamięci użytkownika w chipie. Program jest wykonywany z zewnętrznej pamięci ROM SPI przy użyciu obciążenie dynamiczne niezbędne elementy programu. Dostęp do wewnętrznych urządzeń peryferyjnych można uzyskać nie z dokumentacji, ale z API zestawu bibliotek. Producent podaje przybliżoną ilość pamięci RAM - 50 kB.

Cechy płyty ESP8266:

  • Wygodne połączenie z komputerem – poprzez Kabel USB, jedzenie z niego;
  • Dostępność wbudowanej przetwornicy napięcia 3,3V;
  • Dostępność 4 MB pamięci flash;
  • Wbudowane przyciski do ponownego uruchamiania i flashowania;
  • Wszystkie porty wyprowadzono na płytkę za pomocą dwóch grzebieni o rastrze 2,5 mm.

Obszary zastosowań modułu ESP8266

  • Automatyzacja;
  • Różne systemy inteligentnego domu: Sterowanie bezprzewodowe, gniazdka bezprzewodowe, kontrola temperatury, dodatek do systemów alarmowych;
  • elektronika mobilna;
  • Identyfikator tagu;
  • Zabawki dla dzieci;
  • Sieci siatkowe.

piny esp8266

Istnieje ogromna liczba odmian modułu ESP8266. Na rysunku przedstawiono niektóre z nich. Najpopularniejszą opcją jest ESP 01.

O wykonaniu programu musi decydować stan portów GPIO0, GPIO2 i GPIO15 w momencie zakończenia zasilania. Można wyróżnić dwa istotne tryby - gdy kod jest wykonywany z UART (GPIO0 = 0, GPIO2 = 1 i GPIO15 = 0) w celu flashowania karty flash oraz gdy jest wykonywany z zewnętrznej pamięci ROM (GPIO0 = 1, GPIO2 = 1 i GPIO15 = 0) w trybie standardowym.

Rozkład pinów dla ESP01 pokazano na rysunku.

Opis kontaktu:

  • 1 – masa, 8 – moc. Według dokumentacji napięcie dostarczane jest do 3,6 V - warto to wziąć pod uwagę podczas pracy z Arduino, które zwykle zasilane jest napięciem 5 V.
  • 6 – RST, potrzebny do ponownego uruchomienia mikrokontrolera, gdy zostanie do niego zastosowany niski poziom logiczny.
  • 4 – CP_PD, używany również do wprowadzenia urządzenia w tryb oszczędzania energii.
  • 7 i 0 – RXD0 i TXD0, jest to sprzętowy UART wymagany do flashowania modułu.
  • 2 – TXD0, do tego pinu podłączona jest dioda LED, która zapala się gdy poziom logiczny na GPIO1 jest niski oraz gdy dane są przesyłane poprzez UART.
  • 5 – GPIO0, port wejściowy i wyjściowy, pozwala także na wprowadzenie urządzenia w tryb programowania (po podłączeniu portu do niskiego poziomu logicznego i przyłożeniu napięcia).
  • 3 – GPIO2, port wejściowy i wyjściowy.

Układ pinów ESP-12

Główne różnice pomiędzy Arduino i ESP8266

  • ESP8266 ma większą ilość pamięci flash, podczas gdy ESP8266 nie ma pamięci nieulotnej;
  • Procesor ESP8266 jest szybszy niż Arduino;
  • ESP8266 ma Wi-Fi;
  • ESP8266 zużywa więcej prądu niż Arduino;

Programowanie ESP8266 w Arduino IDE

Zestaw deweloperski esp8266 zawiera:

  • Kompilator z kolekcji kompilatorów GNU.
  • Biblioteki, WiFi, stosy protokołów TCP/IP.
  • Sposób ładowania informacji do programu sterownika.
  • Działające IDE.

Początkowo moduły ESP8266 dostarczane są z oprogramowaniem od producenta. Za jego pomocą można sterować modułem z zewnętrznego mikrokontrolera i pracować z Wi-Fi jako modem. Istnieje również wiele innych gotowych firmware. Część z nich umożliwia konfigurację pracy modułu za pomocą interfejsu WEB.

Można programować z poziomu Arduino IDE. Za jego pomocą można łatwo pisać szkice i przesyłać je do ESP8266, flashować ESP8266 i nie wymagać samej płytki Arduino. Arduino IDE obsługuje wszystkie rodzaje modułów ESP8266.

W obecnie Dla ESP8266 można zaimplementować następujące funkcje:

  • Podstawowe funkcje języka Wiring. Portami GPIO można sterować w identyczny sposób, jak pinami na płytce Arduino: pinMode, digitalRead, digitalWrite, analogWrite. Komenda analogRead(A0) umożliwia odczyt wartości ADC. Za pomocą polecenia analogWrite (pin, wartość) można podłączyć PWM do właściwe wyjście GPIO. Gdy wartość = 0, PWM jest wyłączone, maksymalna wartość osiąga stałą równą 1023. Używając funkcji dołączaniaInterrupt i detachInterrupt, możesz przerywać na dowolnym porcie GPIO z wyjątkiem 16.
  • Czas i opóźnienie. Za pomocą poleceń millis i micros możesz zwrócić ms i μs, które upłynęły od początku. Opóźnienie umożliwia wstrzymanie wykonywania programu na żądany czas. Również funkcja opóźnienia(…) pozwala na zachowanie normalności Praca Wi-Fi, jeśli szkic zawiera duże elementy, których ukończenie zajmuje ponad 50 ms. Yield() jest odpowiednikiem funkcji opóźnienia(0).
  • Serial i Serial1 (UART0 i UART1). Praca szeregowa na ESP8266 jest podobna do pracy na Arduino. Zapisywanie i odczytywanie danych blokuje wykonanie kodu, jeśli 128-bajtowy bufor FIFO i 256-bajtowy bufor programowy jest pełny. Obiekt Serial wykorzystuje sprzętowy UART0, można dla niego ustawić piny GPIO15 (TX) i GPIO13 (RX) zamiast GPIO1(TX) i GPIO3(RX). Aby to zrobić, po wykonaniu Serial.begin(); musisz wywołać Serial.swap();. Podobnie Serial1 wykorzystuje UART1, który służy do transmisji. Wymagany pin to GPIO2.
  • PROGRAM MAKRO. Jego działanie przypomina Arduino. Pozwala się poruszać odczytać dane tylko i stałe łańcuchowe w pamięci flash. Jednocześnie ESP8266 nie przechowuje tych samych stałych, co prowadzi do dodatkowego marnowania pamięci flash.
  • I2C. Przed pracą z magistralą I2C wybiera się magistrale za pomocą funkcji Wire.pins(int sda, int scl).
  • SPI, OneWire – w pełni obsługiwane.

Używanie esp8266 do komunikacji z Arduino przez Wi-Fi

Przed podłączeniem do Arduino należy pamiętać, że napięcie zasilania ESP8266 nie może być wyższe niż 3,6, natomiast na Arduino napięcie wynosi 5 V. Należy podłączyć 2 mikrokontrolery za pomocą dzielników rezystancyjnych. Przed podłączeniem modułu należy zapoznać się z pinoutem wybranego ESP8266. Schemat podłączenia ESP8266-01 pokazano na rysunku.

3,3 V z Arduino do Vcc&CH_PD na module ESP8266, Masa z Arduino do masy z ESP8266, 0 – TX, 1 – RX.

Aby zapewnić stabilną pracę ESP8266, wymagane jest źródło Napięcie stałe przy 3,3 V i maksymalny prąd 250 mA. Jeśli zasilanie pochodzi z konwertera USB-TTL, mogą wystąpić awarie i awarie.

Praca z biblioteką Wi-Fi dla ESP8266 jest podobna do biblioteki dla zwykłej tarczy. Istnieje kilka funkcji:

  • mode(m) – aby wybrać jeden z trzech trybów: klient, punkt dostępowy lub oba tryby jednocześnie.
  • softAP(ssid) – potrzebny do utworzenia otwartego punktu dostępu.
  • softAP(ssid, hasło) – tworzy punkt dostępu z hasłem, które musi składać się z co najmniej 8 znaków.
  • WiFi.macAddress(mac) i WiFi.softAPmacAddress(mac) – określa adres MAC.
  • WiFi.localIP() i WiFi.softAPIP() – określenie adresu IP.
  • printDiag(Serial); – pozwoli Ci poznać dane diagnostyczne.
  • WiFiUDP – obsługa wysyłania i odbierania pakietów multicast w trybie klienta.

Praca wykonywana jest według następującego algorytmu:

  • Podłączenie USB-TTL do USB i ESP.
  • Uruchamianie ArduinoIDE.
  • W menu narzędzi wybierz żądany port, kartę, częstotliwość i rozmiar pamięci flash.
  • Plik - Przykłady - ESP8266WiFi - WiFiWebServer.
  • Zapisz na szkicu identyfikator SSID i hasło sieci Wi-Fi.
  • Rozpocznij kompilację i przesyłanie kodu.
  • Poczekaj na zakończenie procesu oprogramowania sprzętowego, odłącz GPIO0 od masy.
  • Ustaw prędkość na 115200.
  • Nastąpi połączenie i adres IP zostanie zarejestrowany.
  • Otwórz przeglądarkę, wejdź pasek adresu Numer IP/gpio/1
  • Spójrz na monitor portu; jeśli do wyjścia GPIO2 jest podłączona dioda LED, powinna się zaświecić.

NodeMCU oparty na esp8266

NodeMCU to platforma oparta na module esp8266. Służy do zdalnego sterowania obwodem za pomocą Internetu poprzez Wi-Fi. Płytka jest niewielkich rozmiarów, kompaktowa, niedroga i posiada złącze USB z przodu. W pobliżu znajdują się przyciski do debugowania i ponownego uruchamiania mikrokontrolera. Zainstalowany jest również układ ESP8266. Napięcie zasilania wynosi od 5 do 12 V, zaleca się zasilanie powyżej 10 V.

Dużą zaletą płytki jest niski pobór mocy. Często stosuje się je w obwodach z własnym zasilaniem. Na płycie znajduje się tylko 11 portów ogólnego przeznaczenia, z których część ma funkcje specjalne:

  • D1 i D2 – dla interfejsu I2C/TWI;
  • D5-D8 - dla interfejsu SPI;
  • D9, D10 – dla UART;
  • D1-D10 – może pracować jako PWM.

Platforma posiada nowoczesne API do sprzętowego wejścia i wyjścia. Pozwala to zmniejszyć liczbę kroków podczas pracy ze sprzętem i podczas jego ustawiania. Za pomocą oprogramowania sprzętowego NodeMCU możesz wykorzystać pełny potencjał roboczy szybki rozwój urządzenia.

WeMos oparty na esp8266

WeMos to kolejny rodzaj platformy opartej na mikrokontrolerze esp8266. Odpowiednio, istnieje Moduł Wi-Fi, obsługuje Arduino IDE, posiada złącze na antenę zewnętrzną. Płyta posiada 11 cyfrowych wejść/wyjść, które (oprócz D0) obsługują przerwania/pwm/I2C/one-wire. Maksymalne napięcie zasilania sięga 3,3 V. Na platformie znajduje się także złącze USB. Wejście analogowe 1 o maksymalnym napięciu 3,2V.

Aby pracować z modułem należy zainstalować sterownik CH340 oraz skonfigurować Arduino IDE dla ESP8266. Aby to zrobić należy dodać adres http://arduino.esp8266.com/stable/package_esp8266com_index.json w menu ustawień w wierszu „dodatkowy link do menadżera płytki”.

Następnie musisz znaleźć pakiet esp8266 by ESP8266 i zainstalować go. Następnie z menu narzędzi wybierz mikrokontroler Wemos D1 R2 i zapisz żądany szkic.

Wnioski dotyczące ESP8266

Dzięki płytom opartym na chipie ESP8266 możesz dodawać możliwości do swoich projektów. duży internet”, czyniąc je znacznie bardziej inteligentnymi. Pilot, gromadzenie i analiza danych na serwerze, przetwarzanie głosu i praca z obrazami - to wszystko staje się dostępne, gdy połączymy nasz projekt poprzez WiFi z Internetem. W kolejnych artykułach przyjrzymy się bliżej sposobom programowania urządzeń opartych na esp8266, a także zwrócimy uwagę na tak popularne płytki jak WeMos i NodeMcu.

Został ciepło przyjęty przez społeczność Habra. Pomimo tego, że zawierał niewiele konkretnych informacji. Był ku temu dobry powód – podpisaliśmy umowę NDA w celu otrzymania pakietu SDK od producenta rozwiązania, firmy Espressif. Dlatego po prostu powiedzieliśmy: „u nas jest takie rozwiązanie”. Aby zainteresowani mieli możliwość zwrócenia uwagi.

Któregoś dnia my (projekt COOLRF, nie zapomnij subskrybuj naszą społeczność VKontakte, jeśli nie jesteś jeszcze członkiem) otrzymali pozwolenie od producenta chipa na publikację w naszych artykułach informacji, które wcześniej podlegały warunkom umowy o zachowaniu poufności. Wszystkich zainteresowanych szczegółami zapraszamy pod kat.

Typowe przypadki użycia

ESP8266 jest przeznaczony do stosowania w inteligentne gniazdka, sieci mesh, kamery IP, czujniki bezprzewodowe, elektronikę do noszenia i tak dalej. Krótko mówiąc, ESP8266 narodził się, aby stać się mózgiem nadchodzącego Internetu rzeczy.

Istnieją dwie możliwości wykorzystania chipa: 1) w postaci mostka UART-WIFI, gdy do komputera podłączony jest moduł oparty na ESP8266 istniejące rozwiązanie oparty na dowolnym innym mikrokontrolerze i sterowany poleceniami AT, zapewniający komunikację rozwiązania z infrastrukturą Wi-Fi; 2) wdrożenie nowego rozwiązania wykorzystującego sam układ ESP8266 jako mikrokontroler sterujący.

Pierwszy scenariusz został pokrótce opisany w naszym ostatnim artykule. Realizowany jest przy użyciu dowolnego z niedrogich chińskich modułów ESP8266. Dobrze nadaje się dla miłośników Arduino i tych, którzy mają już w rękach gotowe schematy i debugowane oprogramowanie sprzętowe oparte na czymś własnym, bardzo kochanym.

Druga wersja scenariusza polega na napisaniu niestandardowego oprogramowania układowego sterującego chipem od wewnątrz. W ten moment Oprogramowanie sprzętowe musi być napisane dla zastrzeżonego kompilatora. Z tym w zasadzie związane są wymogi dotyczące nieujawniania informacji związanych z tą decyzją. W najbliższej przyszłości producent planuje przejść na korzystanie z GCC i te ograniczenia zostaną zniesione.

Scenariusz wykorzystania chipa jako mikrokontrolera sterującego jest ciekawy, ponieważ pozwala na tworzenie urządzeń, które są naprawdę małe i naprawdę długo wytrzymują na bateriach. Aby pracować z urządzeniami peryferyjnymi, ESP8266 ma wszystkie niezbędne możliwości.

Kluczowe cechy

Układ ESP8266 jest jednym z najbardziej zintegrowanych dostępnych rozwiązań Wi-Fi. Wewnątrz chipa zmieści się cała masa wszystkiego, co w konkurencyjnych rozwiązaniach często stanowi część zewnętrznego wykończenia:

Dzięki temu typowa wiązka chipów składa się tylko z kilku elementów. Mniej elementów = niższy koszt komponentów, niższy koszt lutowania, mniejszy obszar umieszczenia, niższy koszt PCB. Co jest doskonale potwierdzone aktualne ceny moduły oparte na bohaterze naszej dzisiejszej recenzji.

Całe to zintegrowane zarządzanie jest kontrolowane przez rozszerzoną wersję 32-bitowego procesora serii L106 Diamond firmy Tensilica. Co ciekawego jest w środku?

  • Protokół 802.11 b/g/n
  • Wi-Fi Direct (P2P), programowy AP
  • Zintegrowany stos protokołów TCP/IP
  • Zintegrowany przełącznik TR, balun, LNA, wzmacniacz mocy i pasująca sieć
  • Zintegrowany PLL, regulatory i jednostki zarządzania energią
  • Moc wyjściowa +20,5 dBm w trybie 802.11b
  • Obsługuje różnorodność anten
  • Wyłącz prąd upływowy< 10uA
  • SDIO 2.0, SPI, UART
  • STBC, 1x1 MIMO, 2x1 MIMO
  • Agregacja A-MPDU i A-MSDU oraz interwał ochronny 0,4 μs
  • Obudź się i przesyłaj pakiety< 22ms
  • Pobór mocy w trybie gotowości< 1.0mW (DTIM3)

Technologia bardzo niskiego poboru mocy

Zużycie energii jest jednym z najważniejszych ważne cechy rozwiązanie, które twierdzi, że jest mózgiem miliardów urządzeń Internetu rzeczy. Jaki jest powód popularności BLE i różnych autorskich implementacji interfejsów radiowych? Przecież w końcu wszystkie urządzenia oparte na tych implementacjach wciąż starają się dostać zwykłe Wi-Fi za pomocą specjalnych urządzeń mostowych.

Sekret jest prosty – trudno stworzyć urządzenie podłączone do WiFi, które działałoby wystarczająco długo z własnym zasilaniem. Konsumenci nie są gotowi na wymianę baterii w czujnikach co dwa–trzy miesiące. Dlatego „dostęp do sieci” musiał być zapewniony przez mosty podłączone do stałej energii elektrycznej. ESP8266 powinien rozwiązać ten problem. Wi-Fi można teraz używać nawet w samodzielnych czujnikach zasilanych małymi bateriami. Dzięki zastosowaniu zaawansowanych mechanizmów zarządzania energią rozwiązanie.

Jeśli szybko przyjrzysz się charakterystyce zużycia chipa, możesz pozostać w ciemności. 215mA w trybie nadawania - nic specjalnego? Tak, ale po przeczytaniu arkusza danych zaczynasz rozumieć perspektywy rozwiązania. ESP8266 zużywa około 60uA w trybie głębokiego uśpienia (przy uruchomionym zegarze czasu rzeczywistego) i mniej niż 1,0 mA (DTIM=3) lub mniej niż 0,5 mA (DTIM=10) w trybie utrzymywania połączenia z punktem dostępowym Wi-Fi.