Zgranie i wgranie c...
 
Powiadomienia
Wyczyść wszystko

[Rozwiązany] Zgranie i wgranie całej zawartości pamięci Sonoff

56 Wpisów
21 Użytkownicy
5 Reactions
12.9 K Wyświetleń
adrian
(@adrian)
Wpisów: 4035
Szefu Admin Zasłużony dla Forum, Patron Strony
Autor tematu
 

Instrukcja jak zgrać całą zawartość flash przełącznika Sonoff o rozmiarze flash 1MB

Uwaga: zgranie oryginalnego oprogramowania i wgranie go do innego urządzenia Sonoff nie zadziała. Jedynce co udało mi się z sukcesem zrobić to zgrać pamięć flash z jednego Sonoff i ponownie wgrać do tego samego Sonoff.

Potrzebne

  • Konwerter USB na TTL 3.3V oparty na układzie CP2102, ok 13pln
  • Oprogramowanie esptool:  https://github.com/espressif/esptool
  • Jak zainstalować esptool za pomocą pip Python w Windows
  • Kable wtyczka USB – gniazdo USB – do podłączenia Konwertera USB-TTL z komputerem
  • 4 przewody, aby podłączyć konwerter USB-TTL z przełącznikiem – gniazdem szpilkowym

Instrukcja

Krok 1:  Rozbieramy obudowę, aby dostać się do środka. Widzimy tutaj 5 otworów pod przyciskiem. Te 5 otworów to złącza, które wykorzystamy do załadowania firmware

photo-2016-08-31-21-21-16_3504

Krok 2: Proponuję przylutować gniazdo szpilkowe w otworach. Ułatwi to przyczepienie kabli.

Krok 3: Podłączamy przewody konwertera USB-TTL z przełącznikiem. Należy zwrócić szczególną uwagę, który kabel podłączyć z którym otworem w przełączniku i konwerterze.

Krok 4: wprowadzamy przełącznik sonoff w tryb wgrywania/zgrywania firmware.

  • Kabel USB musi być odłączony od komputera
  • Wciskamy i trzymamy przycisk w przełączniku sonoff
  • Wkładamy do złącza USB w komputerze, kabel USB do którego podpięty jest konwerter USB-TTL (patrz Krok 3), a do którego podpięty jest już przełącznik sonoff.
  • Puszczamy przycisk w przełączniku sonoff

Teraz przełącznik sonoff powinien być w trybie wgrywania/zgrywania firmware.

Zgrywanie używając linii poleceń (cmd najlepiej odpalić jako administrator)

esptool.py --port [port COM] --baud 115200 read_flash 0x00000 0x100000 [ścieżka do pliku]

przykład:

esptool.py --port COM3 --baud 115200 read_flash 0x00000 0x100000 C:\ewelink1M.bin

Wgrywanie używając linii poleceń (cmd najlepiej odpalić jako administrator)

esptool.py --port [port COM] --baud 115200 write_flash --flash_mode qio 0x00000  [ścieżka do plik]

przykład:

esptool.py --port COM3 --baud 115200 write_flash --flash_mode qio 0x00000  C:\ewelink1M.bin

Podziękowania dla @skiba-26 za dodatkowe informacje do instrukcji

 
Dodane : 20/01/2018 10:00 pm
(@fb_-marekswitala)
Wpisów: 4
Świeżak
 

Dla próby chciałem sprawdzić co się będzie dziać jak podłączę się do Sonoff'a w wersji TOUCH (ten taki przełącznik ścienny) poprzez konwerter USB na układzie FTDI FT232RL. PUTTY normalnie wyświetla informacje z przełącznika jak go podłącz e do zasilania. Oczywiście prędkość ustawiłem tu na 78800 gdyż taką wyczytałem na forum supla (115200 wywalała same krzaki).

Skoro putty normalnie ruszyło to poszedłem dalej. Zainstalowałem więc python 2.7.14 oraz esptool (instrukcje były na youtube).

Wydaje mi się, że próba zgrania flasha na PC nie powinna niczego "uszkodzić" w pamięci, a co najwyżej by się nie powiodła w porównaniu do wgrywania niesprawdzonym konwerterem co mogłoby całkowicie uniemożliwić wgrywania/zgrywania flasha już nawet sprawdzonym konwerterem jeśli by coś poszło nie tak.

Tak więc spróbowałem. Niestety wpisanie w wierszu polecenia (po uruchomieniu esptool) takiej oto składni:

esptool.py --port COM6 --baud 78800 read_flash 0x00000 0x100000 C:\ewelink1Mtouch1.bin

wyskakuje mi błąd "SyntaxError: invalid syntax"

z tego co się orientuje oznacza to błąd składni a nie samej komunikacji z urządzeniem. Tak więc czy przypadkiem coś się nie zmieniło w składni jaką program rozpoznaje? Może mam jakąś nowszą wersję esptool, która coś ma inaczej?

