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
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
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…
u mnie poszło :
masz esptool zainstalowany? co dostajesz jak wpiszesz esptool.py version?
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
>>>
poszukaj w windows czy masz plik: esptool.py.exe, bo linia poleceń go nie znajduje
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.
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:UsersadrianAppDataLocalProgramsPythonPython36Scriptsesptool.py.exe
lub
C:UsersadrianAppDataLocalProgramsPythonPython36Scriptsesptool.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.
Witam Szanownych kolegówNa 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.jpg
dziwne
Witam Cię AdrianieJuż 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 🙂
ok, dodam do instrukcję info, żeby odpalać cmd jako administrator
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.JPGpin 5 RX, pin 6 TX . Zasilanie z USB.
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 (43.11 KiB) Przejrzano 24 razyProgramowanie przechodzi poprawnie przez ESP Flash Download Tool lecz muszę wybrać moduł ESP 8285Pierwsze 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 modeUrzą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
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?
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?
Tak
próba zgrania oryginalnego softu kończy się na Stub running… nie ma potem żadnego komunikatu, update’u, Adrian, jakieś wsparcie, proszę?
Panowie, nic się nie zmieniło do tej pory i wciąż nie ma możliwości przywrócenia oryginalnego softu do Sonoffa? Przed wgraniem Supli na 3 szt. Basica nie zrobiłem backupu, myślałem, że w razie potrzeby zgram firmware z któregoś z pozostałych Basiców, których trochę już mam. No i niestety, ale nie udaje mi się uruchomić tych 3 modułów po wgraniu firmware zgranego z innego Basica. Pamięć oczywiście czyszczona plikiem blank 1mb.
Nie nic się nie zminiło. Jedyne co mi przychodzi do głowy to wgraj AFE i puść na allegro. Za odzyskane pieniądze kup nowe sonoffy i postaw Adrianowi browara.
Witam. Z lenistwa nie zgrałem oryginalnego oprogramowania do sonoff RF. Ponieważ supla pomimo wielu prób nie działa chciałem wrócić do oryginalnego softu, więc wgrałem plik bin z drugiego sonoff RF.Poszło bez problemów jak w instrukcji, problem polega na tym że aplikacja Ewelink widzi jedno urządzenie.Pomimo że działają dwa na raz.Raz podłacza sie do jednego raz do drugiego. Cięzko sterować aplikacją jak są dwa podłączone.Pozostaje sterowanie radiowe pilotem :). Ma Ktoś może do podesłania jakieś bin od sonoff RF. Sądze że w pliku jest nr id dlatego apka sie gubi.Dodam że Tasmota działał lecz brakowało mi tam opcji pusch(chwilowe załaczanie)aby działał jak przycisk dzwonkowy.
WitamZakupiłem Sonoff-a RF (sonoff rf r2 power v1.0) z wgraną już Suplą jednak kiedy okazało się że nie działa pilot RF postanowiłem wgrać backup oryginalnego oprogramowania który otrzymałem od sprzedawcy. Wszystko niby idzie zgodnie z poradnikiem backup niby się wgrywa jednak Sonoff nie jest widoczny w sieci WiFi a co za tym idzie nie można go skonfigurować pilot za to jakimś sposobem zaczyna działać nawet bez parowania. Czy aby przywrócić backup w najnowszych sonoff-ach procedura jest jakaś inna czy może coś trzeba jeszcze dodatkowo zrobić czego nie ma w instrukcji. Zmieniałem już programy do wgrywania czyściłem pamięć jednak nic to nie daje.
Witam mam ten sam problem co @iragos W trbie administratora nic nie daje
Jakieś inne sugestje jak zrobić backup ?
@darkoJak jesteś w miarę obcykany z angielskim to mogę Ci podesłać adres do strony po angielsku, wg której już dwa razy instalowałem Pythona, esptool, itp aby zgrywać i wgrywać oprogramowanie.
Jak możesz podaj
@darkoWysłałem. Ja daje plik bin wewnątrz folderu esptool-2.5.1 i nie muszę podawać ścieżki, tylko samą nazwę.
Witam!
Jak sprawdzić ja jakim porcie COM jest podłączony obecnie konwerter USB na TTL 3.3V oparty na układzie CP2102?
Po włożeniu kontrolera usb wyskakuje mi nieznane urządzenie CP2102…
kontroler.jpg
@alvaro brakuje sterowników dla tego konwertera podaję link https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-driversPobierz i zainstaluj
Dostałem Basica z ESP 8285, czy tego też idzie przeprogramować? Sonoff przy programowaniu (zrzucaniu firmware) musi być podłączony do 230V?
Ok, w końcu zgrałem, na kontrolerze albo sooffie chyba mam źle opisane RX i TX, zamieniłem miejscami i działa.
Na Sonoffie mam taką kolejność: GND TX RX 3V3
a na kontrolerze GND RX TX 3V3
Procedura wgrywania alternatywnego firmware do 8285 jest jakaś inna, bo w komentarzach widzę że użytkownik @miloszix miał z tym problem…
Trzeba łączyć na przemian TX z RX i RX z TX
Microsoft Windows [Wersja 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Wszelkie prawa zastrzeżone.
C:\Windows\system32>esptool.py –port COM3 –baud 115200 read_flash 0x00000 0x10
0000 C:\ewelink1M.bin
esptool.py v2.6
Serial port COM3
Traceback (most recent call last):
File „C:\Program Files (x86)\Python37-32\Scripts\esptool.py-script.py", line 1
1, in
load_entry_point(’esptool==2.6′, 'console_scripts’, 'esptool.py’)()
File „c:\program files (x86)\python37-32\lib\site-packages\esptool.py", line 2
952, in _main
main()
File „c:\program files (x86)\python37-32\lib\site-packages\esptool.py", line 2
646, in main
esp = ESPLoader.detect_chip(each_port, initial_baud, args.before, args.trace
)
File „c:\program files (x86)\python37-32\lib\site-packages\esptool.py", line 2
58, in detect_chip
detect_port = ESPLoader(port, baud, trace_enabled=trace_enabled)
File „c:\program files (x86)\python37-32\lib\site-packages\esptool.py", line 2
22, in __init__
self._port = serial.serial_for_url(port)
File „c:\program files (x86)\python37-32\lib\site-packages\serial\__init__.py"
, line 88, in serial_for_url
instance.open()
File „c:\program files (x86)\python37-32\lib\site-packages\serial\serialwin32.
py", line 62, in open
raise SerialException(„could not open port {!r}: {!r}".format(self.portstr,
ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM3′: FileNotFoundError
(2, 'Nie można odnaleźć określonego pliku.’, None, 2)
C:\Windows\system32>
Co robię źle ?
Witam. Jestem tu nowy. Zaczynam dopiero zabawę z zagadnieniami związanymi z SmartHome.
Mam 3 pytania :
1.Jak zgrać oryginalny firmware z ESP8285. Robiąc to według poradnika, mam komunikat o błędzie :
A fatal error occurred: Corrupt data, expected 0x1000 bytes but received 0xfff bytes
Jak rozwiązać ten problem?
2.Mam ESP8266 z którego nie zgrałem wcześniej firmware i nie wstaje mi, na początku nie chciał mi się flashować, a teraz idzie ale nie uruchamia się po wgraniu firmware AFE. Co zrobić żeby „ożył" 🙂 ??
3.Jest jakaś opcja integracji SonOff Basic z wgranym innym firmware z Cayenne ?
Z góry dzięki za odpowiedzi.
Pozdrawiam.
Sławek
EDIT: Pytanie nr 2 nieaktualne, okazało się że chiński kabel zasilający był uszkodzony.
Cześć,Mam pytanie zgrałem sobie zawartość pamięci do pliku według powyższego poradnika -wszystko bez błędówNastępnie wgrałem sobie SUPLA FOR ITEAD SONOFF WiFi Smart Switch + DS18B20v2.0 boot_v1.5.bindo testów i teraz chciałem powrócić do oryginału więc wgrałem to co zgrałem również wszystko poszło bez błędów ale urządzenie się nie włącza czy przed powrotem do oryginalnego softu należy coś jeszcze zrobić ?
jak wgrałeś tylko boot_v1.5.bin to supla też nie wystartowała , a zasada jest taka że przed każdą zmianą oprogramowania należy wyczyścić pamięć flash , czyli np wgrać plik blank .
wgrałem oba pliki i supla wystartowała po prostu na ta chwilę testuje jak się to robiale faktycznie nie wgrywałem pliku blankchodzi o to że może jakieś pozostałości zostały i dlatego nie startuje oryginalny soft ?czy mogę prosić o ilnik do takiego pliku blank
http://www.pratikpanda.com/wp-content/uploads/2016/05/blank_1MB.zip
bardzo dziękuje niestety nadal nie ożywa wgrałem blank a następnie oryginał zastanawia mnie komunikat na końcuLeaving…Hard resetting via RTS pin…jak ma to rozumieć ?
Leaving…Hard resetting via RTS pin…Zrób twardy reset ESP zwierając pin RST do GND przy podłączonym zasilaniu
Cześć, Ja z kolei mam inny problem. Mam Sonoff RF R2 Power. Kupiłem go z wgranym Gruppio (homekit) ale postanowiłem wrócić do oryginalnego softu (otrzymałem zrzut). Na początku miałem drobne problemy, ale w końcu udało się, chociaż po podłączeniu sonoffa do prądu ten nie działa. Nie jest w żaden sposób wykrywany. Przyciskając przycisk dioda się świeci raz, po 7 sekundach 2 razy i tyle. Załączam screen z CMD. Jakość taka a nie inna, ponieważ musiałem korzystać z pożyczonego komputera i nie miałem możliwości zrobienia normalnego screenshota 🙁
IMG_2267.jpeg
Witam,jestem tu nowy. Próbowałem zgrać soft z sonoff basic, ale coś poszło nie tak. Czy przed zgrywaniem trzeba wygenerować plik do którego będzie zgrany oryginalny soft? Jeśli trzeba to jak to zrobić.Dziękuję za pomoc.
Witam,
Zgrałem z ooryginlne oprogramowanie sonoff sv ewelink
Chciałem wgrać ponownie ale mam błąd a fatal error occurred: Timed out waiting for packet header
CZy ktoś pomoże? Może inna składnia?
Pomóżcie proszę, bo siedzę z tym od wczoraj i gdzieś chyba coś poknociłem, bo nie działa. Robiłem to już jakiś rok temu i dało rady, ale coś widocznie zapomniałem.
Miałem format systemu (Windows7) i musiałem od nowa wgrać Pythona i esptool. Wszystko niby ok, wgrane wg instrukcji. Python widoczny w cmd, esptool nie. Gdy próbuję zgrać kopię sonoffa th11, wyskakuje mi taki komunikat:
esptool.PNG
Sam sobie pomogłem. Gdyby ktoś miał taki sam problem – trzeba dokonać zmian środowiskowych w Windowsie.