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

Настройка прошивки OpenBK для работы с газовым краном. Tuya (RQF-1T)

halfyear360 22 Paź 2024 10:17 3069 10
REKLAMA
Treść została przetłumaczona angielski » polski Zobacz oryginalną wersję tematu
  • #1 21272597
    halfyear360
    Poziom 2  
    Posty: 9
    Zdjęcie ukazuje płytkę drukowaną z modułem BK7231N i różnymi elementami elektronicznymi.
    Zbliżenie na płytkę drukowaną z komponentami elektronicznymi, w tym modułem CBU BK7231N. Elektrozawór z czarną obudową zamontowany na metalowej rurze. .

    Данное устройство на CBU = BK7231N. Прошился без проблем.
    Układ elektroniczny z mikrokontrolerem BK7231N z przewodami połączeniowymi. Płytka drukowana z zamontowanymi komponentami elektrycznymi i podłączonymi kablami. .

    Брокер работает, команды проходят. Но есть маленькая проблемка... У крана есть период закрытия... (время поворота). Поскольку протокол MQTT подразумевает доставку... респонденту не сразу. Я бы хотел как-то получать точку начала поворота и флаг о завершении. Если в период поворота пропадет свет, то надо понимать состояние крана... (закрыт или открыт или в середине). Буду благодарен за помощь.
  • REKLAMA
  • #2 21272630
    p.kaczmarek2
    Moderator Smart Home
    Posty: 14766
    Pomógł: 659
    Ocena: 12900
    Witam, prawdopodobnie można to zrobić za pomocą skryptów. Kiedy zaczyna się tura? Który kanał jest używany dla przekaźnika?
    Zobacz:
    https://github.com/openshwprojects/OpenBK7231T_App/blob/main/docs/autoexecExamples.md
    Prawdopodobnie coś takiego można dostosować do swoich potrzeb:
    
    // addRepeatingEvent	[IntervalSeconds][RepeatsOr-1][CommandToRun]
    alias publish_after_time addRepeatingEvent 5 1 publish myState moved
    addChangeHandler Channel1 == 1 publish_after_time 
    

    Spowoduje to opublikowanie wartości "moved" w temacie "myState" 5 sekund po tym, jak kanał 1 stanie się 1...

    Alternatywnie, można po prostu zmodyfikować kod źródłowy OBK do własnych potrzeb: https://www.elektroda.com/rtvforum/topic4033833.html#20946719
    Pomogłem? Kup mi kawę.
  • REKLAMA
  • #3 21273756
    halfyear360
    Poziom 2  
    Posty: 9
    Ваше решение, пока не попробовал, но обязательно попробую и отпишусь. У меня другая проблемка появилась. Хотел прошить второй кран и не смог.... спалил три конвертера USB-> TTL. Я предполагаю, что проблема в конверторах.... они все перегрелись. (китайские чипы нонейм ). Trzy konwertery USB na TTL na tle papieru z grafiką i tekstem technicznym. Trzy konwertery USB na TTL oznaczone jako YP-01 na białym tle. Zrzut ekranu programu BK7231 Easy UART Flasher z rozwijanym menu prędkości transmisji. Поэтому просьба : Мне нужен прошивальщик bk7231flasher_1.3.3 с меньшими скоростями порта. Вы не могли бы скомпилировать для меня новое приложение, учитывающеее мои пожелания ?

    Программа захватывает порт и пишет, что скорость не поддерживается.... :( Очень выручите.

    Dodano po 10 [godzinach] 44 [minutach]: .

    >>21272630 Этот метод работает. Спасибо за совет.
    ==============================================================
    alias publish_after_time addRepeatingEvent 5 1 publish myState closed
    addChangeHandler Channel1 == 1 publish_after_time
    alias publish_after_time_off addRepeatingEvent1 5 1 publish myState open
    addChangeHandler Channel1 == 0 publish_after_time_off
  • #4 21391625
    halfyear360
    Poziom 2  
    Posty: 9
    Вопрос? Как публиковать данные в формате JSON и сохранить // addChangeHandler Channel1 == 1 publish_after_time //. Просто кранов будет штук 10. И в открытом формате публиковать слишком громоздко для чтения.... Надо в одну строку JSON.
  • REKLAMA
  • #5 21391642
    p.kaczmarek2
    Moderator Smart Home
    Posty: 14766
    Pomógł: 659
    Ocena: 12900
    opcja 1) Składnia Tasmota



    Zrzut ekranu z przeglądarki przedstawiający wynik komendy w formacie JSON z adresem IP 192.168.0.163.
    Zrzut ekranu z przeglądarki pokazujący wyniki komendy na adresie 192.168.0.163, wyświetlający wartości kanałów CH0 i CH1 jako 100, oraz CH5 i CH6 jako 0.

    opcja 2) użyj skryptu
    https://github.com/openshwprojects/OpenBK7231T_App/blob/main/src/selftest/selftest_mqtt.c
    
    publish myTestDevice/test "{\"temperature\":$CH0,\"humidity\":$CH1}" 1
    

    
    publish myTestDevice/test "{\"temperature\":$CH0,\"humidity\":$CH1}" 1
    

    opcja 3) wykonaj niestandardowy sterownik https://www.elektroda.com/rtvforum/topic4056286.html
    Pomogłem? Kup mi kawę.
  • #6 21467096
    halfyear360
    Poziom 2  
    Posty: 9
    Если брокер Mosquitto на Keenetic (роутер) зависнет, я могу управлять с ESP32 через wifi по http ? Как послать команду (какую) по http на адрес устройства , чтобы закрыть кран? Нужно ли настроить сам девайс ?
    .
  • REKLAMA
  • #7 21467251
    p.kaczmarek2
    Moderator Smart Home
    Posty: 14766
    Pomógł: 659
    Ocena: 12900
    Tak, możesz kontrolować OBK przez HTTP z ESP. Aby przełączyć zasilanie, wyślij:
    
    http://ipaddress/cm?cmnd=Power%20On
    http://ipaddress/cm?cmnd=Power%20Off
    http://ipaddress/cm?cmnd=Power%20Toggle
    
    .
    Zasadniczo możesz wysłać dowolną komendę w ten sposób:
    https://github.com/openshwprojects/OpenBK7231T_App/blob/main/docs/commands.md

    To tak samo jak w Tasmocie.
    Pomogłem? Kup mi kawę.
  • #8 21468339
    halfyear360
    Poziom 2  
    Posty: 9
    Понял. Протестирую...
    Interfejs użytkownika programu MQTT Explorer z wyświetloną strukturą tematów i wiadomości. .

    jeśli mystate=opened to trzeba zamknąć !!!
    http://192.168.1.49/cm?cmnd=POWER0

    Спасибо.

    А получить значение myState без mosquitto ?
  • #9 21473571
    halfyear360
    Poziom 2  
    Posty: 9
    Я имею одну проблемку... Дело в том, что я использую Mosquitto Бридж (wqtt). Проблема выглядит так. При включении автоматики (ESP32) я получаю состояние с локального брокера, который поднят на модеме Keenetic. Вижу состояние выключен (OFF=0), но в это время приходит собщение через мост с wqtt (ON=1) (был включен) и мой кран открывается.... при этом команды на открытие от ESP32 не было. Кран открывается... автоматика начинает работать и снова закрывает кран. Это переключение туда и обратно очень раздражает. А если автомат не включился.... кран так и останется в состояние включен, а это уже беда. Мне надо чтобы РАБОТА крана была под моим контролем. При этом я конечно хочу сохранить возможность управлять краном с ESP32 и через WQTT (облачный брокер). Как это реализовать ?
  • #10 21475126
    halfyear360
    Poziom 2  
    Posty: 9
    Пока вижу так :
    1) При включении установить значение "Zamknięte"
    2)
    ponownie: (pętla)
    if dev/status==online (ESP32 działa) then MqttHost="192.168.1.1"
    else MqttHost="" // или SetChannelPrivate 1 (1 kanał)
    goto again

    Как получить dev/status==online ?
  • #11 21530621
    halfyear360
    Poziom 2  
    Posty: 9
    Новая микросхема Beken 7231N - необходимо перезаписать загрузчик. Как это сделать ?
    Uruchamianie nowego flasha (bez kopii zapasowej)!
    Teraz jest: 25 апреля 2025 г. 18:24:33.
    Tryb migacza: BK7231N
    Otwarcie portu: COM8.
    Port szeregowy otwarty!
    Uzyskanie magistrali... (teraz należy wykonać restart przez CEN lub wyłączenie/włączenie zasilania)
    Pobieranie magistrali nie powiodło się, spróbujemy ponownie - 0/100!
    Uzyskanie magistrali powiodło się!
    Przechodzę do ustawienia szybkości transmisji (115200)!
    Spróbuję odczytać MID flash urządzenia (dla unprotect N):
    Flash MID załadowany: 1560EB
    Teraz wyszuka Flash Def w naszej bazie danych...
    Flash def znaleziony! Dla: 1560EB
    Informacje flash: mid: 1560EB, icName: TH25Q_16HB, producent: TH, szMem: 1000000, szSR: 2, cwUnp: 0, cwEnp: 7, cwMsk: 407C, sb: 2, lb: 5, cwdRd: 05-35-FF-FF, cwdWr: 01-FF-FF-FF
    Wprowadzanie SetProtectState(True)...
    sr: 0
    sr: 0
    final sr: 0
    msk: 407c
    cw: 0, sb: 2, lb: 5
    bfd: 0
    SetProtectState(True) powiodło się!
    Przechodzimy do odczytu klucza szyfrowania...
    Odczyt klucza szyfrowania zakończony!
    Klucz szyfrowania: 00000000 00000000 00000000 00000000 00000000
    ^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^
    OSTRZEŻENIE! Niestandardowy klucz szyfrowania!
    Zgłoś na forum https://www.elektroda.com/rtvforum/forum51.html
    Lub po prostu spróbuj użyć trybu BK7231M
    ^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^