Stosowny konwerter jeszcze dzisiaj zamówię, ale ten błąd wydaje mi się będzie wyświetlać na każdym, konwerterze...

 
Dodane : 02/02/2018 5:41 pm
adrian
(@adrian)
Wpisów: 4035
Szefu Admin Zasłużony dla Forum, Patron Strony
Autor tematu
 

u mnie poszło :

masz esptool zainstalowany? co dostajesz jak wpiszesz esptool.py version?

 
Dodane : 02/02/2018 9:43 pm
(@fb_-marekswitala)
Wpisów: 4
Świeżak
 

Mam zainstalowany, zgodnie z instrukcjami jakie znalazłem na youtube. Niestety po wpisaniu tego znów ten sam błąd:

>>> esptool.py version
File "", line 1
esptool.py version
^
SyntaxError: invalid syntax
>>>

 
Dodane : 03/02/2018 1:20 pm
adrian
(@adrian)
Wpisów: 4035
Szefu Admin Zasłużony dla Forum, Patron Strony
Autor tematu
 

poszukaj w windows czy masz plik: esptool.py.exe, bo linia poleceń go nie znajduje

 
Dodane : 03/02/2018 1:53 pm
(@fb_-marekswitala)
Wpisów: 4
Świeżak
 

plik mam i już się sprawa wyjaśniła. Popatrz jak polecenie jest napisane w tu w instrukcji a jak napisałeś Ty. W instrukcji brakowało ".exe" za esptool. Gdy napisałem komendę z tym rozszerzeniem to od razu mi poszło.

 
Dodane : 03/02/2018 2:32 pm
adrian
(@adrian)
Wpisów: 4035
Szefu Admin Zasłużony dla Forum, Patron Strony
Autor tematu
 

w windows nie potrzeba podawać exe, żeby uruchomić program. Ważne jest, żeby command line odnalazł gdzie jest esptool.py.exe

to tak jak uruchamianie cmd możesz wpisać cmd lub cmd.exe i oba uruchomią command line.. 

Można podać całą ścieżkę do katalogu gdzie jest esptool i wywoływać esptool całą ścieżką

przykładowo u mnie: 

C:\Users\adrian\AppData\Local\Programs\Python\Python36\Scripts\esptool.py.exe

lub 

C:\Users\adrian\AppData\Local\Programs\Python\Python36\Scripts\esptool.py

lub dodać ścieżkę do zmiennej środowiskowej PATH do katalogu, gdzie zainstalowany jest esptool. Wtedy nie trzeba nawet podawać ścieżki do katalogu z esptool,  jak na załączonym screenshocie. Kilka sposobów uruchomienia esptool.py

to co tutaj podesłałeś wygląda na uruchamianie esptool.py w pythonie. Nie bezpośrednio w command linie i może sypać błędami

>>> esptool.py version
File "", line 1
esptool.py version
^
SyntaxError: invalid syntax
>>>

 

Ale grunt, że działa,

pozdrawiam, a.

 

 
Dodane : 03/02/2018 4:50 pm
iragos
(@iragos)
Wpisów: 3
Świeżak
 

Witam Szanownych kolegów
Na forum jestem świeży ale od kilku dni śledzę tematy dotyczące chipa ESP seria 86..., itp.
Udało mi się uruchomić odczytywanie z PSF-B01 za pomocą esptool-a. Mam wbudowany chip ESP 8285.
Odczytuje w 100 % tylko nie wiem dlaczego nie zapisuje odczytanego "wsadu" w lokalizacji, którą stworzyłem:
Poniżej screen z ekranu.

 

odczyt z psf
 
Dodane : 14/02/2018 2:09 pm
adrian
(@adrian)
Wpisów: 4035
Szefu Admin Zasłużony dla Forum, Patron Strony
Autor tematu
 

dziwne 

  • spróbuj może inne lokalizacji (aczkolwiek nie powinno to mieć znaczenia, skoro zapisałeś)
  • może coś ten plik trzyma? jakiś inny proces? masz to samo jak zrestartujesz kompa?

 

 
Dodane : 14/02/2018 7:58 pm
iragos
(@iragos)
Wpisów: 3
Świeżak
 

Witam Cię Adrianie

Już poradziłem sobie. Okazuje się, że po pierwsze musiałem odpalić cmd z uprawnieniami administratora, a po drugie nie potrzebnie chciałem zapisać odczytany wsad w folderze. Wystarczy bezpośrednio na dysk 🙂

 
Dodane : 14/02/2018 8:31 pm
adrian
(@adrian)
Wpisów: 4035
Szefu Admin Zasłużony dla Forum, Patron Strony
Autor tematu
 

