Skocz do zawartości

Uruchomienia Micropythona na ESP8266


slon

Pomocna odpowiedź

Naszło mnie aby spróbować coś podziałać z esp i micropythonem ale coś kiepsko się to zaczęło. Płytkę posiadam taką:

20220507_193709.thumb.jpg.306bd8164da58f348891cf00cdf5229f.jpg

esptool jest w wersji 3.3 Micropythona pobrałem z tej strony. Zrobiłem erase_flash. Następnie 

esptool.py --port com13 --baud 460800 write_flash --flash_size=detect 0 esp8266-20170108-v1.8.7.bin

Próbowałem też najnowszej wersji 1.18. W odpowiedzi dostaję

Connecting...
Failed to get PID of a device on com13, using standard reset sequence.
.
Detecting chip type... Unsupported detection protocol, switching and trying again...
Connecting...
Failed to get PID of a device on com13, using standard reset sequence.
.
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: c4:5b:be:6d:8a:c0
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 4MB
Flash will be erased from 0x00000000 to 0x0009bfff...
Flash params set to 0x0040
Compressed 635992 bytes to 418427...
Wrote 635992 bytes (418427 compressed) at 0x00000000 in 37.0 seconds (effective 137.4 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...

Niby powinno być ok? Pierwszy raz z tego korzystam więc w sumie nie wiem. Łącze się po com13 i dostaję tylko krzaki (na wszelkich prędkościach). Sieć WiFi jest tworzona przez esp ale też nie idzie się z tym połączyć. Będę wdzięczny za pomoc.

Link do komentarza
Share on other sites

 

12 godzin temu, slon napisał:

sptool.py --port com13 --baud 460800 write_flash --flash_size=detect 0 esp8266-20170108-v1.8.7.bin

Czemu wgrywasz wersję sprzed 5 lat?

Link do komentarza
Share on other sites

6 minut temu, Harnas napisał:

Czemu wgrywasz wersję sprzed 5 lat?

 

12 godzin temu, slon napisał:

Próbowałem też najnowszej wersji 1.18

też nie działa. Próbowałem zachować parametry domyślne, wybrać procek i też nic.

 esptool.py --chip esp8266 --port com13 write_flash -fs 4MB-c1 -e -fm keep -ff keep 0x0 esp8266-20220117-v1.18.bin

 

Link do komentarza
Share on other sites

Póki co najbardziej pomocna okazałą się strona espressif z informacją o Boot log: The ESP8266 boot rom writes a log to the UART when booting. The timing is a little bit unusual: 74880 baud. Takiej prędkości to nie próbowałem przy starcie. W odpowiedzi dostaję:

ets Jan 8 2013,rst cause:2,

Brak informacji o Boot mode.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

A jakie informacje chciałeś?

Masz boot/reset w stylu NodeMCU (czyli dtr/rts). rst cause 2 to znaczy że naciśnięto przycisk reset (czyli prawidłowe działanie tych dwóch śmiesznych tranzystorków na pokładzie co za Ciebie reset naciskają). A jeśli nie masz nic podpiętego do GPIO to będzie bootować z flasha.

Link do komentarza
Share on other sites

10 godzin temu, ethanak napisał:

A jakie informacje chciałeś?

boot log ze strony espressif wygląda tak :

ets Jan 8 2014,rst cause 1, boot mode:(3,7)

load 0x40100000, len 24236, room 16 tail 12 chksum 0xb7 ho 0 tail 12 room 4 load 0x3ffe8000, len 3008, room 12 tail 4 chksum 0x2c load 0x3ffe8bc0, len 4816, room 4 tail 12 chksum 0x46 csum 0x46

Link do komentarza
Share on other sites

Przede wszystkim na 100% ma być rst cause 2. Poza tym wygląda to trochę dziwnie - tak jakby procek stawał zanim wyda z siebie cały komunikat.

Możesz spróbować wgrać jakiegoś blinka z Arduino?

Link do komentarza
Share on other sites

Arduinowy blink działa. Ale po otwarciu portu szeregowego już nie (na D15 jest 0,74v, reset 0,54)v. Chyba to ten ch340c coś miesza albo jakieś zwarcie gdzieś jest. Chyba , że masz inny pomysł?

Link do komentarza
Share on other sites

44 minuty temu, slon napisał:

masz inny pomysł?

Jakby coś było nie tak to byś nie wgrał wsadu - a to się zachowuje normalnie.

Jakiego terminala używasz? Czy przypadkiem nie masz włączonego DTR/RTS? Jeśli terminal ustawia DTR ==1 i RTS == 0 to jest równoznaczne z naciśnięciem i trzymaniem resetu. Sprawdź w chwili kiedy przestanie działać poziomy na RST i GPIO0.

  • Lubię! 1
  • Pomogłeś! 1
Link do komentarza
Share on other sites

2 godziny temu, ethanak napisał:

Jakiego terminala używasz?

w telefonie mam serial usb terminal (brak opcji do kontroli DTR RTS), na lapku na ,którym używam esp jest putty i tu też nie działa. Na stacjonarce mam coolterm i tam te opcje są więc sprawdziłem i... Działa (jedyny minus to taki , że backspace nie działa). WebRepl odblokowałem hasło wpisałem ale coś niemogę się z tym połączyć. Podpowiesz co może być nie tak?

Link do komentarza
Share on other sites

To trochę dziwne zachowanie - przed chwilą podłączyłem płytkę ESP32 (taki sam układ reset/boot) do usb terminala na Androidzie i działa bez problemu. Możesz włączyć podgląd linii kontrolnych i sprawdzić, czy obie (DTR/RTS) są takie same... ale to takie sprawdzanie dla sprawdzania.

Sprawdziłeś stan pinów RST i GPIO0 na płytce?

Co masz w putty w zakładce flow control?

Link do komentarza
Share on other sites

(edytowany)
Dnia 10.05.2022 o 21:41, ethanak napisał:

Sprawdziłeś stan pinów RST i GPIO0 na płytce?

RST tak jak pisałem wyżej 0,54 (wyjątkiem jest coolterm tu jest ładne 3,3) GPIO0 na chwilę obecną jest cały czas 3,3v. Wylutowałem jedną diodę dla sprawdzenia czy oby 1,9v na GPIO0 to nie jest zbyt mało ale to niczego nie zmieniło poza tym, że do programowania muszę wciskać przycisk. Tak jak pisałem wyżej zmienia się też lekko napięcie na D15 (jak mam włączony coolterm to jest 0,0v. W innych terminalach jest 0,74v)

Dnia 10.05.2022 o 21:41, ethanak napisał:

Co masz w putty w zakładce flow control?

Próbowałem wszystkich opcji począwszy od: none. W puttym nawet boot loga nie wyświetla. Dla porównania w coolterm:

s$.lśź|.Ädŕ|....Ś.lě.c|Ź‚.ě.Űs›b„.#Śóogźl'ośăä.c.8„‡lrdrl8űgŕ.....l......c.oă|.ě.ěŹ.€.c„űgnî.dŚÇ$`...og.l ...orÇ›“n...„ś.$pónŕ....{Śśśăŕ....b.'ă|.$.$Ś.c„űgnî...d`...gnl„l`...n;‡“Űg....d`. űg...źŕ#gdŚ.Äň'oď..Ç.lxűoŕ....r„śśăŕ.Ź..c.oă|.l....cÄňngď.$Ś.l ...gnl„l`...n{‡“Űg...ěŽ.d.;“›g...äÇ.l„ă.ě.Ăgä’{Ăóo<ä.l.$l$`..#“...ź|.;“.lśgŕ.Ăgă..d`.Śăs’l„l.Ś...$`.Śăs’läl.Ś...d`.Śăs’l.‡ź.Ś..ld`.rlÇr$ŚßăŚb.Ś„c.<.l#śăś.c|Ś„Ä.$l#ěóoîŔ.g'ă....„d'ź.ä.„.děÇ$lÄ.ŽŚ..l`.Ŕ.gü.Śßă„c.ld섇..c...Śžă„c.l.Ś#.{$sdsűgśâ.„.äűgśź€€.cpśŚd‡pěÄ“˙WebREPL daemon started on ws://192.168.4.1:8266
Started webrepl in normal mode

MicroPython v1.18 on 2022-01-17; ESP module with ESP8266
Type "help()" for more information.
>>> 

Ten początek z krzakami to pewnie jest boot log. Chociaż bezpośrednio po odblokowaniu webrepl boot log legancko się wyświetlił na br 115200 ale to było tylko raz. W coolterm domyślnie jest zaznaczona opcja software suported flow control (trzeba ją odznaczyć)

Edytowano przez Gieneq
Link do komentarza
Share on other sites

2 godziny temu, slon napisał:

Wylutowałem jedną diodę dla sprawdzenia

e... jaką diodę? Tam powinny być dwa tranzystorki między CH340 i ESP, a są tak fikuśnie połączone że wylutowanie jednego może mieć jakieś dziwne efekty uboczne. Poza tym problemem jest RST a nie GPIO0. Jeśli linie RTS i DTR są na tym samym poziomie (obojętnie, wysoki czy niski) to oba piny RST i GPIO0 powinny mieć stan wysoki; jeśli tak nie jest to gdzieś musi być jakiś myk. Zastanawia mnie tylko dlaczego esptool działa prawidłowo...

Nie masz innej płytki na podmianę? Może któryś z tych tranzystorów walnął? Chyba że kitajcy zaoszczędzili na tranzystorach i zrobili jakiś patent z diodami... ale to jest zawsze do poprawienia.

2 godziny temu, slon napisał:

boot log legancko się wyświetlił na br 115200 ale to było tylko raz

U mnie czasami łapie Arduinowy monitor na 115200, ale po pierwsze czasami, po drugie to Linux, po trzecie tylko na jednym laptopie :).

 

 

Link do komentarza
Share on other sites

10 godzin temu, ethanak napisał:

e... jaką diodę?

Dodałem w pierwszym poście fotkę mojej płytki. Wklejam jeszcze raz z oznaczeniem połączeń.

20220507_193709.thumb.jpg.a29cd55faf0cf267351a4c0cfac51c4a.jpg

Dzisiaj wylutowałem diodę na linii reset i działa połączenie z putty, thony, apka na androidie. Reset będzie z guziora :). Dalej się zastanawiam dlaczego coolterm działał z diodą na linii reset? Jeszcze nie sprawdzałem jak będzie z webRepl.

Link do komentarza
Share on other sites

13 godzin temu, slon napisał:

Dalej się zastanawiam dlaczego coolterm działał z diodą na linii reset?

A tego to już chyba najstarsi chińczycy nie wiedzą...

Ciekawostka jest taka, że nie działało to na androidzie. Gdyby nie to, podejrzewałbym jeszcze windowsowe drivery, a tak to już nic nie wiem.

Ja bym już z samej ciekawości sprawdził jak to się zachowa z innym egzemplarzem płytki. Jakbyś coś takiego próbował to koniecznie daj znać!

 

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.