Dotarł dziś do mnie moduł NodeMCU bazujący na ESP8266, niby nic wyjątkowego, mam już ESP-10, ale ten moduł po pierwsze ma wbudowany konwerter USB<->UART, więc można go podłączyć bezpośrednio do komputera, po drugie ma dużą liczba wyprowadzonych pinów, po trzecie moduł ma piny opisane zgodnie z nomenklaturą stosowaną w firmware NodeMCU. Jeśli hasło NodeMCU nic Ci nie mówi to krótko opiszę co to jest.
Pozostałe części cyklu:
NodeMCU – co to jest?
Projekt NodeMCU to firmware dla modułu ESP8266 umożliwiający programowanie go w języku Lua. Jeśli pierwszy raz słyszysz o Lua to witaj w klubie 🙂 Całe szczęście język jest na tyle prosty, że jeśli masz jakiekolwiek doświadczenie z jakimkolwiek językiem programowania lub chociaż tworzeniem skryptów, to jesteś gotowy do programowania NodeMCU.
Wgrywanie NodeMCU do modułu z ESP8266
Używam systemu Windows, a dla tego systemu przygotowano prosty w obsłudze program, który wszystko za mnie zrobił, program jest dostępny na GitHubie. Nie trzeba pobierać całości archiwum, wystarczy sam plik wykonywalny, który znajduje się w katalogu Win32/Release lub Win64/Release, zależnie od systemu, którego używasz. Po uruchomieniu programu musiałem w zakładce Advanced zmienić szybkość komunikacji na 115200 b/s (domyślnie było 230400), ponieważ moduł dostarczony przez Kamami skonfigurowany był do działania z tą właśnie szybkością.
Pierwsze kroki z Lua
Do komunikacji z modułem można użyć np. terminala dostępnego w środowisku Arduino IDE, najpierw wybieramy w menu Narzędzia>Port właściwy wirtualny port COM, następnie wciskamy Ctrl+Shift+M (lub wybieramy z menu Narzędzia>Szeregowy monitor), ustawiamy prędkość portu na 9600 b/s, koniec linii na „Zarówno NL i CR”. Teraz naciskamy przycisk reset na module, jeśli prawidłowo wgraliśmy firmware to NodeMCU przedstawi się w następujący sposób:
gpio.mode(0, gpio.OUTPUT)
Polecenie wpisujemy w terminal, następnie naciskamy Enter. Teraz można zaświecać i gasić diodę poleceniami:
gpio.write(0, gpio.HIGH)
gpio.write(0, gpio.LOW)
To tyle na dziś, następnym razem postaram się pokazać trochę bardziej zaawansowane przykłady.
Płytkę NodeMCU dostarczył sklep internetowy dla elektroników Kamami.pl.
Próbowałem skorzystać z porad tego poradnika, niestety wpisanie komendy gpio.write(0, gpio.HIGH) powoduje tylko chwilowe zapalenie niebieskiej diody. (tak jakby zapalała się ona na czas transmisji danych)
🙁
Witam,
Informacje załączone do opisu nie są wystarczające do wykonania wczytania flash-a do modułu ESP8266. Log po próbie wczytania jest następujący:
Note:Detect serial port changed.
Note:Auto MAP serial port.Port–>COM7
Note:Serial port connected.
Note:Begin find ESP8266.
Note:ESP8266 ACK success.
Note:ESP8266 ACK success.
Error:Set ESP8266 Address timeout.
Pozdrawiam
Firmware do wgrania nie trzeba wybrać ?
Ponawiam pytanie poprzednika:
Firmware do wgrania nie trzeba wybrać ?