
Witajcie moi drodzy.
Zapraszam na krótki test konfigurowalnego i sterowanego przez WiFi termostatu gniazdkowego. Zadaniem termostatu jest uruchomienie danego urządzenia (np. ogrzewania) gdy temperatura w pokoju znajdzie się poniżej zadanego progu. Termostat z tematu jest w pełni konfigurowalny, więc równie dobrze można użyć go do chłodzenia pomieszczenia. Dodatkowo pozwala utworzyć on bardziej zaawansowane harmonogramy oparte np. o daną godzinę lub dzień tygodnia. Sterowanie przez aplikację również pozwala włączać i wyłączać grzanie ręcznie.
Zakup MTS-700-WB
Produkt znalazłem pod hasłem "220V Tuya Smart Wifi Thermostat Warm Floor Thermostat Temperature Controller Works with Alexa Google Home" za około 27.99$ (niby przecena z 50$...). Specjalnie dobrałem ofertę z wysyłką z Czech, by otrzymać produkt szybko (tym razem trwało to 5 dni) i bez problemów z cłem.

Kilka grafik promocyjnych:



Otrzymana paczka, podpisana kodem SKUI47443:

Model z opakowania - MTS700WB:




W zestawie jest czujnik temperatury (termistor) i instrukcja:





Instrukcja:










Parowanie MTS-700-WB z aplikacją Tuya na iPhone
Urządzenie resetuje się poprzez pięciosekundowe przyciśnięcie przycisku on/off, ale w tym przypadku nie musiałem tego robić. Fabrycznie było w trybie parowania i już po chwili mój iPhone sam wykrył nowe urządzenie:

Parowanie wymaga nadania uprawnień aplikacji oraz podania swoich danych WiFi:

Zero problemów:

Konfiguracja i działanie
Po uruchomieniu widzimy docelową temperaturę (duża czcionka) oraz bieżącą (podpisaną "current"). W trybie manual termostat sam nie działa, tylko my przełączamy:

Tryb automatyczny można włączyć w ustawieniach.
Ustawienia są dość bogate, można tam ustalić zakres akceptowalnej temperatury oraz częstość przełączania stanów. Można również kalibrować czujnik temperatury czy tam zmienić jej jednostkę, co też jest kolejnym plusem produktu.


W sytuacji odłączenia termistora produkt pokazuje -20°C:


Produkt przetestowałem z żarówką w roli elementu grzejnego:

Nie będę tu wklejać dziesięciu zrzutów ekranu z aplikacji, ale zasadniczo wszystko działa. Żarówka się włączyła, świeciła jednocześnie nagrzewając czujnik i wyłączyła się gdy temperatura osiągnęła daną. Następnie musiało minąć kilka chwil by temperatura spadła (poniżej progu ponownego włączenia) oraz kilka dodatkowych chwil (czas opóźnienia między uruchomieniami) i żarówka załączyła się ponownie.
Termostat działa.
Wnętrze MTS-700-WB
Obudowę trzymają cztery śrubki.




Od razu widzimy, że w środku jest osobno mikrokontroler i osobno moduł WiFi - czyżby TuyaMCU?


Moduł WiFi to WBR2. Niestety to co innego niż znany mi WB2S. WBR2 oparty jest o RTL8720CF. Oferuje WiFi + Bluetooth.



Mikrokontroler to GD32E230F8P6TR. Pamięć Flash 64KB, napięcie pracy 1.8V do 3.6V, rdzeń ARM Cortex-M23, RAM 8KB, zegar do 72MHz.


Przy przekaźniku są pogrubione ścieżki oraz dodatkowy bezpiecznik 15A:


Widać też mostek prostowniczy MB6F a tuż za nim dwa kondensatory elektrolityczne a między nimi dławik w roli filtru. Na wejściu jest też warystor przeciwko przepięciom oraz żółty kondensator klasy X służący redukcji zakłóceń, jak również i bezpiecznik 3.15A (nie wiem czemu aż na tak duży prąd, chińczycy te 3.15A masowo dają do swoich produktów).

Zasilanie zrealizowane jest na MT3773CA (odpowiednik LP3773CA).

