Sonoff MINIR4M to niewielki, dopuszkowy przekaźnik, który pozwala w prosty sposób zamienić zwykłe oświetlenie lub urządzenie elektryczne w element automatyki budynkowej sterowanej przez Wi-Fi. Dzięki obsłudze Matter może współpracować z różnymi ekosystemami (Apple Home, Google Home, Alexa) bez zamykania się na jedną aplikację.
W tym materiale sprawdzę jego działanie w aplikacji eWeLink, zajrzę do środka urządzenia oraz zobaczę, czy istnieje możliwość zmiany fabrycznego firmware.
Sonoff Mini R4 M kupiliśmy za 30 złotych. To troszkę drożej niż najtańsze produkty Tuya, ale może warto? W zestawie dostajemy tylko sam produkt i instrukcję:
Produkt jest naprawdę kompaktowy - jego wymiary to tylko 39,5 x 33 x 16,8 mm. Można go schować w głębszej puszce tuż za zwykłym włącznikiem, który on też obsłuży. Pracuje na napięciu 100 - 240 V.
Pora podłączyć go na próbę i przetestować aplikację:
Test z aplikacją eWeLink
Pobieramy aplikację i zakładamy konto. Produkt działa z siecią Wi-Fi 2.4 GHz. Wprowadzamy go w tryb parowania. Telefon znajduje urządzenie:
To jest urządzenie Matter - tu też trzeba zeskanować kod QR. Znajduje się on na obudowie:
W ten sposób dostajemy zdalną kontrolę nad urządzeniem z poziomu aplikacji. Aplikacja też pyta nas o aktualizacje, które proponuje wykonywać w nocy pomiędzy 2:00 a 4:00.
Urządzenie oferuje integracje z platformami takimi jak Amazon Alexa, Google Home, IFTTT, SmartThings, itd. Standardowo oferowane są sceny i automatyzacje. Tu dodatkowo mamy wsparcie dla kontroli przez LAN (sieć lokalną), ustawienia powiadomień i alarmów gdy urządzenie jest offline. Można też wyłączyć diodę LED od statusu Wi-Fi (network indicator) oraz ustawić stan po przywróceniu zasilania. To bardzo wygodne!
Switch mode z kolei pozwala obsłużyć różne rodzaje przycisków - bistabilne i monostabilne. Dodatkowo można też oddzielić przekaźnik od przycisku, by móc opierać się na automatyzacjach.
W ustawieniach stanu po przywróceniu zasilania też są nowości. Opcji z opóźnieniem nie widziałem wcześniej. Zostaje też inching - czyli automatyczny powrót do poprzedniego stanu po danym czasie. Infografika pokazuje, że to przykładowo przyda się do wyłączenia nawilżacza.
W ustawieniach można też sprawdzić wersję firmware i urządzenia:
Tych opcji jest więcej niż kiedyś. Jestem pod wrażeniem.
Teraz można parować z Matter i innymi ekosystemami, ale mnie ciekawi jeszcze coś innego...
Wnętrze i próba programowania
Sprawdźmy budowę urządzenia. Podważamy pokrywę. Pierwszy w oczy rzuca się termopad pod którym jest ESP32:
ESP32-C3, czyli układ od Espressif, tym razem już z wbudowaną pamięcią Flash. Na płytce da się zidentyfikować RX, TX i GPIO0, ale czy nam to coś da?
Na próbę podłączyłem konwerter USB na UART:
Boot log świadczy o zablokowanym flashu:
ESP-ROM:esp32c3-api1-20210207
Build:Feb 7 2021
rst:0x1 (POWERON),boot:0xd (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
Valid secure boot key blocks: 0
secure boot verification succeeded
load:0x3fcd5978,len:0x38ac
load:0x403cc710,len:0x930
load:0x403ce710,len:0x5804
entry 0x403cc710
[0;32mI (77) boot: ESP-IDF v4.4.3-4-g30c422c-dirty 2nd stage bootloader[0m
[0;32mI (77) boot: compile time 02:54:24[0m
[0;32mI (77) boot: chip revision: 4[0m
[0;32mI (80) boot_comm: chip revision: 4, min. bootloader chip revision: 3[0m
[0;32mI (87) boot.esp32c3: SPI Speed : 80MHz[0m
[0;32mI (92) boot.esp32c3: SPI Mode : DIO[0m
[0;32mI (97) boot.esp32c3: SPI Flash Size : 4MB[0m
[0;32mI (101) boot: Enabling RNG early entropy source...[0m
[0;32mI (107) boot: Partition Table:[0m
[0;32mI (110) boot: ## Label Usage Type ST Offset Length[0m
[0;32mI (118) boot: 0 esp_secure_cert unknown 3f 06 0000d000 00002000[0m
[0;32mI (125) boot: 1 nvs_matter WiFi data 01 02 00010000 00006000[0m
[0;32mI (133) boot: 2 nvs_matter_bkp WiFi data 01 02 00016000 00006000[0m
[0;32mI (141) boot: 3 nvs WiFi data 01 02 0001c000 00010000[0m
[0;32mI (148) boot: 4 otadata OTA data 01 00 0002c000 00002000[0m
[0;32mI (156) boot: 5 phy_init RF data 01 01 0002e000 00001000[0m
[0;32mI (163) boot: 6 ota_0 OTA app 00 10 00030000 001e0000[0m
[0;32mI (171) boot: 7 ota_1 OTA app 00 11 00210000 001e0000[0m
[0;32mI (178) boot: 8 fctry WiFi data 01 02 003f0000 00006000[0m
[0;32mI (186) boot: End of partition table[0m
[0;32mI (190) boot_comm: chip revision: 4, min. application chip revision: 3[0m
[0;32mI (197) esp_image: segment 0: paddr=00030020 vaddr=3c120020 size=20ee8h (134888) map[0m
[0;32mI (228) esp_image: segment 1: paddr=00050f10 vaddr=3fc94a00 size=03a0ch ( 14860) load[0m
[0;32mI (231) esp_image: segment 2: paddr=00054924 vaddr=40380000 size=0b6f4h ( 46836) load[0m
[0;32mI (243) esp_image: segment 3: paddr=00060020 vaddr=42000020 size=11c504h (1164548) map[0m
[0;32mI (437) esp_image: segment 4: paddr=0017c52c vaddr=4038b6f4 size=09174h ( 37236) load[0m
[0;32mI (445) esp_image: segment 5: paddr=001856a8 vaddr=50000010 size=00010h ( 16) load[0m
[0;32mI (445) esp_image: segment 6: paddr=001856c0 vaddr=00000000 size=0a910h ( 43280) [0m
[0;32mI (458) esp_image: Verifying image signature...[0m
[0;32mI (459) secure_boot_v2: Verifying with RSA-PSS...[0m
[0;32mI (465) secure_boot_v2: Signature verified successfully![0m
[0;32mI (474) boot: Loaded app from partition at offset 0x30000[0m
[0;32mI (474) secure_boot_v2: enabling secure boot v2...[0m
[0;32mI (479) secure_boot_v2: secure boot v2 is already enabled, continuing..[0m
[0;32mI (487) boot: Checking flash encryption...[0m
[0;32mI (492) flash_encrypt: flash encryption is enabled (0 plaintext flashes left)[0m
[0;32mI (499) boot: Disabling RNG early entropy source...[0m
śţ˙śţcommission_status = 0, flag = 0 matter_ble_complete = 0
-------------no matter wifi data--------
ais_lan_data = data1=m9KL753ODZwYKyeWfAuOH0PvofQe4q/vSPmGlHeMVJ6t94YgXzzPFB3/BfImawnvCgjHQNhw0B8wiq2ty0nGm20OpkRju0dZC06+kpHAJt0JUjV/MzH9XSnvS+SbonJCQZ+ebWO7lzl/re1OefO6Wp7XnQFOg8T/AxBzvWUuR0758VY5nt/d5hCsdOvqWJaYOgZDAlOEc/CJ49tXulus8OvZjJsKyLDYmH1gp8CxmSgyj1LyxYHgcpARI i = 0
ais_lan_data = data2=i3oXacL0TG+vL0zSOopTv5l5wI+7BObJ3+qNsD/6wvsZ1chY0VPzTOfGUEzzeyG6Ns43yJRFGgZuXtPMoTjEtbEfpPgILm86r3CwnX0Kqg7m93HJf8YlvyH7e22t+PmWHc7PnsDtNjJV08j2zV7+CmtVYmGfwItxyS/Fr4otGrIsdLHue0I1RptHZuFMlK1X2GqSBCb7aYy+xnynykpgOvUDwzoxAqC0qm46q36TT8m7PS3io8EThlXfe i = 1
ais_lan_data = data3=fvV0UoRrm7rHFOSkWbJGbBLwZ+fZJPBBa4AgZt639M6Z3ivOY9ARbRx0urAENJqwwJvJEFIzeGj7f3 i = 2
datakey_name = data4 i = 3
esptool nie jest w stanie odczytać wsadu z tego układu, więc nie da się zmienić firmware. Zostaje wymiana ESP32 na inny, a to wymaga już lutowania naprawdę drobnych elementów.
Zostaje nam tylko obejrzeć resztę PCB, jedynie w celach edukacyjnych.
W środku przetwornica beztransformatorowa, warystor, kondensator przeciwko zakłóceniom, bezpiecznik... Sonoff nie pożałował.
Układ zasila typowa kombinacja BP2525 + LDO 3.3 V.
Oznaczenie PCB: MINIR4 V1.0 2022.01.01. To już cztery lata mijają...
Podsumowanie
Bez wątpienia jest to wysoce konfigurowalny, kompaktowy i wygodny w użyciu produkt. Coraz więcej tych funkcji w tych gadżetach widzę i tu pomyślano o wszystkim - nawet o opcji zgaszenia denerwującej diody LED od statusu Wi-Fi. Kompatybilność z Matter też się może przydać w łączeniu z różnymi ekosystemami, jest tutaj tylko jeden minus - nie da się tu zmienić wsadu ESP.
Były już na forum głosy, że certyfikacja Matter wymaga, by wsad był zablokowany, więc nie jestem zaskoczony tym, jak się to skończyło. Podobną sytuację mieliśmy w przypadku Sonoff M5-3C-80W. Zasadniczo mogę tu zaproponować jedno podejście - jeśli chcemy zmieniać firmware, to trzeba kupować produkty bez wsparcia Matter.
A jakie jest Wasze zdanie? Czy korzystacie z Matter? Czy spotkaliście się już z zabezpieczonym ESP32?
Fajne? Ranking DIY Pomogłem? Kup mi kawę.