ok, dodam do instrukcję info, żeby odpalać cmd jako administrator

 
Dodane : 14/02/2018 8:38 pm
iragos
(@iragos)
Wpisów: 3
Świeżak
 

no zawsze może się komuś przydać taka informacja. Tym bardziej, że kilka godzin szukałem info co jest nie tak 🙂

Jak ktoś będzie potrzebował to wrzucam zdjęcie tego sterownika 🙂

ESP 8285
pin 5 RX, pin 6 TX . Zasilanie z USB.
 
Dodane : 14/02/2018 8:45 pm
adrian reacted
(@miloszix)
Wpisów: 2
Świeżak
 

Witam.

Posiadam podobny układ oparty na ESP8285, próbowałem wgrać nowy firmware (Supla) lecz moduł po tej próbie zachowuje się dziwnie:

Cały czas "klepie" przekaźnik, tak jak przy wejściu w tryb programowania, nie da się tego wyłączyć.

Czym wgrywałeś? 

29122265-fc2e6cbe-7d11-11e7-89d5-3e6db378b2fc.jpg
29122265-fc2e6cbe-7d11-11e7-89d5-3e6db378b2fc.jpg (43.11 KiB) Przejrzano 24 razy

Programowanie przechodzi poprawnie przez ESP Flash Download Tool lecz muszę wybrać moduł ESP 8285

Pierwsze czyszczę " ERASE"

Następnie wgrywam, pisze "Finish "

Czy procedura wgrywania dla ESP 8285 jest jakaś inna ? Bo w ESPDT nie mogę wybrać parametrów takich jak SPI mode

Urządzenie nie wstaje poprawnie zachowuje się cały czas jak przy wejściu w tryb programowania. 

tak jak na filmiku poniżej od 18 sec. 

https://www.youtube.com/watch?v=E0WBoFCcnYY

 
Dodane : 05/03/2018 1:10 pm
adrian
(@adrian)
Wpisów: 4035
Szefu Admin Zasłużony dla Forum, Patron Strony
Autor tematu
 

 Procedura wgrywania jest taka sama. Te urządzenie z tego co pamięta mam takie funkcje jak Inching /Self-Locking i którymś z tych przycisków się je przełącza, jak wciskasz kilka razy to nie przełączy się do takiego normalnego trybu? 

mniej więcej coś podobnego jest w tym urządzeniu, ok 2m40sek  https://www.youtube.com/watch?v=i0SZLAJKloc&t=4s - trzeba kilka razy przełączyć, aż zacznie działać w normalnym trybie. 

A jak wgrasz inny firmware to też taki sam efekt?

 
Dodane : 05/03/2018 4:46 pm
cholek3
(@cholek3)
Wpisów: 9
Bywalec
 

Czy dobrze rozumiem, że zanim wgram np. Tasmota, mogę sobie "zrzucić" oryginalne oprogramowanie do pliku i w razie czego zastąpić Tasmota znowu oryginalnym firmware? 

 
Dodane : 19/05/2018 8:38 pm
adrian
(@adrian)
Wpisów: 4035
Szefu Admin Zasłużony dla Forum, Patron Strony
Autor tematu
 

Tak

 
Dodane : 19/05/2018 8:41 pm
cholek3 reacted
(@adam3773)
Wpisów: 5
Bywalec
 

Można by było dodać do instrukcji że jeżeli chcesz to połączyć z supla to w supla Musi być włączona obcja dodawania urządzeń. W supla zalogowałem się z miesiąc wcześniej niż chciałem dodać sonoff a i trochę czasu mi zajęło zanim na to wpadłem.

 
Dodane : 14/06/2018 11:15 pm
(@dwape)
Wpisów: 1
Świeżak
 

Panowie, pomocy !

nie mogę zgrać softu bo wywala taki oto błąd:

c:\Python27\Scripts>esptool.py.exe --port COM3 --baud 115200 read_flash 0x00000 0x100000 C:\Python27\sonoff\ewelink1M.bin
esptool.py v2.4.0
Connecting........_____....._____....._____....._____....._____....._____....._____

A fatal error occurred: Failed to connect to Espressif device: Timed out waiting for packet header

Wyjaśniło się, winny był sam moduł Sonoff, a dokładniej uszkodzony microswitch w module.

 
Dodane : 18/06/2018 9:50 pm
adrian reacted
(@k2m7l)
Wpisów: 1
Świeżak
 

próba zgrania oryginalnego softu kończy się na Stub running... nie ma potem żadnego komunikatu, update'u, Adrian, jakieś wsparcie, proszę?

 
Dodane : 05/07/2018 8:23 pm
adrian
(@adrian)
Wpisów: 4035
Szefu Admin Zasłużony dla Forum, Patron Strony
Autor tematu
 

podeslij screenshot

 
Dodane : 05/07/2018 9:25 pm
Strona 1 / 3
Udostępnij: