Dzień dobry,
powoli zaczynam zabawę z automatyką w moim domu. Już podczas pierwszych działań napotykam na następujący problem:
nie mogę sflashować
WEMOS D1 mini ESP8266-12F
z programu
ESPEasy_ESP82xx_mega-20220809 lub ESPEasy_mega-20180415
Próbowałem rożne kable, swerste ESPEasy i 2 komputery z Win10 i Win7.
Jestem początkujący w tym temacie tak więc korzystałem z popularnych filmików YT gdzie widziałem tylko jak ludzie podłączają usb i sobie miło flashują.
Już z początku okazało się że muszę zainstalować sterowniki do programatora zintegrowanego na płytce - spojrzałem na płytkę i znalazłem na niej układ CH340C, zainstalowałem sterowniki, wtedy ESPEasy odnajdywał port.
Podczas flasowania napotkałem na następny problem
Poniżej logi:
######2022-10-14###### #######0.04.007####### ######FLASH INFO###### BIN file: ESP_Easy_mega_20220809_normal_ESP8266_4M1M.bin COM port: (COM13) USB-SERIAL CH340 (Port_#0002.Hub_#0002) Baud rate: 115200 ######POST FLASH###### No post flash information entered... ######FLASH LOG###### [esptool.exe -vv -cd nodemcu -cb 115200 -cp COM13 -ca 0x00000 -cf "D:\mstank3\temp\ESPEasy_ESP82xx_mega-20220809\bin\ESP_Easy_mega_20220809_normal_ESP8266_4M1M.bin"] [2022-10-14 15:12:45] esptool v0.4.12 - (c) 2014 Ch. Klippel <ck@atelier-klippel.de> [2022-10-14 15:12:45] setting board to nodemcu [2022-10-14 15:12:45] setting baudrate from 115200 to 115200 [2022-10-14 15:12:45] setting port from to COM13 [2022-10-14 15:12:45] setting address from 0x00000000 to 0x00000000 [2022-10-14 15:12:45] espcomm_upload_file [2022-10-14 15:12:45] espcomm_upload_mem [2022-10-14 15:12:45] setting serial port timeouts to 1000 ms [2022-10-14 15:12:45] opening bootloader [2022-10-14 15:12:45] resetting board [2022-10-14 15:12:45] trying to connect [2022-10-14 15:12:45] flush start [2022-10-14 15:12:45] setting serial port timeouts to 1 ms [2022-10-14 15:12:45] setting serial port timeouts to 1000 ms [2022-10-14 15:12:45] flush complete [2022-10-14 15:12:45] espcomm_send_command: sending command header [2022-10-14 15:12:45] espcomm_send_command: sending command payload [2022-10-14 15:12:45] espcomm_send_command: receiving 2013 bytes of data [2022-10-14 15:12:45] read 0, requested 1 [2022-10-14 15:12:45] error: failed reading byte [2022-10-14 15:12:45] warning: espcomm_send_command: can't receive slip payload data [2022-10-14 15:12:45] trying to connect [2022-10-14 15:12:45] flush start [2022-10-14 15:12:45] setting serial port timeouts to 1 ms [2022-10-14 15:12:45] setting serial port timeouts to 1000 ms [2022-10-14 15:12:45] flush complete [2022-10-14 15:12:45] espcomm_send_command: sending command header [2022-10-14 15:12:45] espcomm_send_command: sending command payload [2022-10-14 15:12:45] espcomm_send_command: receiving 2013 bytes of data [2022-10-14 15:12:45] read 0, requested 1 [2022-10-14 15:12:45] error: failed reading byte [2022-10-14 15:12:45] warning: espcomm_send_command: can't receive slip payload data [2022-10-14 15:12:45] trying to connect [2022-10-14 15:12:45] flush start [2022-10-14 15:12:45] setting serial port timeouts to 1 ms [2022-10-14 15:12:45] setting serial port timeouts to 1000 ms [2022-10-14 15:12:45] flush complete [2022-10-14 15:12:45] espcomm_send_command: sending command header [2022-10-14 15:12:45] espcomm_send_command: sending command payload [2022-10-14 15:12:45] espcomm_send_command: receiving 2013 bytes of data [2022-10-14 15:12:45] read 0, requested 1 [2022-10-14 15:12:45] error: failed reading byte [2022-10-14 15:12:45] warning: espcomm_send_command: can't receive slip payload data [2022-10-14 15:12:45] resetting board [2022-10-14 15:12:45] trying to connect [2022-10-14 15:12:45] flush start [2022-10-14 15:12:45] setting serial port timeouts to 1 ms [2022-10-14 15:12:45] setting serial port timeouts to 1000 ms [2022-10-14 15:12:45] flush complete [2022-10-14 15:12:45] espcomm_send_command: sending command header [2022-10-14 15:12:45] espcomm_send_command: sending command payload [2022-10-14 15:12:45] espcomm_send_command: receiving 2013 bytes of data [2022-10-14 15:12:45] read 0, requested 1 [2022-10-14 15:12:45] error: failed reading byte [2022-10-14 15:12:45] warning: espcomm_send_command: can't receive slip payload data [2022-10-14 15:12:45] trying to connect [2022-10-14 15:12:45] flush start [2022-10-14 15:12:45] setting serial port timeouts to 1 ms [2022-10-14 15:12:45] setting serial port timeouts to 1000 ms [2022-10-14 15:12:45] flush complete [2022-10-14 15:12:45] espcomm_send_command: sending command header [2022-10-14 15:12:45] espcomm_send_command: sending command payload [2022-10-14 15:12:45] espcomm_send_command: receiving 2013 bytes of data [2022-10-14 15:12:45] read 0, requested 1 [2022-10-14 15:12:45] error: failed reading byte [2022-10-14 15:12:45] warning: espcomm_send_command: can't receive slip payload data [2022-10-14 15:12:45] trying to connect [2022-10-14 15:12:45] flush start [2022-10-14 15:12:45] setting serial port timeouts to 1 ms [2022-10-14 15:12:45] setting serial port timeouts to 1000 ms [2022-10-14 15:12:45] flush complete [2022-10-14 15:12:45] espcomm_send_command: sending command header [2022-10-14 15:12:45] espcomm_send_command: sending command payload [2022-10-14 15:12:45] espcomm_send_command: receiving 2013 bytes of data [2022-10-14 15:12:45] read 0, requested 1 [2022-10-14 15:12:45] error: failed reading byte [2022-10-14 15:12:45] warning: espcomm_send_command: can't receive slip payload data [2022-10-14 15:12:45] resetting board [2022-10-14 15:12:45] trying to connect [2022-10-14 15:12:45] flush start [2022-10-14 15:12:45] setting serial port timeouts to 1 ms [2022-10-14 15:12:45] setting serial port timeouts to 1000 ms [2022-10-14 15:12:45] flush complete [2022-10-14 15:12:45] espcomm_send_command: sending command header [2022-10-14 15:12:45] espcomm_send_command: sending command payload [2022-10-14 15:12:45] espcomm_send_command: receiving 2013 bytes of data [2022-10-14 15:12:45] read 0, requested 1 [2022-10-14 15:12:45] error: failed reading byte [2022-10-14 15:12:45] warning: espcomm_send_command: can't receive slip payload data [2022-10-14 15:12:45] trying to connect [2022-10-14 15:12:45] flush start [2022-10-14 15:12:45] setting serial port timeouts to 1 ms [2022-10-14 15:12:45] setting serial port timeouts to 1000 ms [2022-10-14 15:12:45] flush complete [2022-10-14 15:12:45] espcomm_send_command: sending command header [2022-10-14 15:12:45] espcomm_send_command: sending command payload [2022-10-14 15:12:45] espcomm_send_command: receiving 2013 bytes of data [2022-10-14 15:12:45] read 0, requested 1 [2022-10-14 15:12:45] error: failed reading byte [2022-10-14 15:12:45] warning: espcomm_send_command: can't receive slip payload data [2022-10-14 15:12:45] trying to connect [2022-10-14 15:12:45] flush start [2022-10-14 15:12:45] setting serial port timeouts to 1 ms [2022-10-14 15:12:45] setting serial port timeouts to 1000 ms [2022-10-14 15:12:45] flush complete [2022-10-14 15:12:45] espcomm_send_command: sending command header [2022-10-14 15:12:45] espcomm_send_command: sending command payload [2022-10-14 15:12:45] espcomm_send_command: receiving 2013 bytes of data [2022-10-14 15:12:45] read 0, requested 1 [2022-10-14 15:12:45] error: failed reading byte [2022-10-14 15:12:45] warning: espcomm_send_command: can't receive slip payload data [2022-10-14 15:12:45] warning: espcomm_sync failed [2022-10-14 15:12:45] error: espcomm_open failed [2022-10-14 15:12:45] error: espcomm_upload_mem failed [2022-10-14 15:12:45] STOPPED due to 11 errors! (try reset on the unit, then start a new flash attempt)
Jak już wspomniałem jestem początkujący w tej materii, może flashowanie nie jest takie łatwe jak to na YT pokazują,
może powinienem zasilić płytkę 3.3 V, trzymać przycisk RESET albo wykonać inne czynności?
Pozdrawiam 🙂
@gilange flash tego konkretnie modułu nie należy do skomplikowanych. Pobierz sobie ten programik https://github.com/tasmota/tasmota-pyflasher i nie sugeruj się tym, że jest do tasmoty , bo można tym wgrać większość . Jak ten programik wykryje COM , to wskazujesz lokalizację binarki czyli to ESPeasy i klikasz Flash Tasmota , na module nie trzeba nic zwierać ani naciskać . Jak coś nie zadziała to spróbuj wgrać jakiś inny soft np AFE lub tasmotę .
@isom dzięki za odpowiedź. Użyłem też innych programów do flashowania
ESPHome-Flasher-1.4.0-Windows-x64
Using 'COM7' as serial port.
Connecting......................................
Unexpected error: ESP Chip Auto-Detection failed: Failed to connect to Espressif device: Serial data stream stopped: Possible serial noise or corruption.
For troubleshooting steps visit: usunięty link
Using 'COM7' as serial port. Unexpected error: could not open port 'COM7': PermissionError(13, 'Odmowa dostępu.', None, 5)
Tasmota-PyFlasher-1.0
Command: esptool.py --port COM7 --baud 115200 --after no_reset write_flash --flash_mode dout 0x00000 C:\...\ESPEasy_ESP82xx_mega-20220809\bin\ESP_Easy_mega_20220809_normal_ESP8266_4M1M.bin --erase-all esptool.py v2.8 Serial port COM7 Connecting........_____....._____....._____....._____....._____....._____....._____
po wyświetleniu kropek i kresek przez kilkadziesiąt minut nic się nie zmienia.
Sterowniki do zintegrowanego programatora ściągnąłem z
https://learn.sparkfun.com/tutorials/how-to-install-ch340-drivers/all
Dodam jeszcze że z początku jak podłączałem płytkę po USB do komputera to na chwilę zapalała się dioda niebieska, teraz w ogóle już ona nie reaguje.
@gilange to problem sterownika. W zależności, która kompilacja w10, nie wszystkie działają.
sprawdź ten:
na jednej wirtualce miałem to samo, jak z niej wyciągnę to podeślę ten co działa
@pawell32 dzięki za pomoc, jednak po usunięciu i zainstalowaniu twojego sterownika efekt jest taki sam na dwóch komputerach, ponownie uruchamiałem te komputery po instalacji tych sterowników, różne flashery i pliki *.bin itp.
Podłączam kabel USB bez dodatkowego zasilania 3,3 V i nie używam przycisków na płytce (RESET).
@pawell Oprócz podpinania usb i próby flashowania nic dodatkowego nie robię.
Jeżeli mam robić jakieś inne czynności to proszę o informację o tym.
Rozumiem, że mam zewrzeć gpoi0 do gnd przed podłączenie kabla usb i ma być to zwarte cały czas podczas wgrywania pliku *.bin do esp?
Dodam jeszcze że z początku jak podłączałem płytkę po USB do komputera to na chwilę zapalała się dioda niebieska, teraz w ogóle już ona nie reaguje.
To powinno dać do myślenia , jakiś miernik w rękę i sprawdzić czy na zasilaniu samego ESP jest 3,3V , z tych zrzutów widać że nie ma komunikacji , można też wpiąć konwerter bezpośrednio do esp czyli RX do TX i TX do RX zasilić ESP z 3V konwertera i wtedy GPIO O do masy . Jak robimy przez USB i moduł żyje nie potrzeba nic zwierać
Po zwarciu gpio0 z gnd udało się wgrać *.bin do esp 🙂
teraz mikrokontroler z *.bin skompilowanym w ESPHome nie jest w stanie zalogować się do sieci mojego routera, w efekcie czego ESP tworzy awaryjny hotspot. Widzę, że dane sieci w której jest RPI są ok. Jakie jest adres IP (login i passy też) tego ESP jak już zaloguje się do jego awaryjnego hotspota?
@gilange nadal nie napisałeś jakie to urządzenia, jaki router itp.
może szyfrowanienie ...
ESP: WEMOS D1 mini ESP8266-12F
HA zainstalowany jest na Raspberry PI4.
RPI podłączone jest kablem do routera Eedimax lt-6408n, w którym sieć bezprzewodowa zabezpieczona jest WPA2(AES).
@gilange zmień testowo na WPA1, może kanał. Jak masz w auto to sprawdź zajętość częstotliwości i ustaw na sztywno wolny kanał, zmiejsz prędkość ...
Doczytałem że IP ESP to 192.168.4.1
Po zalogowaniu ledwo pinguje to IP
Pinging 192.168.4.1 with 32 bytes of data: Reply from 192.168.4.1: bytes=32 time=387ms TTL=255 Reply from 192.168.4.1: bytes=32 time=246ms TTL=255 Request timed out. Request timed out.
A jak wchodzę w przeglądarce na http://192.168.4.1/ to wywala z sieci WiFi mikrokontrolera.
Chyba mam wadliwy egzemplarz ESP.
Często się zdarza, żeby było tyle problemów najpierw z wgrywaniem firmware, a potem jak już się uda to są problemy z łącznością po WiFi?
@gilange tam masz wgrane ESP Home, a to jest obsługiwane z HA. Wgraj teraz np. Tasmotę, zalogujesz się przez przeglądarkę. AFE, Espeasy tak samo.
Zwróciłem płytkę i kupiłem następną. Na moje nie powinienem robić dodatkowych czynności na Wemosie oprócz podłączenia USB. Nawet jak jakoś coś tam wgram, to w przyszłości mogę mieć problemy z tą felerną płytką.
Nowa płytka poszła, ale z małym problemem
W pliku *.yaml było
wifi: ssid: !secret wifi_ssid password: !secret wifi_password
a w "SECRETS" były dobre SSID i hasło, ale mimo to i tak usiałem zalogować się do awaryjnego hotspota stworzonego przez ESP i tam wybrać moje WiFi i wpisać hasło (to samo co w SECRETS)
To ustrojstwo ma serwer DHCP, samo nadało IP mojemu PC i wystarczyło w przeglądarce wpisać 192.168.4.1, hasło i login z pliku *.yaml.