logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[RTL87X0C] Inteligentna wtyczka Tuya EP2 – jak zlokalizować styki zasilania BL0937?

me_lon 01 Sie 2026 14:20 243 5
REKLAMA
Treść została przetłumaczona angielski » polski Zobacz oryginalną wersję tematu
  • #1 21948489
    me_lon
    Poziom 2  
    Posty: 4
    Ocena: 1
    Cześć,
    znalazłem kilka używanych wtyczek Smartplug z napisem „EP2”. Działały one z platformami Smart Life / Tuya, a tylko jedna miała wersję 1.0.4 – wszystkie pozostałe miały wersję 1.0.7. Udało mi się zaktualizować wtyczkę z wersją 1.0.4 za pomocą narzędzia OpenRTL87X0C poprzez OTA z wykorzystaniem tuya-cloudcutter; w przypadku wtyczek z wersją 1.0.7 nie było dostępnego exploita. Nie udało mi się też przylutować tych małych pól lutowniczych. 

    [RTL87X0C] Inteligentna wtyczka Tuya EP2 – jak zlokalizować styki zasilania BL0937?  [RTL87X0C] Inteligentna wtyczka Tuya EP2 – jak zlokalizować styki zasilania BL0937?
    [RTL87X0C] Inteligentna wtyczka Tuya EP2 – jak zlokalizować styki zasilania BL0937? [RTL87X0C] Inteligentna wtyczka Tuya EP2 – jak zlokalizować styki zasilania BL0937?

    Jak dotąd udało mi się uruchomić REL, Btn i 2 diody LED. Ale jak znaleźć właściwe piny do pomiaru napięcia?
    Sterownik ładuje się poprawnie, ale wszystkie wartości pozostają na poziomie 0. Wypróbowałem kilka kombinacji dla BL0973CF, SEL, CF1, a także dInput CH 0 na wszystkich pozostałych pinach, ale w logach nie pojawił się żaden sygnał.
    Czy robię coś zupełnie nie tak? 

    Był moment, kiedy uzyskałem pewne statystyki dotyczące zasilania, BEZ przypisania jakichkolwiek pinów.

    
    {
      "vendor": "Tuya",
      "bDetailed": "0",
      "name": "Full Device Name Here",
      "model": "enter short model name here",
      "chip": "RTL87X0C",
      "board": "TODO",
      "flags": "1024",
      "keywords": [
        "TODO",
        "TODO",
        "TODO"
      ],
      "pins": {
        "1": "Rel;1",
        "12": "Btn;1",
        "17": "LED_n;1",
        "18": "LED_n;2"
      },
      "command": "startDriver BL0937",
      "image": "https://obrazki.elektroda.pl/YOUR_IMAGE.jpg",
      "wiki": "https://www.elektroda.com/rtvforum/topic_YOUR_TOPIC.html"
    }
    

    AI: Czy możesz zamieścić wyraźne zdjęcia obu stron płytki drukowanej, zwłaszcza obszaru modułu RTL87X0C oraz obszaru układu pomiaru mocy, w tym wszelkich oznaczeń układów / tekstu dotyczącego wersji płytki?
    zdjęcia są w poście
    AI: Czy możesz potwierdzić dokładne oznaczenie układu pomiarowego na płytce — czy to naprawdę BL0937, BL0942, BL0973 czy coś innego — i czy sprawdziłeś, które piny tego układu są połączone z portami GPIO modułu RTL87X0C?
    BL0937 jest prawidłowe
    nie, nie mogę ich prześledzić, ponieważ nie udało mi się niczego przylutować.

    Dodano po 2 [godzinach] 46 [minutach]:

    >>21948489

    Udało mi się to uruchomić, ale mój przycisk nie rozpoznaje już żadnych sygnałów, nawet jeśli przywrócę poprzednie ustawienia.
    Oto działający szablon (przycisk z tymi samymi ustawieniami, ale nie działa, dziwne!!)

    
    {
      "vendor": "Tuya",
      "bDetailed": "0",
      "name": "Full Device Name Here",
      "model": "enter short model name here",
      "chip": "RTL87X0C",
      "board": "TODO",
      "flags": "1024",
      "keywords": [
        "TODO",
        "TODO",
        "TODO"
      ],
      "pins": {
        "1": "Rel;1;0",
        "3": "BL0937CF1;0;0",
        "4": "BL0937CF;0;0",
        "12": "Btn;1",
        "17": "LED_n;2",
        "18": "LED_n;3",
        "21": "BL0937SEL;0"
      },
      "command": "backlog setChannelType 3 Current_div100; startDriver BL0937; startDriver NTP; SetupEnergyStats 1 60 60"
    }


    Chociaż próbowałem użyć dzielnika dla Current, nadal nie jest to właściwy współczynnik. Wygląda na to, że setChannelType nie ma żadnego efektu:

    [RTL87X0C] Inteligentna wtyczka Tuya EP2 – jak zlokalizować styki zasilania BL0937?
  • REKLAMA
  • Pomocny post
    #2 21948770
    divadiow
    Poziom 38  
    Posty: 5216
    Pomógł: 448
    Ocena: 917
    A co, jeśli odczytasz plik Flash o rozmiarze 2 MB w aplikacji internetowej (zakładka „Flash”), a następnie przetworzysz go za pomocą narzędzia do wyodrębniania konfiguracji Tuya w programie Easy Flasher? Czy uda się coś wyodrębnić?



    https://github.com/openshwprojects/BK7231GUIFlashTool
  • REKLAMA
  • #3 21948875
    me_lon
    Poziom 2  
    Posty: 4
    Ocena: 1
    Wygląda na to, że nie mam szczęścia:

    Sorry, no meaningful pins data found. This device may be TuyaMCU or a custom one with no Tuya config data.
    No module information found.
    Device internal platform - rtl8720cf_ameba, equals RTL87X0C.
    And the Tuya section starts at an UNCOMMON POSITION 1933312 (0x1D8000)
    


    {
      "gw_bi": {
        "uuid": "PEZNb3c6yTbs",
        "psk_key": null,
        "auth_key": "b0lINdU9EM8sn6EE",
        "ap_ssid": "A",
        "ap_passwd": null,
        "country_code": null,
        "bt_mac": null,
        "bt_hid": null,
        "prod_test": false,
        "fac_pin": null
      },
      "gw_di": {
        "abi": 0,
        "id": "8dvL2D5P3lxye1Dce9Et",
        "swv": "1.0.4",
        "bv": "40.00",
        "pv": "2.2",
        "lpv": "3.3",
        "pk": "tkn2s79mzedk6pwr",
        "firmk": null,
        "cadv": "1.0.3",
        "cdv": "1.0.0",
        "dev_swv": "1.0.4",
        "s_id": "000002qgwf",
        "dtp": 0,
        "sync": 0,
        "attr_num": 0,
        "mst_tp_0": 0,
        "mst_ver_0": null,
        "mst_tp_1": 0,
        "mst_ver_1": null,
        "mst_tp_2": 0,
        "mst_ver_2": null,
        "mst_tp_3": 0,
        "mst_ver_3": null
      },
      "tls_ca_cnt": 0,
      "mf_test_close": true,
      "gw_wsm": {
        "nc_tp": 4,
        "ssid": "Y2xvdWRjdXR0ZXJmbGFzaA==",
        "passwd": "YWJjZGFiY2Q=",
        "md": 0,
        "random": 0,
        "wfb64": 1,
        "stat": 2,
        "token": "AAAAAA",
        "region": "AA",
        "reg_key": null,
        "dns_prio": 2
      },
      "gw_ai": {
        "key": "MUEVl8zN5P1K3pPJ",
        "lckey": "tHaOwwtShchaMzlP",
        "h_url": "http://10.204.0.1/d.json",
        "h_ip": "10.204.0.1",
        "hs_url": null,
        "hs_ip": null,
        "hs_psk": "https://a3-eu.lifeaiot.com/d.json",
        "hs_psk_ip": "18.158.227.228",
        "mqs_url": null,
        "mqs_ip": null,
        "mq_url": "10.204.0.1:1883",
        "mq_ip": "10.204.0.1",
        "ai_sp": null,
        "ai_sp_ip": null,
        "mq_psk": "m3-eu.lifeaiot.com:8883",
        "mq_psk_ip": "18.153.246.219",
        "time_z": "+01:00",
        "s_time_z": "[[1648342800,1667091600],[1679792400,1698541200]]",
        "wx_app_id": null,
        "wx_uuid": null,
        "dy_tls_m": 1,
        "cloud_cap": 1025,
        "psk21_key": null
      },
      "is_stride": 0,
      "000002qgwf": [
        {
          "mode": "rw",
          "property": {
            "type": "bool"
          },
          "id": 1,
          "type": "obj"
        },
        {
          "mode": "rw",
          "property": {
            "min": 0,
            "max": 86400,
            "scale": 0,
            "step": 1,
            "type": "value"
          },
          "id": 9,
          "type": "obj"
        },
        {
          "mode": "rw",
          "property": {
            "min": 0,
            "max": 50000,
            "scale": 3,
            "step": 100,
            "type": "value"
          },
          "id": 17,
          "type": "obj"
        },
        {
          "mode": "ro",
          "property": {
            "min": 0,
            "max": 80000,
            "scale": 0,
            "step": 1,
            "type": "value"
          },
          "id": 18,
          "type": "obj"
        },
        {
          "mode": "ro",
          "property": {
            "min": 0,
            "max": 200000,
            "scale": 1,
            "step": 1,
            "type": "value"
          },
          "id": 19,
          "type": "obj"
        },
        {
          "mode": "ro",
          "property": {
            "min": 0,
            "max": 5000,
            "scale": 1,
            "step": 1,
            "type": "value"
          },
          "id": 20,
          "type": "obj"
        },
        {
          "mode": "ro",
          "property": {
            "min": 0,
            "max": 5,
            "scale": 0,
            "step": 1,
            "type": "value"
          },
          "id": 21,
          "type": "obj"
        },
        {
          "mode": "ro",
          "property": {
            "min": 0,
            "max": 1000000000,
            "scale": 0,
            "step": 1,
            "type": "value"
          },
          "id": 22,
          "type": "obj"
        },
        {
          "mode": "ro",
          "property": {
            "min": 0,
            "max": 1000000000,
            "scale": 0,
            "step": 1,
            "type": "value"
          },
          "id": 23,
          "type": "obj"
        },
        {
          "mode": "ro",
          "property": {
            "min": 0,
            "max": 1000000000,
            "scale": 0,
            "step": 1,
            "type": "value"
          },
          "id": 24,
          "type": "obj"
        },
        {
          "mode": "ro",
          "property": {
            "min": 0,
            "max": 1000000000,
            "scale": 0,
            "step": 1,
            "type": "value"
          },
          "id": 25,
          "type": "obj"
        },
        {
          "mode": "ro",
          "property": {
            "type": "bitmap",
            "maxlen": 1
          },
          "id": 26,
          "type": "obj"
        },
        {
          "mode": "rw",
          "property": {
            "range": [
              "off",
              "on",
              "memory"
            ],
            "type": "enum"
          },
          "id": 38,
          "type": "obj"
        },
        {
          "mode": "rw",
          "property": {
            "range": [
              "relay",
              "pos",
              "none"
            ],
            "type": "enum"
          },
          "id": 39,
          "type": "obj"
        },
        {
          "mode": "rw",
          "property": {
            "type": "bool"
          },
          "id": 40,
          "type": "obj"
        },
        {
          "mode": "rw",
          "property": {
            "type": "string",
            "maxlen": 255
          },
          "id": 41,
          "type": "obj"
        },
        {
          "mode": "rw",
          "property": {
            "type": "string",
            "maxlen": 255
          },
          "id": 42,
          "type": "obj"
        },
        {
          "mode": "rw",
          "property": {
            "type": "string",
            "maxlen": 255
          },
          "id": 43,
          "type": "obj"
        }
      ],
      "ble_app_key": "AC4DC96035BE93CC8A3BC3EA3FF35DC5",
      "em_sys_env": "rtl8720cf_ameba",
      "ble_network_key": "06443CFF25D15CCA36DC2373E80622D8",
      "ap_info_v2": "70000000636c6f7564637574746572666c617368000000000000000000000000000000000000000061626364616263640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400400006",
      "wf_start_md": 3,
      "timer_arr": {
        "lastFetchTime": 0,
        "cnt": 0
      }
    }
    
  • REKLAMA
  • REKLAMA
  • #5 21948895
    me_lon
    Poziom 2  
    Posty: 4
    Ocena: 1
    >>21948892

    Ooooch, nie!
    Dziękuję!!!
    Czy to możliwe, że wyszukiwarka tego nie znalazła, bo moje słowa kluczowe nie są w języku polskim? :)

    A tak przy okazji: wtyczka działa teraz idealnie. Jak możemy przenieść szablon do bazy danych, żeby można go było znaleźć przez aplikację internetową?
REKLAMA