Wgrywanie firmware to Sonoff Mini Extreme R4
Sonoff’em Mini Extreme R4 można sterować za pomocą oryginalnej aplikacji eWeLinki. Można nim również sterować za pomocą własnego systemu do automatyki na przykład: Domoticz, Home Assistant, OpenHab, czy czegoś innego. Aby to było możliwe, konieczne jest zintegrowanie Sonoff’a z własnym systemem do automatyki.
Można to zrobić próbując wykonać taką integrację z Sonoff’em pracującym na oryginalnym oprogramowaniu, jak również można zmienić jego oprogramowanie i całkowicie uniezależnić się od infrastruktury sterującej tym urządzeniem, czyli korzystania z chmury producenta, która jest zlokalizowana w serwerowni gdzieś na świecie.
Poniżej znajduje się instrukcja, jak wgrać własne oprogramowanie do Sonoff’a Mini Extreme R4
Zanim wgrasz oprogramowanie:
- Wgranie oprogramowania ingeruje w oryginalne oprogramowanie i raczej stracisz gwarancję na ten moduł, więc należy wziąć to pod uwagę.
- Urządzenie musi zostać odłączone od zasilania 230v przez cały proces wgrywania alternatywnego oprogramowania.
Instrukcja wgrania firmware do obejrzenia:
Co potrzebujesz
- Sonoff Mini Extreme R4
- Adapter USB – TTL (UART) na przykład oparty na chip CP2102
- 4 przewody
- lutownicę (+ stop lutowniczy, topniki, itp. wg własnych preferencji)
- ESP Flash Download Tool
- AFE Firmware
Opcjonalnie:
Aby ustabilizować moduł podczas lutowania do niego przewodów można wydrukować przygotowany przeze mnie model 3D dla Sonoff’a Mini Extreme R4.
W przypadku braku dostępu do drukarki 3D można wesprzeć się plasteliną, która równie dobrze ustabilizuje Sonoff’a
Przygotowanie Sonoff Mini Extreme R4 do wgrania firmware
Wgranie firmware wykonuje się za pomocą złącza UART, które dostępne jest na płytce drukowanej. Niestety złącze UART wymaga przylutowania przewodów, a następnie połączenia ich z adapterem USB-TTL.
Łączenie adaptera z Sonoff’em mini wykonuje się następująco:
- Pin z adaptera oznaczony Rx należy połączyć z przewodem idącym do pad’a Tx w Sonoff’ie.
- Pin z adaptera oznaczony Tx, należy połączyć z przewodem idącym do pad’a Rx w Sonoff’ie.
Częstą pomyłką podczas łączenia adapterów USB-TTL z urządzeniami jest łączenie RX z RX i TX z TX.
- GND z adaptera połączyć z GND Sonoff’a
- 3.3v z adaptera połączyć z przewodem idącym do U2 w Sonoff’ie
UWAGA: łączymy 3.3v nie 5v z adaptera. Jeśli zostanie podłączone napięcie wyższe niż 3.3v mikrokontroler ESP32 Sonoff’a może zostać uszkodzony.
Sonoff Mini Extreme R4 – pin’y oraz GPIO
Proces wgrywania firmware
Proces wgrywania firmware składa się z następujących kroków:
- Wybranie plików firmware do wgrania do urządzenia
- Ustawienie parametrów wgrywania firmware
- Wprowadzenie Sonoff’a Mini Extreme R4 w tryb flashowania / wgrywania firmware
- Wyczyszczenie pamięci Flash
- Wgranie firmware
- Odłączenie Sonoff’a od zasilania i ponowne włączenie
- Odczekanie ok. 1min
- Gotowe
Wgrywanie firmware
Do Sonoff’a będzie wgrywane oprogramowanie AFE Firmware, które posiada dedykowaną i już skonfigurowaną wersję dla Sonoff’a Mini Extreme R4.
Po wgraniu AFE Firmware do urządzenia za pomocą adaptera USB-TTL, przyszłe aktualizacje firmware wykonuje się już przez przeglądarkę.
Do Sonoff’a można wgrać również AFE Firmware w wersji:
- dla HomeAssistant, Domoticz, openHab: jest to wersja homeassistant.api, która wykorzystuje MQTT + MQTT Autodiscovery, dodatkowo ma również HTTP API
- dla Domoticz: domoticz.api, która wykorzystuje Domoticz API oparty na IDX’ach
- standardowej: standard.api: która wykorzystuje MQTT i HTTP API
Struktura rozpakowanego folderu AFE Firmware
- en, pl – wersja językowa AFE Firmware
- domoitcz.api – Firmwary z Domoticz API: MQTT, HTTP wykorzystujące IDX
- …
- homeassistant.api – Firmware ze standardowym API: MQTT, HTTP oraz HA MQTT AutoDiscovery
- esp32 – AFE Firmware dla urządzeń zbudowanych na ESP32
- esp8266 – AFE Firmware dla urządzeń zbudowanych na ESP8266
- esp8285 – AFE Firmware dla urządzeń zbudowanych na ESP8285
- shelly – Dedykowane wersje AFE Firmware dla urządzeń Shelly
- sonoff – Dedykowane wersje AFE Firmware dla urządzeń Sonoff
- standard.api – Firmwary ze standardowym API: MQTT oraz HTTP
- …
- domoitcz.api – Firmwary z Domoticz API: MQTT, HTTP wykorzystujące IDX
- esp32.bootloaders
- readme – instrukcja wgrywania firmware to ESP32
- *.bin – dodatkowe pliki dla urządzeń zbudowanych na ESP32
Uruchomienie i ustawienie ESP Flash Download Tool.
1. Uruchamiamy ESP Flash Download Tool
2. Wybieramy ESP32
3. Wybranie plików oraz ustawienie ESP Flash Download Tool
Pod adresy w poniższej tabeli należy wgrać odpowiednie pliki z folderu AFE Firmware
Adres | Plik | lokalizacja pliku |
0x1000 | bootloader_dout_40m.bin | folder /esp32bootloaders |
0xe000 | boot_app0.bin | folder /esp32bootloaders |
0x8000 | partitions.bin | folder /esp32bootloaders |
0x10000 | afe.firmware.t0.x.x.x.pl.esp32.sonoff-mini-r4.4mb |
|
Pozostałe ustawienia ESP Flash Download Tool
Checkbox’y przy każdym pliku firmware muszą zostać zaznaczone
- SPI SPEED: 40MHz
- SPI Mode: DOUT
- DoNotChgBin: zaznaczone
- BAUD: 115200
- COM: należy sprawdzić w Menedżerze urządzeń (Panel sterowania\Sprzęt i dźwięk\Menedżer urządzeń).
Nazwa portu może różnić się w zależności od użytego adaptera USB-UART
Wprowadzenie Sonoff’a w tryb wgrywania firmware
- Adapter USB-TTL połączony z Sonoff’em musi być odłączony od portu USB w komputerze
- Wciskamy przycisk w Sonoff’ie i trzymamy go wciśniętego
- Trzymając wciśnięty przycisk w Sonoff’ie wkładamy adapter do portu USB w komputerze
- Po włożeniu adaptera do portu USB w komputerze puszczamy przycisk w Sonoff’ie
- W tym momencie urządzenie jest w trybie wgrywania firmware
Czyszczenie pamięci flash
- Sprawdzamy czy mamy wybrany odpowiedni port w ESP Flash Download Tool
- Wciskamy przycisk ERASE
Jeśli wszystko mieliśmy do tej pory dobrze ustawione, to po ok. 10 sekundach pamięć Flash w Sonoff’ie powinna zostać wyczyszczona i powinniśmy zobaczyć informację o zakończeniu procesu, jak na poniższym ekranie
Wgrywanie firmware
- Po wyczyszczeniu pamięci Flash NIE odłączamy adaptera od portu USB komputera
- Wciskamy przycisk START
Proces wgrywania firmware powinien rozpocząć się. W ESP Flash Download Tool powinien być widoczny pasek postępu, adresy MAC i BT Sonoff’a oraz w oknie z czarnym tłem informacje o kompresowanych plikach, które wgrywane są do Sonoff’a
Proces wgrywania firmware trwa do około jednej minuty. Po wgraniu firmware powinniśmy zobaczyć informację o ukończonym wgraniu firmware.
W tym momencie mamy już firmware wgrany do urządzenia.
Kończenie procesu wgrywania firmware
- Odłączamy adapter USB-TTL od portu USB komputera
- Czekamy 1-2 sekundy i ponownie włączamy adapter USB-TTL do portu komputera
- Czekamy około jedną minutę, aby firmware mógł dokończyć konieczne konfiguracje
W tym momencie nie wolno odłączać adaptera od portu USB, gdyż firmware formatuje pamięć flash, tworzy bazę danych oraz dokonuje ustawień urządzenia. Odłączenie urządzenia od zasilania przed zakończeniem tego procesu może spowodować problemy z działaniem firmware. Gdyby z jakiegoś powodu wystąpił brak zasilania Sonoff’a Mini Extreme R4, to w najgorszym wypadku będzie konieczne ponowne wgranie oprogramowania.
Po czym rozpoznać, że urządzenie z AFE Firmware jest już gotowe do działania?
- Jeśli wgrana jest dedykowana wersja dla konkretnego urządzenia na przykład Sonoff Mini Extreme R4 to wbudowana w Sonoff’a dioda LED sygnalizuje o tym fakcie.
- gdy dioda świeci ciągłym światłem firmware wciąż pracuje nad konfiguracją urządzenia
- gdy dioda miga, około 2x na sekundę, firmware gotowy jest do konfiguracji przez użytkownika
- Jeśli wgrany jest AFE Firmware do urządzenia, które albo nie ma diody LED lub dioda LED urządzenia nie jest podłączona do domyślnie ustawionej konfiguracji w AFE, czyli GPIO2, to:
- po 1 minucie należy sprawdzić w dostępnych sieciach WiFi, czy widoczna jest sieć WiFi o nazwie: AFE Device
- jeśli jest widoczna to firmware jest gotowy do konfiguracji przez użytkownika
Integracja z system do automatyki
W tym momencie jest duża szansa, że z powodzeniem mamy wgrany do Sonoff Mini Extreme R4 nowy firmware, który pozwoli zintegrować Sonoff’a z dowolnym system do automatyki. Aby zintegrować go z system do automatyki, pierwszą czynnością, jaką należy wykonać, to połączyć Sonoff’a z siecią WiFi
- Wchodzimy w dostępne sieci WiFi
- Wybieramy i łączymy się z siecią WiFi o nazwie: AFE Device
- W przeglądarce internetowej wprowadzamy adres: http://192.168.5.1
- Do około 20sek powinna pokazać się strona konfiguracyjna AFE Firmware, gdzie wprowadzamy informacje o sieci WiFi
- Po wprowadzeniu parametrów łączenia się z siecią WiFi zapisujemy konfigurację
- W routerze WiFi sprawdzamy, jaki został nadany Sonoff’owi adres IP, który już możemy wykorzystać, aby przeprowadzić finalną konfigurację urządzenia.
Sonoff Mini Extreme R4 pracuje tylko z sieciami WiFi 2.4GHz. Wprowadzenie do Sonoff’a konfiguracji z siecią WiFi nie będzie obsługowane przez Sonoff’a
O pierwszym uruchomieniu oraz konfiguracji można przeczytać na stronie AFE Firmware
lub obejrzeć jeden z poradników na kanale YouTube AFE Firmware
W razie problemów oraz pytań proszę pisać pod artykułem lub na Forum AFE Firmware
Dzień dobry!
Wgrałem wersję 3.7.0 i działa bardzo szybko, wciśnięcie switcha od razu zmienia stan przekaźnika, w sofcie producenta było opóźnienie.
Chciałbym zapytać czy załączanie przekaźnika przez pętlę S1 S2 byłoby obsługiwane także przez Afe firmware?
Pozdrawiam
tak bedzie działać, musisz zdefiniowac przycisk w AFE ustawić go na GPIO-27 na którym chodzą te S1/S2 i którym przekaźnikiem steruje then przycisk.
Czy wtedy muszę zrezygnować z przycisku systemowego? W ustawieniach do wyboru jest 0 lub 1 przycisk
Jeden przycisk może być systemowy ten z GPIO0 a drugi tylko sterowanie przekaznikiem
Tak, rozumiem sprawę 🙂 w tej wersji dla r4 jest pole wyboru ilości przycisków 0 lub 1
aaa ok, wlaśnie widze w kodzie że zrobiłem, że jest 1 przycisk 🤔
Może uda mi się dzisiaj jeszcze wygenerować nową wersję z 2 przyciskami – dam znać
Dziękuję, fajnie 🙂 Czy nowy soft ładować przez konwerter ttl czy można będzie już przez przeglądarkę?
@micraw przeglądarkę
@micraw która wersję używasz? Domoticz, HomeAssistant? openHab?
Domoticz 🙂
@micraw tutaj jest wersja 3.8.0.B5 – to jest wersja nad którą siedzę, u mnie w domu pracuje okay, ale nie mam używam Domoticz, więc to ty będziesz testował tę wersję; ja zrobiłem przed chwilką szybki test wł/wył i było okay.
Dodałem drugi przycisk, ale będziesz musiał go skonfigurować ręcznie
Jak będzie już gotowa wersja (nie beta) to zaktualizujesz sobie przez Internet – ale to gdzieś za 2 miesiące
pzdr.a
Ok, dziękuję, jak tylko sprawdzę to dam znać 🙂
Skoro mogę „potestować" to drobnostka „RAM wykorzystany w ?%" – zniknęła liczba, wcześniej było chyba poniżej 40%.
S1 S2 działa po skonfigurowaniu, idealnie sprawdzi się dla przycisku monostabilnego. Każdy impuls z chwilowego zwarcia S1 S2 wprowadza przekaźnik w stan przeciwny.
Jednakże dla tradycyjnego przełącznika ściennego (typ bistabilny): załączony softowo przekaźnik, S1 S2 cały czas rozwarte (przełącznik ścienny wyłączony) nie powinien być wyłączany przekaźnik przez zwieranie S1 S2 (włączanie przełącznika), dopiero wyłączany przy rozwieraniu S1 S2.
Także w drugim przypadku dla wyłączonego softowo przekaźnika, S1 S2 cały czas zwarte (przełącznik ścienny włączony) i następnie rozwieranie S1 S2 (przełącznik ścienny wyłączany) nie powinno wprowadzać przekaźnika w stan przeciwny tj. załączać.
Na tę chwilę działa jak powyżej a wydaje mi się, że idealnie byłoby w trybie bistabilnym wprowadzić warunek:
Gdy przekaźnik „1" to S1 S2 zmiana stanu z 0 na 1 nie zmienia stanu przekaźnika, dopiero S1S2 z 1 na 0 zmienia przekaźnik na 0;
gdy przekaźnik „0" to S1 S2 zmiana stanu z 1 na 0 nie zmienia stanu przekaźnika, dopiero S1S2 z 0 na 1 zmienia przekaźnik na 1.
To takie moje przemyślenia na ten temat, póki co jest fajnie, że reaguje na zmiany stanu S1S2 😉
Dzięki
Tak to jedna z „doróbek" do poprawienia jeszcze: https://github.com/tschaban/AFE-Firmware/issues/902
Idea jest, że każde przełączenie, czy to w aplikacji na smarfonie, przez przeglądarkę, czy fizyczne przełączenie w ściennym przełączniku, albo włącza, albo wyłącza żarówkę, bez względu w jakiej pozycji jest przycisk w ścianie. Nie będę robił dla bistabilnego, że czasami żarówke trzeba jednym przełączeniem, a czasami dwoma przerzucic między stanami, żeby włączyć lub wyłączyć żarówkę. Tak samo jest na oryginalnym oprogramowaniu. Jeśli ktoś potrzebuje, żeby fizyczny przełącznik zawsze fizycznie był w tym samym położeniu to od tego jest przycisk monostabilny.
Zastanawiam się jaki jest cel tego? Nigdy nie bedzie sytuacji, że żarówka będzie tylko świecić się, gdy bistabilny jest np. wciśnięty od dołu, czyli nigdy nie będzie włączona przy takim samym położeniu bistabilnego – będzie raz tak, raz inaczej – w zależności jak przełączy się softowo i w regułach. Natomiast użytkownik w tym wypadku będzie musiał pamiętać, jaka pozycja bistabilnego wyłącza żarówkę i czasami będzie musiał(a) przełączyć go jeden raz, a czasami dwa razy. Trzeba wtedy robić szkolenie dla gości, teściowej z obsługi oświetlenia dlaczego czasami muszą raz a czasami dwa nadusic przycisk, żeby wyłączyć lub włączyć oświetlenie hm… ja w miałbym wystawione walizki przed dom, gdybym tak zrobił w domu 🤪
pzdr.a
Pomysł wynikał tylko z nabytego przyzwyczajenia, że w daną stronę światło jest włączone. Nie ma co sztywno się tego trzymać, w końcu przełączniki schodowe mają różne stany dla włączenia światła, w zależności jak jest ustawiony przełącznik po drugiej stronie schodów… 🙂
Dzięki za beta soft.
Pozdrawiam
Cześć,
Mam pytanie odnośnie wgrywania firmware:
1) kupiłem https://pl.aliexpress.com/item/1005006350329898.html?spm=a2g0o.order_list.order_list_main.22.1c9a1c24h6SVrV&gatewayAdapt=glo2pol (CPU: ESP32-C3)
2) kupiłem FT232 konwerter USB UART 3.3V 5V TTL ARDUINO (ustawiłem na 3,3V VCC)
3) ściągnąłem: afe.firmware.t0.3.7.0 oraz flash_download_tool_3.9.5.
4) poustawiałem wszystko zgodnie w filmem z YouTube i gdy klikam ERASE:
test offset : 4096 0x1000case oktest offset : 57344 0xe000case oktest offset : 32768 0x8000case oktest offset : 65536 0x10000case ok…………………………………….
Kropki lecą w nieskończoność. Na Adapterze świeci dioda PWR, RXD i mruga TXD.
Czy ktoś miał taki przypadek?
@zorro2003 cześć, nie jestem pewien, czy ta sama kompilacja AFE dla Sonoff MiniR2 z ESP z prockiem Xtensa pyknie na ESP32 C3 w architekturze RISC-V (MiniR4M)
nie próbowałem.
Nie ma mnie teraz w domu ale pod koniec tygodnia przyjrzę się i wygeneruję nową wersję pod tą wersję ESP32 – odezwę się.
— Co do wgrywania
@adrian Cześć,
tak, port COM nr. 25
wciskam adapter do USB z przyciśniętym przyciskiem na Mini R4 Extreme i puszczam po około 3 sek.. W głośnikach słychać dźwięk Windows odpowiedzialny za poinformowanie o podłączeniu/wpięciu czegoś na USB.
tak, testowałem i zamieniałem.
Po uruchomieniu ERASE, poniższa sytuacja:
Kropki lecą do przodu. na USB-
UART mruga: TXD i świeci ciałgym RXD i GND.
Pozdrawiam :).
@zorro2003 to że kropki „lecą" nie oznacza, że co kolwiek się dzieje.
wejdż na stronę espeasy i pobierz przykładowy soft dla esp32 i wgraj go pod adres 0x0. Jak pójdzie to wrócisz do właściwego.
Nadal to samo :(.
@zorro2003 to znaczy, że nie masz komunikacji.
1. wymusiłbym zmianę numeru portu na niższy, to nie ma większego znaczenia, ale pozwoli sprawdzić czy prawidłowo działa konwerter.
2. z tego co widzę możesz mieć konwerter opraty na chipie PL2303, a z nim mozesz mieć problemy ze sterownikami – pokasz co masz w managerze urządzeń. Ja miałem tak, że niby działa a sterownik nie… zarówno Linux jak i Windows.
Polecam te na CH340.
3. opewnij się, ze wprowadzasz w trym programowania – odnajdź pin GPIO0 i zewrzyj do masy na czas programowania.
@pawell32 Cześć,
1-2) port zmieniony + widzi jak poniżej (Silicon Labs CP210x USB to UART Bridge):
Wcześniej miałem: FT232 konwerter USB UART 3.3V 5V TTL ARDUINO.Teraz mam: Konwerter MSALAMON Konwerter USB TTL CP2102.
3) z tego co testowałem to bez wciśnięcia przycisku, przekaźnik przechodzi w tryb parowania mrugając niebieską diodą. Przy połączeniu do USB z wciśniętym przyciskiem nie uruchamia parowania + dioda RXD świeci ciągłym świałtem a TXD mruga przy kliknięciu ERASE.
Pozdrawiam,
ten jest ok
możesz zrobić zdjęcie macro płytki jak podłączasz?
tak powinno być, zamień tx z rx i zobacz czy ruszy.
jasne:
Pozdrawiam,
Cześć,
Jak zmieniłem to świeci GND i mruga TXD.
Niestety nadal ten sam problem :/
Można go jakoś po WiFi zaktualizować do AFE?
Pozdrawiam,
@zorro2003
– wróć tymi przewodami jak było
– sprawdź jaka masz prędkość ustawioną na porcie (w programie masz 115200 )
Jednak nadal ten sam problem (screen powyżej).
Pozdrawiam,
port masz teraz jako com7?
zmień spi mode na dio.
dobrze przylutowałeś piny?
to jest twój jedyny moduł, czy masz inny, na którym można przetestować? najlepiej jakiś 8266
Program uruchomiłem na innym komputerze aby wykluczyć problem PC-ta.
Kupiłem kilka Sonoff MINI R4 Etreme. To już drugi moduł, który ma taki problem.
Pozdrawiam,
ja nie mam u siebie akurat takiego modułu, zatem nie podpowiem nic więcej. jakbyś był blisko Wro lub chciał podesłać to priv.
Nie czekając aż @adrian sprawdzi, sprawdziłem ja.
Korzystając jak zawsze z instrukcji, bo stary już jestem i nie wszystko pamiętam
AFE Firmware do ESP32 należy załadować wgrywając wylistowane pliki pod konkretne adresy
– bootloader_dout_40m.bin: 0x1000
– boot_app0.bin: 0xe000
– partitions.bin: 0x8000
– AFE ESP32 firmware: 0x10000
Załaduj używając SPI_MODE = DOUT
Uruchomiłem flash_download_tool_3.9.2, wybrałem prawidłowy ESP
Potem ustawienia i start z wersję dla ESP32 38pin
Efekt końcowy
Więc działa.
Dla pewności jaki to moduł foto
To już wiem, znalazłem informację w Internecie w kilku miejscach i niestety Sonoff MiniR4M (Matter) nie da radę flash’ować.
Certyfikacja Matter ma wymagania jeśli chodzi o zabezpieczenia i dlatego w tej wersji zastosowany jest ESP32-C3 który ma wbudowane funkcje kryptograficzne, w skrócie na poziomie mikrokontrolera występuje zabezpieczanie z kluczem, które uniemożliwia wgranie firmware.
niestety jedynie MINIR4 – pomarańczowy da się flash’ować
Dziękuję za odpowiedź.
Jest gdzieś dostępny MiniR4 extreme bez Matter?
Pozdrawiam,
@zorro2003 jak nie wygooglujesz to powinienem miec jeszcze ich troche. Brakuje czasu zeby wystawic na allegro/olx
jak cos to pisz na priv. Cena niższa od najniższej jaką znajdziesz.
pzdr.a
Witam Panie Adrianie posiadam sonoff mini r4 pomarańczowy czy byłby Pan w stanie wgrać soft pod suple 4- 5 szt
witaj @soltyss niestety nie dysponuje wolnym czasem 😐
@soltyss jaka lokalizacja?
@pawell32 Jasło Podkarpacie
@soltyss na priv