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ć.