Jest to kontroler przetwornicy flyback pracujący w trybie PSR - primary side regulation, czyli regulacja napięcia jest brana ze strony pierwotnej, dzięki czemu nie potrzeba transoptora i układ jest prostszy i tańszy. Schemat aplikacji:


Ten układ generuje 5V dla przekaźnika. 3.3V dla mikrokontrolera i modułu WiFi zapewnia nam stabilizator LDO 3.3V AMS1117-3.3:

(na zdjęciu powyżej w kadr załapała się też dioda Schottky SS24 prostująca napięcie po stronie wtórnej przetwornicy impulsowej)
Na koniec dodam, że czujnik temperatury od produktu to oczywiście zwykły termistor - w temperaturze pokojowej pokazuje u mnie opór 50kΩ (zmierzyłem multimetrem), który szybko zmniejsza się gdy go ogrzejemy i rośnie gdy temperatura spada.
Przechwycone logi oraz komunikacja TuyaMCU
Na koniec przygotowałem konwerter USB UART i podpiąłem się z nim do urządzenia. 5V podłączyłem przed AMS1117, jednocześnie usuwając kondensator elektrolityczny by nie przeciążyć portu USB w momencie podłączenia urządzenia. Dodatkowo wyprowadziłem piny RX i TX od TuyaMCU (prowadzące do mikrokontrolera) oraz TX od debug logu z modułu WiFi:


Najpierw przechwyciłem debug output urządzenia, oczywiście począwszy od samego jego uruchomienia (Log TX z tyłu modułu, 115200 baud):
Code:
== Rtl8710c IoT Platform ==
Chip VID: 5, Ver: 3
ROM Version: v3.0
== Boot Loader ==
Dec 5 2019:14:02:18
fwx SELE[fffffffe]
fw SELE Bitidx 1, fw1 valid 1, sn 100, fw2 valid 1, sn 101
fw2 USE, return sn 101
Boot Loader <==
== RAM Start ==
Build @ 14:44:45, Jul 29 2020
Create Task init, stack 0x1000fb28, len 5120
Create Task app_init, stack 0x10010f88, len 8192
Create Task IDLE, stack 0x10012fe8, len 768
Create Task Tmr Svc, stack 0x10013640, len 2048
Create Task TCP_IP, stack 0x10013fb8, len 4000
interface 0 is initialized
interface 1 is initialized
In[01-01 18:12itializing :15 TUYA InfWIFI ...o][mqc_app.c:175] mqc app init ...
Create Task sys_timer, stack 0x1001a800, len 4096
Create Task cmmod, stack 0x1001eca8, len 4096
[01-01 18:12:15 TUYA Info][sf_mqc_cb.c:42] register mqc app callback
[01-01 18:12:15 TUYA Debug][mqc_app.c:118] mq_pro:5 mqc_handler_cnt:1
[01-01 18:12:15 TUYA Debug][mqc_app.c:118] mq_pro:31 mqc_handler_cnt:2
[01-01 18:12:15 TUYA Debug][log_seq.c:732] read from uf. max:0 first:0 last:0
[01-01 18:12:15 TUYA Debug][svc_online_log.c:288] svc online log init success
Create Task wk_th-0, stack 0x10023e18, len 5120
[01-01 18:12:15 TUYA Err][tuya_ws_db.c:314] kvs_read fails gw_bi -1
[01-01 18:12:15 TUYA Err][ws_db_gw.c:111] gw base read fails -935
[01-01 18:12:15 TUYA Debug][tuya_bt_sdk.c:89] ty bt cmmod register finish 1
[01-01 18:12:15 TUYA Notice][tuya_ble_api.c:301] ble sdk inited
[01-01 18:12:15 TUYA Debug][tuya_hal_bt.c:1047] tuya_hal_bt_port_init
[01-01 18:12:15 TUYA Debug][uni_thread.c:215] Thread:sys_timer Exec Start. Set to Running Status
[01-01 18:12:15 TUYA Debug][uni_thread.c:215] Thread:cmmod Exec Start. Set to Running Status
[01-01 18:12:15 TUYA Debug][uni_thread.c:215] Thread:wk_th-0 Exec Start. Set to Running Status
Create Task rtw_recv_tasklet, stack 0x10025328, len 5936
Create Task rtw_xmit_tasklet, stack 0x10026b68, len 1024
Create Task rtw_interrupt_thread, stack 0x10027078, len 1024
Create Task cmd_thread, stack 0x10027588, len 2048
WIFI initialized
init_thread(55), Available hea
Createp 0x16be0 Task trace_task, stack 0x10027ef8, len 512
Create Task UpperStackTask, stack 0x100287c8, len 3072
Create Task HCI I/F, stack 0x1002b2b0, len 2048
BT BUILD Date: Jul 29 2020, 16:17:09
BT RESET LOG...
[01-01 18:12:15 TUYA Debug][tuya_hal_wifi.c:575] read wifi mac:38:1f:8d:39:13:c2
[01-01 18:12:15 TUYA Notice][tuya_hal_bt.c:893] BLE MAC: 0x38-0x1f-0x8d-0x39-0x13-0xc2
Create Task tuya_bt_main_task, stack 0x1002c3d8, len 2560
BT Reset ok
bt_iqk_efuse_valid: has data
hci_tp_phy_efuse[0]=0,
bt_dump_iqk: DUMP,
the IQK_xx data is 0x127,
the IQK_yy data is 0x3fe,
the QDAC data is 0x1a,
the IDAC data is 0x1b,
the QDAC2 data is 0x19,
the IDAC2 data is 0x19,
Create Task rtw_coex_mailbox_thread, stack 0x1000fc08, len 1024
hci_read_rom_check: rom_version 0x0003, bt_hci_chip_id 0x0004
BT ADDRESS:
38:1f:8d:39:13:c2:
WRITE physical FLATK=tx_flatk=ff00
We use fw_buf=1002f128, fw_len = 13a0, config_buf = 10010128, config_len= 32
Set baudrate to 921600
hci_tp_config:BT INIT success 7
Start upperStack
[01-01 18:12:15 TUYA Debug][tuya_hal_bt.c:788] tuya_bt_app_profile_callback(), service_id:255, tuya_bt_srv_id:1
[01-01 18:12:15 TUYA Debug][tuya_hal_bt.c:338] tuya_bt_handle_io_msg(), msg_type:0
[01-01 18:12:15 TUYA Debug][tuya_hal_bt.c:239] app_handle_gap_msg: subtype 1
[01-01 18:12:15 TUYA Debug][tuya_hal_bt.c:72] app_handle_dev_state_evt: init state 1, adv state 0, cause 0x0
[BLE peripheral] GAP stack ready
[01-01 18:12:15 TUYA Debug][tuya_hal_bt.c:338] tuya_bt_handle_io_msg(), msg_type:0
[01-01 18:12:15 TUYA Debug][tuya_hal_bt.c:239] app_handle_gap_msg: subtype 1
[01-01 18:12:15 TUYA Debug][tuya_hal_bt.c:72] app_handle_dev_state_evt: init state 1, adv state 1, cause 0x0
[01-01 18:12:15 TUYA Debug][tuya_hal_bt.c:338] tuya_bt_handle_io_msg(), msg_type:0
[01-01 18:12:15 TUYA Debug][tuya_hal_bt.c:239] app_handle_gap_msg: subtype 1
[01-01 18:12:15 TUYA Debug][tuya_hal_bt.c:72] app_handle_dev_state_evt: init state 1, adv state 2, cause 0x0
[01-01 18:12:15 TUYA Debug][tuya_hal_bt.c:91] GAP adv start
[01-01 18:12:15 TUYA Notice][tuya_ble_api.c:337] ble sdk re_inited
[01-01 18:12:15 TUYA Notice][tuya_bt_sdk.c:130] ty bt sdk init success finish
[01-01 18:12:15 TUYA Notice][tuya_main.c:396] Base firmware: rtl8720cf_tls_common_iot_config:2.1.6 compiled at Date:Jul 29 2020 Time:16:17:40
[01-01 18:12:15 TUYA Notice][tuya_main.c:397] reset reset reason num 0
[01-01 18:12:15 TUYA Debug][tuya_device.c:19] < TUYA IOT SDK V:1.0.12 BS:40.00_PT:2.2_LAN:3.3_CAD:1.0.2_CD:1.0.0 >
< BUILD AT:2020_07_28_19_56_28 BY embed FOR ty_iot_wf_bt_sdk_rtos AT rtl8720cf_ameba >
IOT DEFS < WIFI_GW:1 DEBUG:1 KV_FILE:0 SHUTDOWN_MODE:0 LITTLE_END:1 TLS_MODE:2 ENABLE_LOCAL_LINKAGE:0 ENABLE_CLOUD_OPERATION:0 ENABLE_SUBDEVICE:0 ENABLE_ENGINEER_TO_NORMAL:0 OPERATING_SYSTEM:2 ENABLE_SYS_RPC:0 TY_SECURITY_CHIP:0 RELIABLE_TRANSFER:RELIABLE_TRANSFER ENABLE_LAN_ENCRYPTION:1 ENABLE_LAN_LINKAGE:0 ENABLE_LAN_LINKAGE_MASTER:0 >
[01-01 18:12:15 TUYA Debug][tuya_device.c:20] rtl8720cf_tls_common_iot_config:2.1.6
[01-01 18:12:15 TUYA Notice][simple_flash.c:430] key_addr: 0x1d8000 block_sz 4096
[01-01 18:12:15 TUYA Notice][simple_flash.c:498] get key:
0x52 0x32 0x7c 0x62 0xcc 0x45 0x99 0xbc 0x1f 0x80 0x21 0xa7 0xfa 0x6 0xbe 0x6c
Create Task mf_test, stack 0x10010230, len 2048
[01-01 18:12:15 TUYA Notice][tuya_uart.c:134] 1 9600
[01-01 18:12:16 TUYA Notice][tuya_main.c:445] mf_init succ
[01-01 18:12:16 TUYA Notice][tuya_uart_common_api.c:118] ty_uart_common_main_components_version:1.0.5,memrory left:65240...
[01-01 18:12:16 TUYA Notice][uart_common.c:238] pConfig = {low_sw:close,wifi_bdrate:115200,wifi_cofig_ver:1.0.0,crc:13,}---config len:62
[01-01 18:12:16 TUYA Notice][flash_config.c:192] ty_uart_public_iot_table_read_component_version:1.0.0
[01-01 18:12:16 TUYA Notice][flash_config.c:160] key:wifi_cofig_ver,value:1.0.0,len:5
[01-01 18:12:16 TUYA Notice][flash_config.c:157] key:wifi_bdrate,value:115200,len:3
[01-01 18:12:16 TUYA Notice][flash_config.c:167] key:low_sw,value:0,len:1
[01-01 18:12:16 TUYA Err][flash_config.c:129] json key 'flow_sw' not exist!
[01-01 18:12:16 TUYA Err][flash_config.c:129] json key 'ir_sw' not exist!
[01-01 18:12:16 TUYA Err][flash_config.c:129] json key 'ir_tx' not exist!
[01-01 18:12:16 TUYA Err][flash_config.c:129] json key 'ir_rx' not exist!
[01-01 18:12:16 TUYA Notice][uart_common.c:122] get_config_flow_sw err.
[01-01 18:12:16 TUYA Notice][uart_common.c:138] get_config_ir_sw err.
[01-01 18:12:16 TUYA Notice][uart_common.c:170] uart badrate:115200
[01-01 18:12:16 TUYA Notice][uart_common.c:171] flow_open:0
[01-01 18:12:16 TUYA Notice][uart_common.c:172] lowpower_open:0
[01-01 18:12:16 TUYA Notice][uart_common.c:173] ir_open:0
[01-01 18:12:16 TUYA Notice][uart_common.c:174] ir_tx:2
[01-01 18:12:16 TUYA Notice][uart_common.c:175] ir_rx:3
[01-01 18:12:16 TUYA Notice][tuya_uart.c:134] 0 115200
Create Task ty_uart_task, stack 0x1002f550, len 4096
[01-01 18:12:16 TUYA Notice][uart_common.c:748] uart_task_init ok
[01-01 18:12:16 TUYA Notice][weather_sever.c:348] ty_uart_public_weather_component_version:1.0.0
[01-01 18:12:16 TUYA Notice][tuya_download_file.c:630] ty_uart_public_file_download_component_version:1.0.0
[01-01 18:12:16 TUYA Notice][tuya_download_file.c:662] file_download_init OK
[01-01 18:12:16 TUYA Notice][tuya_uart_common_api.c:186] tuya_uart_common_init ok,memrory left:58464...
[01-01 18:12:16 TUYA Notice][process_server.c:110] send jump_pack
[01-01 18:12:16 TUYA Notice][frame_handle.c:380] recv jump_pack ok.
[01-01 18:12:16 TUYA Notice][frame_handle.c:613] get_dev_info ok memrory left:58464
[01-01 18:12:16 TUYA Notice][tuya_uart_common_api.c:420] cfg_mode:2.first_mode:3.firmware_key:keyavh5m9md4wgfj.product_key:csp3rfvhj6ppmaps
[01-01 18:12:16 TUYA Notice][tuya_iot_wifi_api.c:199] wifi mcu init. pid:csp3rfvhj6ppmaps firmwarekey:keyavh5m9md4wgfj v1:2.1.6 v2:1.0.2
[01-01 18:12:16 TUYA Notice][gw_intf.c:3603] serial_no:381f8d3913c2
[01-01 18:12:16 TUYA Notice][gw_intf.c:3638] gw_cntl.gw_wsm.stat:2
[01-01 18:12:16 TUYA Notice][gw_intf.c:3641] gw_cntl.gw_wsm.nc_tp:9
[01-01 18:12:16 TUYA Notice][gw_intf.c:3642] gw_cntl.gw_wsm.md:0
[01-01 18:12:16 TUYA Notice][gw_intf.c:3682] gw_cntl.gw_if.abi:0 input:0
[01-01 18:12:16 TUYA Notice][gw_intf.c:3683] gw_cntl.gw_if.product_key:csp3rfvhj6ppmaps, input:csp3rfvhj6ppmaps
[01-01 18:12:16 TUYA Notice][gw_intf.c:3684] gw_cntl.gw_if.tp:1, input:1
[01-01 18:12:16 TUYA Notice][gw_intf.c:3686] gw_cntl.gw_if.firmware_key:keyavh5m9md4wgfj, input:keyavh5m9md4wgfj
[01-01 18:12:16 TUYA Notice][tuya_bt_sdk.c:148] ty bt update product:csp3rfvhj6ppmaps 0
[01-01 18:12:16 TUYA Notice][tuya_ble_api.c:152] update product_id type:0 csp3rfvhj6ppmaps 8468a16161ee69a2 ZUAYzRFF6qqXgJWjKVhdf8L1PTnU6pcP
LwIP_DHCP: dhcp stop.
Deinitializing WIFI ...
WIFI deinitialized
Initializing WIFI ...
Create Task rtw_recv_tasklet, stack 0x10025278, len 5936
Create Task rtw_xmit_tasklet, stack 0x10023570, len 1024
Create Task rtw_interrupt_thread, stack 0x100269b0, len 1024
Create Task cmd_thread, stack 0x10026db8, len 2048
WIFI initialized
Create Task trace_task, stack 0x10027698, len 512
Create Task UpperStackTask, stack 0x10027f10, len 3072
Create Task HCI I/F, stack 0x1002a9d0, len 2048
BT BUILD Date: Jul 29 2020, 16:17:09
BT RESET LOG...
[01-01 18:12:17 TUYA Notice][tuya_hal_bt.c:893] BLE MAC: 0x38-0x1f-0x8d-0x39-0x13-0xc2
Create Task tuya_bt_main_task, stack 0x1002baf8, len 2560
BT Reset ok
bt_iqk_efuse_valid: has data
hci_tp_phy_efuse[0]=0,
bt_dump_iqk: DUMP,
the IQK_xx data is 0x127,
the IQK_yy data is 0x3fe,
the QDAC data is 0x1a,
the IDAC data is 0x1b,
the QDAC2 data is 0x19,
the IDAC2 data is 0x19,
Create Task rtw_coex_mailbox_thread, stack 0x1002e8f8, len 1024
hci_read_rom_check: rom_version 0x0003, bt_hci_chip_id 0x0004
BT ADDRESS:
38:1f:8d:39:13:c2:
WRITE physical FLATK=tx_flatk=ff00
We use fw_buf=100326b0, fw_len = 13a0, config_buf = 1002ee18, config_len= 32
Set baudrate to 921600
hci_tp_config:BT INIT success 7
Start upperStack
[BLE peripheral] GAP stack ready
[01-01 18:12:17 TUYA Notice][tuya_ble_api.c:398] ble adv && resp changed
[01-01 18:12:17 TUYA Notice][tuya_ble_api.c:337] ble sdk re_inited
Urządzenie identyfikuje się jako Rtl8710c oparte o ty_iot_wf_bt_sdk_rtos (TUYA IOT SDK V:1.0.12) kompilacja 2020_07_28_19_56_28.
Urządzenie drukuje nasz SSID, ale nie hasło:
Code:
[Driver]: set ssid [MY_WIFI_SSID]
[01-01 18:12:19 TUYA Notice][process_server.c:110] send jump_pack
[01-01 18:12:19 TUYA Notice][frame_handle.c:380] recv jump_pack ok.
[Driver]: start auth to 30:b5:c2:5d:70:72
[Driver]: auth success, start assoc
[Driver]: association success(res=4)
[Driver]: set pairwise key to hw: alg:4(WEP40-1 WEP104-5 TKIP-2 AES-4)
[Driver]: set group key to hw: alg:4(WEP40-1 WEP104-5 TKIP-2 AES-4) keyid:1
Create Task dhcp_thread, stack 0x100326b0, len 2048
Create Task lpc_task, stack 0x10032eb8, len 2048
[01-01 18:12:21 TUYA Notice][tuya_uart_common_api.c:346] wifi status is :5
[01-01 18:12:21 TUYA Notice][tuya_bt_sdk.c:157] ty bt update localkey
[01-01 18:12:21 TUYA Notice][tuya_ble_api.c:162] update login key len:6
Create Task mq_cntl_task, stack 0x10033a70, len 4096
[01-01 01:00:06 TUYA Notice][tuya_ble_api.c:398] ble adv && resp changed
Interface 0 IP address : 192.168.0.112[WIFI DEBUG]__dhcp_thread delete********
[01-01 01:00:07 TUYA Notice][mqtt_client.c:1317] mqtt get serve ip success
[01-01 01:00:07 TUYA Notice][tuya_uart_common_api.c:346] wifi status is :6
Przechwyciłem również komunikacje TuyaMCU, zarówno w jedną jak i w drugą stronę (piny A14 i A13 wlutowane w PCB, prowadzące do mikrokontrolera). W tym przypadku TuyaMCU pracuje w trybie 115200 baud, nie 9600 tak jak zazwyczaj.
Od momentu uruchomienia urządzenia, na pinie 14:
Code:
80
55AA00000000FF
55AA0001000000
55AA0002000001
55AA00000000FF
55AA000300010205
55AA0008000007
55AA000300010306
55AA0008000007
55AA000300010407
55AA00000000FF
55AA00000000FF
55AA00000000FF
Od momentu zmian stanu grzania przez aplikację (on/off):
Code:
55AA0006000501010001010E
55AA0006000501010001000D
55AA0006000501010001010E
55AA0006000501010001000D
55AA0006000501010001010E
55AA0006000501010001000D
55AA0006000501010001010E
55AA0006000501010001000D
55AA001C0008011604060F332503AE
55AA0006000501010001010E
55AA0006000501010001000D
55AA0006000501010001010E
55AA0006000501010001000D
55AA0006000501010001010E
55AA0006000501010001000D
55AA0006000501010001010E
55AA0006000501010001000D
55AA00000000FF
55AA00000000FF
55AA001C0008011604060F3400038A
Od momentu konfigurowania urządzenia przez apkę:
Code:
55AA00000000FF
55AA000600056C0100010078
55AA000600056C0100010179
55AA000600056D040001108C
55AA00000000FF
55AA000600056D0400011894
55AA00000000FF
55AA0006000501010001010E
55AA00060005020400010011
55AA00060005020400010112
55AA0006000501010001000D
55AA0006000501010001010E
55AA0006000501010001000D
55AA0006000501010001010E
Z kolei na pinie 13:
Spoiler:
Code:
0080
55AA030500010008
55AA030000010003
55AA0301002A7B2270223A2263737033726676686A3670706D617073222C2276223A22312E302E32222C226D223A327D53
55AA0302000004
55AA030000010104
55AA0303000005
55AA03070005010100010112
55AA03070005020400010116
55AA03070005030400010016
55AA03070008100200040000001C43
55AA0307000811020004000000527A
55AA0307000517040001002A
55AA0307000818020004FFFFFFEC18
55AA030700081B0200040000000032
55AA030700081D020004FFFFFFFD2E
55AA03070074250000700600001A0800001A1100001A1600001A0600001A0800001A1100001A1600001A0600001A0800001A1100001A1600001A0600001A0800001A1100001A1600001A0600001A0800001A1100001A1600001A0600001A0800001A1100001A1600001A0600001A0800001A1100001A1600001A5D
55AA03070005270100010037
55AA0307000529040001003C
55AA030700082A0200040000000041
55AA03070005650100010075
55AA0307000569040001017D
55AA030700056A040001017E
55AA030700056B040001007E
55AA030700056C010001017D
55AA030700056D0400011898
55AA030700056E0400011A9B
55AA0303000005
55AA03070005010100010112
55AA03070005020400010116
55AA03070005030400010016
55AA03070008100200040000001C43
55AA0307000811020004000000527A
55AA0307000517040001002A
55AA0307000818020004FFFFFFEC18
55AA030700081B0200040000000032
55AA030700081D020004FFFFFFFD2E
55AA03070074250000700600001A0800001A1100001A1600001A0600001A0800001A1100001A1600001A0600001A0800001A1100001A1600001A0600001A0800001A1100001A1600001A0600001A0800001A1100001A1600001A0600001A0800001A1100001A1600001A0600001A0800001A1100001A1600001A5D
55AA03070005270100010037
55AA0307000529040001003C
55AA030700082A0200040000000041
55AA03070005650100010075
55AA0307000569040001017D
55AA030700056A040001017E
55AA030700056B040001007E
55AA030700056C010001017D
55AA030700056D0400011898
55AA030700056E0400011A9B
55AA0303000005
55AA0307000818020004FFFFFFEC18
55AA03070005030400010016
55AA0307000818020004FFFFFFEC18
55AA03070005030400010016
55AA0307000818020004FFFFFFEC18
55AA03070005030400010016
Pakiety można analizować w oparciu o specyfikacje TuyaMCU, jak również w oparciu o mój temat:
https://www.elektroda.pl/rtvforum/topic3880546.html
Tam również znajduje się wyjaśnienie całej mechaniki komunikacji.
Podsumowanie
Ogółem produkt zdaje się dobrze spełniać swoją rolę, chociaż niestety oparty jest o moduł WBR2 (RTL8720CF) co na ten moment uniemożliwia nam ręczną zmianę jego firmware na Tasmotę czy tam moje OpenBK. Nie odepniemy go zatem od serwerów producenta i nie sparujemy na czysto z naszym Home Assistant czy tam Domoticzem. Jesteśmy skazani na aplikacje producenta, czyli Tuya i jej klony. A wiadomo, jak to z takimi aplikacjami jest - jak po kilku latach padnie chmura to mamy problem...
W środku nie jest źle, aczkolwiek ten bezpiecznik 3.15A jest moim zdaniem grubą przesadą. No i oczywiście wtyk znów nie jest kompatybilny z gniazdami tzw. francuskimi/"z bolcem", mimo iż łatwo mógłby być...
Z logami też nie jest aż tak źle jak było w przypadku modułu BL602, gdyż tutaj urządzenie drukuje tylko nasz SSID a hasło pozostaje ukryte. BL602 w urządzeniu marki MagicHome drukował nawet nasze hasło i każdy po przejęciu urządzenia mógł w ten sposób dostać się do naszej sieci WiFi.
Przy okazji zebrałem też dość dużo logów TuyaMCU, przydadzą mi się one gdyż piszę wsparcie tego protokołu dla mojego firmware, szczegóły tutaj: https://github.com/openshwprojects/OpenBK7231T_App
Pełne zawartości przechwyconych logów umieszczam jako załączniki do tego tematu.
Cool? Ranking DIY