Kupiłem niedawno ESP-12E, próbowałem je zaprogramować/skomunikować się z nim, ale miałem tylko programator USB-ASP, którego mi się do współpracy z ESP-12E nie udało zmusić. Zakupiłem zatem inny programator: USB to UART, i z nim już poszło lepiej. Oczywiście - nie bez problemów :)
Problem 1: okablowanie.
Próbowałem wielu kombinacji okablowania i komunikacji. U mnie zadziałało dopiero wersja opisana na hackaday.com.
Podłączenie w ten sposób spowodowało że komputer grzecznie zaczął się komunikować z ESP-12E, to był pierwszy sukces :)
Problem 2: komunikacja.
Najpierw próbowałem gadać z ESP-12E z użyciem Arduino. Za którymś razem się udało, trzeba było ustawić baud-rate na 74880 - w życiu bym sam nie wpadł na taką wartość ;) Albo 9600, albo 115200 - z niczym innym jeszcze się nie spotkałem (albo nie pamiętam :P ). Jak już zadziałała komunikacja po serialu, przyszedł czas na…
Problem 3: Wrzucenie oprogramowania.
Próbowałem robić to z użyciem esptool.py, ale się nie udało… dopiero użycie ESPlorera mi pomogło. Jak już ESPlorer wrzucił mi jakieś pliki (z błędami - nie wrzucał znaków nowej lini!), to udało mi się zmusić także esptool do współpracy. Wtedy już było dość łatwo: wrzucenie MicroPythona, wrzucenie swoich skryptów etc. No i nauka różnic między normalnym Pythonem a tym w wersji Micro ;)
Hint:
Wyczyszczenie bieżącego ROMu:
esptool.py -p /dev/tty.usbserial-A700JTUU -b 460800 erase_flash
Wrzucenie nowego ROMu:
esptool.py -p /dev/tty.usbserial-A700JTUU -b 460800 write_flash 0x00000 ~/Downloads/esp8266-20161110-v1.8.6.bin --flash_size=detect —verify
Wynik
W tej chwili mam działając ESP-12E które mi potrafi zaczytać temperaturę, wilgotność, jasność i sprawdzić ruch (tu jeszcze trochę muszę poeksperymentować, jakieś przekłamania są), oraz wszystko to wrzucić na zdalny serwer.
Podsumowanie
Ogólnie, trzeba koniecznie zwrócić uwagę na następujące problemy:
- właściwy baud rate - w życiu bym nie wpadł na to żeby gadać inaczej niż 9600 lub 115200 :D a tutaj u mnie zadziałało dopiero 74880 ;)
- jakość zasilania - u mnie nie było problemu, od razu zasilałem zewnętrznym zasilaczem, ale sporo osób zasila ESP-12E bezpośrednio z USB i wtedy słabo działa. Czytałem że sporo ludzi też ma problem z tym, że zapomina połączyć masy FTDI/USBtoUART i zasilacza.
- dobre połączenia - czasem wystarczy że któryś z przewodów się obluzuje, i ESP-12E od razu przestaje chcieć gadać.