Podsumowanie tematu

LABEL_AI_GENERATED
Dyskusja dotyczy konfiguracji firmware OpenBK na układzie BK7231N do sterowania gazowym zaworem Tuya RQF-1T z wykorzystaniem protokołu MQTT. Problemem jest opóźnienie w przesyłaniu komend i brak informacji o stanie zaworu podczas okresu zamykania (czas obrotu), co utrudnia monitorowanie stanu (otwarty, zamknięty, w trakcie ruchu), zwłaszcza przy zaniku zasilania. Proponowane rozwiązania obejmują użycie skryptów w OpenBK, np. addRepeatingEvent i addChangeHandler do publikowania stanów z opóźnieniem, a także modyfikację kodu źródłowego firmware. Poruszono też kwestie formatowania danych MQTT w JSON dla wielu zaworów, aby zmniejszyć objętość i ułatwić odczyt. Wskazano możliwość sterowania urządzeniem przez HTTP (komendy Power On/Off/Toggle) z ESP32, co jest alternatywą przy awarii brokera Mosquitto. Omówiono problem synchronizacji stanów między lokalnym brokerem Mosquitto na routerze Keenetic a chmurowym brokerem WQTT, co powoduje niepożądane przełączania zaworu. Zaproponowano logikę kontroli stanu urządzenia i przełączania hosta MQTT w zależności od dostępności ESP32. Poruszono również temat problemów z programowaniem drugiego zaworu z powodu przegrzewania konwerterów USB-TTL oraz potrzebę kompilacji firmware z niższą prędkością portu. Na koniec opisano proces przeprogramowania bootloadera dla nowej mikroschematy Beken BK7231N, w tym rozpoznanie pamięci flash i ustawienia ochrony zapisu.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA