Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife

p.kaczmarek2 07 Apr 2022 00:17 1104 2
Computer Controls
  • Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    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.
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    Kilka grafik promocyjnych:
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    Otrzymana paczka, podpisana kodem SKUI47443:
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    Model z opakowania - MTS700WB:
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    W zestawie jest czujnik temperatury (termistor) i instrukcja:
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    Instrukcja:
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife

    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:
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    Parowanie wymaga nadania uprawnień aplikacji oraz podania swoich danych WiFi:
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    Zero problemów:
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife


    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:
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    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.
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    W sytuacji odłączenia termistora produkt pokazuje -20°C:
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    Produkt przetestowałem z żarówką w roli elementu grzejnego:
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    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.
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLifeSmart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    Od razu widzimy, że w środku jest osobno mikrokontroler i osobno moduł WiFi - czyżby TuyaMCU?
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    Moduł WiFi to WBR2. Niestety to co innego niż znany mi WB2S. WBR2 oparty jest o RTL8720CF. Oferuje WiFi + Bluetooth.
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    Mikrokontroler to GD32E230F8P6TR. Pamięć Flash 64KB, napięcie pracy 1.8V do 3.6V, rdzeń ARM Cortex-M23, RAM 8KB, zegar do 72MHz.
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    Przy przekaźniku są pogrubione ścieżki oraz dodatkowy bezpiecznik 15A:
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    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).
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    Zasilanie zrealizowane jest na MT3773CA (odpowiednik LP3773CA).
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    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:
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    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:
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife
    (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:
    Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife Smart WiFi termostat gniazdkowy MTS-700-WB - Tuya, SmartLife

    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
    About Author
    p.kaczmarek2
    Level 26  
    Offline 
  • Computer Controls
  • #2
    khoam
    Level 41  
    p.kaczmarek2 wrote:
    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$

    Całkiem ładna obudowa, ale za droga :)
  • #3
    ACCel
    Level 22  
    I nie ma pomiaru zużycia energii, co jest ważne w zastosowaniach termostatowych.