Skocz do zawartości

Zgranie szkicu z ESP32 do pliku, który można zarchiwizować- jak to zrobić?


Kuba83

Pomocna odpowiedź

Witam!

Taki stary kotlet odgrzewam......ponad rok temu kompilowałem szkic do zegara ESP32 na lampie oscyloskopowej.

Wgrałem skompilowany szkic do dwóch ESP32, nie zmieniłem SSID/hasła do routera(wieś to nie blokowisko), chodzi o zgranie do binarki , tak by szło wgrać do innego modułu, tudzież łatwo skompilować.

Sęk w tym, że 99% pracy na komputerze robię na systemie Linux, konkretnie Zorin OS 17.2, tym "edukacyjnym", nie zrobiłem backupu danych z katalogów Arduino IDE.

Arduino IDE i też v2 naturalnie działa na Linuxie(bo czemu nie.....na MacOS też a to praktycznie identyczny system pod względem budowy i obsługi).

Mam też na stole warsztatowym komputer z Windows 11 Pro na którym szło by zgrać.......niestety moja Mama jest bardzo chora i nie mam czasu na zgłębianie C+/++, jak potrzeba, to jest ChatGPT, student to robi na uczelni na zaliczenie, to czemu ja nie mam na głupi zegarek na bazie rosyjskiej czy innej, starej lampy oscyloskopowej?

Ogólnie od dwóch lat nie chce mi się pisać szkiców, nie bawię się tym i , skoro nie da się w analogu, to mi AI napisze szkic a ja go poprawię i tyle.

Nie jestem wychowany w epoce cyfrowej, w marcu kończę 42 lata i prościej mi zbudować wzmacniacz lampowy czy naprawić stare urządzenia niż analizować linijki kodu.

Proszę o pomoc.

  • Lubię! 1
Link do komentarza
Share on other sites

(edytowany)

Działasz na linuxie opartym o ubuntu, więc spróbuj tak.

1. Zainstaluj python3 i pip:

sudo apt-get install python3 python3-pip

 

2. Następnie esptool:

sudo apt-get install esptool

lub

pip3 install esptool

Jeżeli powyższe nie ruszy, można wymusić, chociaż nie jest zalecane:

pip3 install esptool --break-system-packages

 

Ewentualnie np. za pomocą pipx w środowisku izolowanym:

sudo apt-get install pipx

Wtedy esptool instalujesz tak (u siebie mam w ten sposób):

pipx install esptool

 

3. Podłącz płytkę i sprawdź port:

esptool.py chip_id

lub

esptool.py chip_id | grep -i "^serial port"

Powinno wyświetlić np. coś takiego:

Serial port /dev/ttyUSB0

 

4. Sprawdź wersję źródłowej i docelowej płytki, tzn. ile mają pamięci flash (zmień port jeżeli trzeba):

esptool.py --chip esp32 --port /dev/ttyUSB0 flash_id

Ewentualnie:

esptool.py --chip esp32 --port /dev/ttyUSB0 flash_id | grep -i "detected flash size"

Powinno wyświetlić m.in. coś takiego jeżeli mają np. 4 MB:

Detected flash size: 4MB

 

5. Zrób kopię pamięci źródłowej płytki do pliku "kopia.bin" (tutaj domyślnie dla 4MB -> 4*(1024^2) bajtów -> szesnastkowo 0x400000). "Baud" (prędkość komunikacji) możesz zwiększyć, chociaż "dla pewności" kopie lepiej wykonywać wolniej:

esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 115200 read_flash 0x0 0x400000 kopia.bin

 

6. Na docelowym ESP32, wyczyść flash:

esptool.py --chip esp32 --port /dev/ttyUSB0 erase_flash

 

7. Następnie zapisz na nim zawartość pliku "kopia.bin":

esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 115200 write_flash 0x0 kopia.bin

 

Oczywiście nie musisz wszędzie wpisywać portu (jeżeli działasz na domyślnym), czy nawet docelowego chip-u (podaję to dla pewności). Pamiętaj, żeby nie pomylić portów, jeżeli masz podpięte obie płytki jednocześnie, bo wtedy jedna może być np. na ttyUSB0, a druga ttyUSB1.

Edytowano przez orb777
  • Lubię! 2
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.