Witam,
Ostatnio zakupiłem Automatyczny Karmnik dla Rybek od eBay .
Posiada on XT-BL12 chiplet wewnątrz. Wewnątrz tego układu znajduje się BL602. Z powodzeniem przylutowałem do niego mój UART jig i sflashowałem firmware OpenBelken.
Wi-Fi, MQTT działa. Mogę również włączyć / wyłączyć diodę LED i obrócić bęben.
Mam kilka pytań:
Przylutowałem czujnik temperatury DS18B20 do GPIO17. Pomiędzy dane (GPIO17) a VCC wlutowałem rezystor 150k, GND do GND.
Ale nie znalazłem jak to poprawnie skonfigurować. GPIO mapper wizzard z sieci nie pomaga. Przełączanie bębna nie wyłącza go po jednym obrocie, nadal się obraca. Muszę go wyłączyć ręcznie. Wiem, że w Tasmocie identyczny problem rozwiązuje ustawienie pulsetime1 . Jak mogę zrobić to samo tutaj, tj. Obracanie bębna wyłączy się automatycznie po zakończeniu pojedynczego obrotu.
Drugą kwestią jest to, że domyślny szablon nie wie nic o czujniku temperatury. Nie mogę wybrać typu pinu z predefiniowanej listy.
Nie odczytuje poprawnych wartości.
.
I na koniec, jeśli na razie wykluczę HomeAssistant, jak mogę zautomatyzować lub naśladować zachowanie stockowego firmware, np: Kiedy bęben się obraca, dioda LED miga. Po naciśnięciu przycisku bęben obraca się raz. Długie naciśnięcie wymusza działanie (parowanie na stocku, ale wolałbym restart lub tryb bezpieczny).
Podsumowując, do tej pory zidentyfikowałem GPIO03 jako przycisk, GPIO04 jako diodę LED i GPIO05 jako obrót bębna. Ustawienie go na PWM pozwala mi obracać go za pomocą przycisku na GUI płyty. GPIO17 ma podłączony czujnik temperatury.
Udało mi się umieścić przycisk i obrót bębna w jednej grupie, więc naciskając przycisk, bęben obraca się (i nigdy się nie zatrzymuje, dopóki nie zostanie ponownie naciśnięty). Przełącznik w interfejsie użytkownika myśli, że jest to światło.
Przepraszam, jeśli było to już omawiane w innym miejscu.... Próbowałem wyszukać BL602 sterujące silnikiem lub BL602 używane w podajnikach ryb, ale nic nie znalazłem. Większość podajników używa różnych chipletów, które zwykle dobrze współpracują z Tasmota.
Próbowałem również użyć aplikacji gui flasher do analizowania konfiguracji gpio mcu tuya, ale aplikacja informuje mnie, że wystąpił błąd (próbowałem zarówno w systemie Linux, jak i Windows) podczas wybierania pliku binarnego zrzutu tuyamcu. Aplikacja odmawia pobrania lub odczytu z BL602, ponieważ została stworzona dla innego chipu. Ale jest w stanie zweryfikować łączność z urządzeniem przez sieć, odczytać jego chip, wersję oprogramowania itp. Czy istnieje lepszy lub inny sposób, aby BL602 przekonwertował / przeanalizował konfigurację GPIO tuyaMCU?
Ponadto urządzenie wyświetla komunikat "boot incompletes 1" w interfejsie użytkownika. Czy powinienem się martwić?
Update: Na początek poczytałem trochę więcej o sterownikach. Próbowałem pracować z autoexec.bat, pozwalając mu uruchomić TuyaMCU, ale nie ma żadnej wzmianki o tym sterowniku w logach, mimo że ustawiłem je na poziom debug verbosity. A jeśli spróbuję uruchomić go ręcznie, otrzymam to:
Technicznie rzecz biorąc, ten zasilacz był czymś w rodzaju no-name, dostarczany z konkretną aplikacją (Vanters) i chociaż działa podobnie do innych urządzeń tuya (tryb parowania itp.), Korzystał z chmury innego producenta. Chciałem osiągnąć dwa cele:
a) odciąć go od chińskich usług w chmurze i umożliwić bezpośrednie sterowanie przez sieć LAN (oprócz niekończącego się obracania bębna, udało się to osiągnąć. Mogę kontrolować i automatyzować podawanie za pomocą HA
b) odczytywać wartości temperatury z podłączonego czujnika. Jak na razie nie znalazłem sposobu, chociaż ta sama procedura z Tasmotą nie stanowiła problemu.
Załączam zrzut TuyaConfig wykonany za pomocą klienta webowego.
Update2:
Poniższa konfiguracja przycisku działa, np: obraca bęben tylko raz, zarówno toggle jak i przycisk:
W Ogólne/Flagi, Musiałem włączyć "Flaga 6 - [BTN] Natychmiastowa reakcja na dotyk zamiast oczekiwania na zwolnienie (aka SetOption 13)"
Poza tym, że myślałem o tym, że przełącznik jest lampką LED, to działa. Pozostaje tylko kwestia czujnika temperatury. Wydaje mi się, że klasa urządzenia nie jest zdefiniowana w OpenBeken.
========================================================================================================
Update3:
Co do integracji HA, zrobiłem tak:
configuration.yaml
Dodałem helpery służące jako licznik(i) oraz wejściowe przełączniki logiczne służące jako wirtualny przełącznik on-off. Mam dwa feedery, jeden oparty na WBR3 - więc używany z TuyaLocal, a drugi z BL602, którym się teraz bawię, o nazwie Feeder1 (Tabs).
Taśma LED Aquarium widoczna na zrzucie ekranu panelu sterowania to inny kontroler, niezwiązany z BL602.
Ostatnio zakupiłem Automatyczny Karmnik dla Rybek od eBay .
Posiada on XT-BL12 chiplet wewnątrz. Wewnątrz tego układu znajduje się BL602. Z powodzeniem przylutowałem do niego mój UART jig i sflashowałem firmware OpenBelken.
Wi-Fi, MQTT działa. Mogę również włączyć / wyłączyć diodę LED i obrócić bęben.
Mam kilka pytań:
Przylutowałem czujnik temperatury DS18B20 do GPIO17. Pomiędzy dane (GPIO17) a VCC wlutowałem rezystor 150k, GND do GND.
Ale nie znalazłem jak to poprawnie skonfigurować. GPIO mapper wizzard z sieci nie pomaga. Przełączanie bębna nie wyłącza go po jednym obrocie, nadal się obraca. Muszę go wyłączyć ręcznie. Wiem, że w Tasmocie identyczny problem rozwiązuje ustawienie pulsetime1 . Jak mogę zrobić to samo tutaj, tj. Obracanie bębna wyłączy się automatycznie po zakończeniu pojedynczego obrotu.
Drugą kwestią jest to, że domyślny szablon nie wie nic o czujniku temperatury. Nie mogę wybrać typu pinu z predefiniowanej listy.
Nie odczytuje poprawnych wartości.
I na koniec, jeśli na razie wykluczę HomeAssistant, jak mogę zautomatyzować lub naśladować zachowanie stockowego firmware, np: Kiedy bęben się obraca, dioda LED miga. Po naciśnięciu przycisku bęben obraca się raz. Długie naciśnięcie wymusza działanie (parowanie na stocku, ale wolałbym restart lub tryb bezpieczny).
Podsumowując, do tej pory zidentyfikowałem GPIO03 jako przycisk, GPIO04 jako diodę LED i GPIO05 jako obrót bębna. Ustawienie go na PWM pozwala mi obracać go za pomocą przycisku na GUI płyty. GPIO17 ma podłączony czujnik temperatury.
Udało mi się umieścić przycisk i obrót bębna w jednej grupie, więc naciskając przycisk, bęben obraca się (i nigdy się nie zatrzymuje, dopóki nie zostanie ponownie naciśnięty). Przełącznik w interfejsie użytkownika myśli, że jest to światło.
Przepraszam, jeśli było to już omawiane w innym miejscu.... Próbowałem wyszukać BL602 sterujące silnikiem lub BL602 używane w podajnikach ryb, ale nic nie znalazłem. Większość podajników używa różnych chipletów, które zwykle dobrze współpracują z Tasmota.
Próbowałem również użyć aplikacji gui flasher do analizowania konfiguracji gpio mcu tuya, ale aplikacja informuje mnie, że wystąpił błąd (próbowałem zarówno w systemie Linux, jak i Windows) podczas wybierania pliku binarnego zrzutu tuyamcu. Aplikacja odmawia pobrania lub odczytu z BL602, ponieważ została stworzona dla innego chipu. Ale jest w stanie zweryfikować łączność z urządzeniem przez sieć, odczytać jego chip, wersję oprogramowania itp. Czy istnieje lepszy lub inny sposób, aby BL602 przekonwertował / przeanalizował konfigurację GPIO tuyaMCU?
Ponadto urządzenie wyświetla komunikat "boot incompletes 1" w interfejsie użytkownika. Czy powinienem się martwić?
Update: Na początek poczytałem trochę więcej o sterownikach. Próbowałem pracować z autoexec.bat, pozwalając mu uruchomić TuyaMCU, ale nie ma żadnej wzmianki o tym sterowniku w logach, mimo że ustawiłem je na poziom debug verbosity. A jeśli spróbuję uruchomić go ręcznie, otrzymam to:
Info:MAIN:Driver TuyaMCU is not known in this build.
Info:MAIN:Available drivers:
Info:MAIN:NTP
Info:MAIN:, RN8209
Info:MAIN:, BL0942
Info:MAIN:, BL0937
Info:MAIN:, CSE7766
Info:MAIN:, DDP
Info:MAIN:, SSDP
Info:MAIN:, DGR
Info:MAIN:, Wemo
Info:MAIN:, SM2135
Info:MAIN:, BP5758D
Info:MAIN:, BP1658CJ
Info:MAIN:, SM2235
Info:CMD:[WebApp Cmd 'startDriver TuyaMCU' Result] OKTechnicznie rzecz biorąc, ten zasilacz był czymś w rodzaju no-name, dostarczany z konkretną aplikacją (Vanters) i chociaż działa podobnie do innych urządzeń tuya (tryb parowania itp.), Korzystał z chmury innego producenta. Chciałem osiągnąć dwa cele:
a) odciąć go od chińskich usług w chmurze i umożliwić bezpośrednie sterowanie przez sieć LAN (oprócz niekończącego się obracania bębna, udało się to osiągnąć. Mogę kontrolować i automatyzować podawanie za pomocą HA
b) odczytywać wartości temperatury z podłączonego czujnika. Jak na razie nie znalazłem sposobu, chociaż ta sama procedura z Tasmotą nie stanowiła problemu.
Załączam zrzut TuyaConfig wykonany za pomocą klienta webowego.
Update2:
Poniższa konfiguracja przycisku działa, np: obraca bęben tylko raz, zarówno toggle jak i przycisk:
{
"vendor": "Vanters",
"bDetailed": "0",
"name": "Automatic Fish Feeder",
"model": "ANT325 V0",
"chip": "BL602",
"board": "XT-BL12",
"flags": "-2080373664",
"keywords": [
"Feed",
"Fish"
],
"pins": {
"2": "Btn_n;1",
"3": "Btn;2",
"4": "WifiLED_n;0",
"5": "PWM;3"
},
"command": "waitFor WiFiState 4;waitFor MQTTState 1",
"image": "https://obrazki.elektroda.pl/YOUR_IMAGE.jpg",
"wiki": "https://www.elektroda.com/rtvforum/topic_YOUR_TOPIC.html"
}W Ogólne/Flagi, Musiałem włączyć "Flaga 6 - [BTN] Natychmiastowa reakcja na dotyk zamiast oczekiwania na zwolnienie (aka SetOption 13)"
Poza tym, że myślałem o tym, że przełącznik jest lampką LED, to działa. Pozostaje tylko kwestia czujnika temperatury. Wydaje mi się, że klasa urządzenia nie jest zdefiniowana w OpenBeken.
========================================================================================================
Update3:
Co do integracji HA, zrobiłem tak:
configuration.yaml
- platform: template
sensors:
fish_feed_time_tabs:
friendly_name: "Last Fish Feeding - Tabs"
value_template: >
{%- set time = (as_timestamp(now()) - as_timestamp(states.counter.number_of_feedings_tabs.last_changed)) | int %}
{%- set minutes = ((time % 3600) // 60) %}
{%- set minutes = '{}minutes'.format(minutes) if minutes > 0 else '' %}
{%- set hours = ((time % 86400) // 3600) %}
{%- set hours = '{}hours '.format(hours) if hours > 0 else '' %}
{%- set days = (time // 86400) %}
{%- set days = '{}days '.format(days) if days > 0 else '' %}
{{ 'Less than 1 minute' if time < 60 else days + hours + minutes }} agomqtt:
switch:
- unique_id: "feeder1.iot.lan_switch"
name: Feed
command_topic: "cmnd/Feeding/led_enableAll"
state_topic: "Feeding/led_enableAll/get"
availability_topic: "Feeding/connected"
payload_on: 1
payload_off: 0
- unique_id: "feeder1.iot.lan_reboot"
name: Reboot
command_topic: "cmnd/Feeding/restart"
availability_topic: "Feeding/connected"
payload_on: 1
payload_off: 0
state_off: "Feeding/online"
state_on: "Feeding/offline"Dodałem helpery służące jako licznik(i) oraz wejściowe przełączniki logiczne służące jako wirtualny przełącznik on-off. Mam dwa feedery, jeden oparty na WBR3 - więc używany z TuyaLocal, a drugi z BL602, którym się teraz bawię, o nazwie Feeder1 (Tabs).
Taśma LED Aquarium widoczna na zrzucie ekranu panelu sterowania to inny kontroler, niezwiązany z BL602.