Niewielki pobór mocy oraz moduły komunikacyjne opracowane z użyciem wspomnianego we wstępie mikrokontrolera idealnie nadają się do zastosowania we własnych projektach z dziedziny IoT. Kurs będzie obejmował użycie modułów ESP przy tworzeniu własnych elementów IoT, takich jak: bezprzewodowa stacja pogodowa, bezprzewodowe moduły wykonawcze oraz czujniki.
Na początek
W kursie zostanie użyty moduł ESP-12-Q. Jest on zgodny z wersją ESP-12, różni się jedynie dodatkowymi pinami na spodzie PCB. Moduł wymaga zasilania napięciem 3,3 V. Przy współpracy z systemem nadrzędnym zasilanym napięciem innym niż 3,3 V, należy zastosowań konwerter poziomu napięcia.
Fabrycznie nowy moduł pracuje pod kontrolą oprogramowania wykonanego przez producenta. Komunikacja odbywa się w oparciu o transmisję UART, parametry połączenia są następujące:
- Prędkość transmisji: 115200 b/s (w starszych wersjach jest to 9600 b/s).
- 8 bitów danych.
- Bez bitu parzystości.
- 1 bit stopu.
Sposób sterowania wykorzystuje zasadę request/response i opiera się o komendy AT. Do pierwszych testów wystarczy zwykły konwerter USB/UART. Należy zwrócić uwagę na napięcie na liniach Rx i Tx, aby nie przekraczały poziomu 3,6 V, czyli maksymalnego napięcia dla mikrokontrolera ESP8266.
Z racji tego, że układ mikrokontrolera ESP8266 można programować własnym kodem z wykorzystaniem komunikacji UART, pinu GPIO0 użyto do sterowania bootloaderem. Po ustawieniu GPIO0 bootloader ładuje kod programu z pamięci Flash, natomiast po wyzerowaniu oczekuje na nowy kod i zadpisuje go w pamięci Flash. Rezystory w aplikacji R1…R3 dodano, aby w momencie pisania własnego oprogramowania nie stworzyć zwarcia poprzez zmianę poziomu pinu podłączonego na stałe do któregoś z biegunów zasilania.
Pierwsze uruchomienie
Moduł należy podłączyć do przejściówki USB/UART krzyżując linie Rx i Tx. Do komunikacji można zastosować dowolny terminal – tutaj zostanie użyty darmowy program Putty. Po włączeniu zasilania w konsoli powinien pojawić się komunikat. Wiadomość „ready” oznacza poprawny start oprogramowania i gotowość do pracy.
Aby przetestować poprawną pracę modułu, można sprawdzić wersję oprogramowania za pomocą polecenia AT+GMR. Odpowiedź modułu, informuje nas nie tylko w wersji programu, ale też o tym, że wszystko zostało poprawnie połączone i że ustawiliśmy poprawne parametry transmisji.
Kilka słów wyjaśnienia odnośnie do samych komend. Wszystkie zaczynają się od przedrostka „AT”, za którym – najczęściej po znaku „+” – jest umieszczana komenda i jej argumenty. Polecenie jest interpretowane w chwili, gdy moduł odbierze znaki powrotu karetki i nowej linii. Należy zwracać szczególną uwagę na kolejność tych znaków, ponieważ przeciwnym razie komenda zostanie zignorowana. W przypadku korzystania z Putty kombinacje klawiszy generujące niezbędne kody to:
- Powrót karetki: CTRL+M.
- Znak nowej linii: CTRL+J.
Każde polecenie, oprócz wyniku zawsze zwraca status „OK” lub „ERROR” zależnie od rezultatu jego wykonania. Zależnie od oprogramowania, może też pojawić się komunikat „Busy p….”, który informuje o tym, że moduł jest zajęty i nie przyjmie komendy. Listę dostępnych komend znajdziemy na stronie producenta.