środa, 25 maja 2016

Arduino z ESP8266 - trzecie podejście

ESP-01


Mam 2 sztuki a w necie krytyka modułu ESP-0,1 że podatny na zakłócenia z powodu barku obudowy, niestabilny . Spróbuję go jednak użyć jako modułu w konfiguracji BLYNK <> ESP-01 <> Arduino <> RF433 by zestawić  drugą ścieżkę łączności Blynk'a z domowym systemem IoT tym razem bezprzewodowo.


Schemat połączenia do konwertera USB /TTL 3,3V ten sam jak poprzednio - tylko rezystory 1k do CH_PD i RST podwieszone do +3,3V. Noga GPIO2 wisi w powietrzu. (patrz schemat poniżej)

Kilka nieudanych prób i moduł zagadał na prędkości 115200. W programie ESP8266 Config wygląda to jeszcze lepiej. Połączenie z routerem domowym błyskawiczne. Co ważne - ustawienie prędkości na 9600 jest zapisywane do pamięci nieulotnej modułu tak więc reset i wyłączenie napięcia nie zmienia prędkości komunikacji (poza momentem startu gdzie wysyłane są komunikaty systemowe jak w poprzednim poście na prędkości 115200).  Ale po początkowych krzaczkach widzianych na prędkości 9600 na koniec wskakuje ładny komunikat  READY a za chwilę info o połączeniu się z siecią i pobraniu IP. Moduł działa i na moje oko bardziej stabilnie niż ESP-12.

Połączenie z Arduino


Wracam do prędkości 115200 i będę przyłączał moduł do sprzętowego RS232 UNO (piny 0 i 1). Gdyż ponieważ:
- prędkość ta zaszyta jest w ESP a nie chcę na razie kłopotów z przełączaniem prędkości modułu
- nie muszę instalować na razie biblioteki SerialSoft bo nie wiem jak działa
- mam większe zaufanie do hardwerowego seriala a pewność komunikacji z Blynk to podstawa całego systemu
- w rozwiązaniu docelowym Arduino RS232 nie będzie wykorzystywany więc szkoda go tak zostawić

To rozwiązanie wymusza rozłączanie linii Tx z ESP na moment wgrywania programu do UNO by coś wysyłane przez ESP nie zakłóciło transmisji. I oczywiście dodanie dzielnika napięcia na wyjściu Tx z Arduino (u mnie potencjometr 1,5 k). Na razie zostawiam zasilanie ESP z modułu konwertera czyli z osobnego USB - poprzez stabilizator DC/DC.

Schemat wygląda mniej więcej tak

Program

Skopiowałem go stąd >>>>>>>>> i oczywiście ...... nie działa. Komunikat na czerwono że coś pozmieniali w bibliotekach, trzeba wgrać nowe i patrzeć w przykładach.