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

Przeglądanie logów OBK za pomocą ncat - skrót bez aplikacji webowej

max4elektroda 30 Wrz 2024 16:54 2052 4

TL;DR

  • Logi OpenBeken można szybko przeglądać bez uruchamiania aplikacji webowej, łącząc się bezpośrednio z portem 9000 urządzenia.
  • Na Linuksie działa to przez nc/netcat, a wyjście można filtrować np. grep DS1820 podczas obserwacji czujnika DS1820.
  • W Windows bez WSL przydaje się binarka BusyBox, która dostarcza sh oraz narzędzia md5sum, awk i sed.
  • To wygodne do dłuższego śledzenia wpisów, ale nie zastępuje w pełni logów z hardware'owego UART.
Wygenerowane przez model językowy.
REKLAMA
Treść została przetłumaczona angielski » polski Zobacz oryginalną wersję tematu
📢 Słuchaj (AI):
  • Czasami lubię krótko przejrzeć dzienniki urządzenia OpenBeken bez uruchamiania aplikacji internetowej i otwierania menu "dzienniki".

    Lubię też zapisywać lub filtrować dzienniki przez dłuższy czas.

    Można to łatwo osiągnąć, łącząc się z portem 9000 urządzenia.

    Dowiedziałem się o tej funkcji z komentarza @miegapele na git i chciałbym się nią tutaj podzielić.


    Na linuxie prawdopodobnie użyłbyś nc/netcat. Tak więc, np. podczas pracy nad sterownikiem dla DS1820, użyłem:

    max@max-PC:~$ nc 192.168.0.37 9000 | grep DS1820
    Info:CFG:DS1820 - asked for conversion - Pin 2
    Info:CFG:DS1820 - Pin=2 temp=+19.37 
    Info:CFG:DS1820 - High=1 Low=54 Val=310 Tc=1937  -- Read CRC=79 - calculated:79 
    Info:CFG:DS1820 - asked for conversion - Pin 2
    Info:CFG:DS1820 - Pin=2 temp=+19.37 
    Info:CFG:DS1820 - High=1 Low=54 Val=310 Tc=1937  -- Read CRC=79 - calculated:79 
    Info:CFG:DS1820 - asked for conversion - Pin 2
    Info:CFG:DS1820 - Pin=2 temp=+19.37 
    Info:CFG:DS1820 - High=1 Low=54 Val=310 Tc=1937  -- Read CRC=79 - calculated:79 
    Info:CFG:DS1820 - asked for conversion - Pin 2
    Info:CFG:DS1820 - Pin=2 temp=+19.37 
    Info:CFG:DS1820 - High=1 Low=54 Val=310 Tc=1937  -- Read CRC=79 - calculated:79 
    Info:CFG:DS1820 - asked for conversion - Pin 2
    Info:CFG:DS1820 - Pin=2 temp=+19.37 
    Info:CFG:DS1820 - High=1 Low=54 Val=310 Tc=1937  -- Read CRC=79 - calculated:79 
    Info:CFG:DS1820 - asked for conversion - Pin 2
    Info:CFG:DS1820 - Pin=2 temp=+19.37 
    Info:CFG:DS1820 - High=1 Low=54 Val=310 Tc=1937  -- Read CRC=79 - calculated:79 
    Info:CFG:DS1820 - asked for conversion - Pin 2
    Info:CFG:DS1820 - Pin=2 temp=+19.37 
    .



    W systemie Windows (jeśli nie zainstalowałeś WSL) moim preferowanym "szwajcarskim nożem wojskowym" do zadań takich jak to jest windowsowy port "busybox" (pobieram binarkę z tutaj ).

    Możesz więc po prostu uruchomić tam "powłokę" z "busybox sh" i po prostu użyć tego samego polecenia, co powyżej :-) .

    Zrzut ekranu z konsoli Windows pokazującej użycie narzędzia busybox do analizowania logów urządzenia. .

    A jeśli zdarzają się sytuacje, w których brakuje md5sum, awk lub sed - są one również dostępne w tym przydatnym małym pliku binarnym.

    Dostęp do logu sieciowego nie zastępuje w pełni logu na sprzętowym UART. Ale naprawdę go lubię, zwłaszcza gdy "czekam" na wpisy w dzienniku.

    Fajne? Ranking DIY
    O autorze
    max4elektroda
    Poziom 24  
    Offline 
  • REKLAMA
  • #2 21246672
    p.kaczmarek2
    Moderator Smart Home
    Posty: 14675
    Pomógł: 656
    Ocena: 12697
    Bardzo fajna metoda, nawet ja o tym nie wiedziałem! Mimo to dobrze byłoby mieć logi przechowywane w LittleFS, może? Przynajmniej do celów debugowania i z pewnym filtrowaniem, aby nie zużywać pamięci flash zbyt szybko.
    Pomogłem? Kup mi kawę.
  • REKLAMA
  • REKLAMA
  • #4 21263048
    jkwim
    Poziom 13  
    Posty: 186
    Pomógł: 4
    Ocena: 25
    max4elektroda napisał:
    Czasami lubię zajrzeć do logów urządzenia OpenBeken bez uruchamiania aplikacji webowej i otwierania menu "logi".

    Lub lubię zapisywać lub filtrować dzienniki przez dłuższy czas.

    Można to łatwo osiągnąć, łącząc się z portem 9000 urządzenia.

    Dowiedziałem się o tej funkcji z komentarza @miegapele na git i chciałbym się nią tutaj podzielić.


    Na linuxie prawdopodobnie użyłbyś nc/netcat. Tak więc, np. podczas pracy nad sterownikiem dla DS1820, użyłem:

    max@max-PC:~$ nc 192.168.0.37 9000 | grep DS1820
    Info:CFG:DS1820 - asked for conversion - Pin 2
    Info:CFG:DS1820 - Pin=2 temp=+19.37 
    Info:CFG:DS1820 - High=1 Low=54 Val=310 Tc=1937  -- Read CRC=79 - calculated:79 
    Info:CFG:DS1820 - asked for conversion - Pin 2
    Info:CFG:DS1820 - Pin=2 temp=+19.37 
    Info:CFG:DS1820 - High=1 Low=54 Val=310 Tc=1937  -- Read CRC=79 - calculated:79 
    Info:CFG:DS1820 - asked for conversion - Pin 2
    Info:CFG:DS1820 - Pin=2 temp=+19.37 
    Info:CFG:DS1820 - High=1 Low=54 Val=310 Tc=1937  -- Read CRC=79 - calculated:79 
    Info:CFG:DS1820 - asked for conversion - Pin 2
    Info:CFG:DS1820 - Pin=2 temp=+19.37 
    Info:CFG:DS1820 - High=1 Low=54 Val=310 Tc=1937  -- Read CRC=79 - calculated:79 
    Info:CFG:DS1820 - asked for conversion - Pin 2
    Info:CFG:DS1820 - Pin=2 temp=+19.37 
    Info:CFG:DS1820 - High=1 Low=54 Val=310 Tc=1937  -- Read CRC=79 - calculated:79 
    Info:CFG:DS1820 - asked for conversion - Pin 2
    Info:CFG:DS1820 - Pin=2 temp=+19.37 
    Info:CFG:DS1820 - High=1 Low=54 Val=310 Tc=1937  -- Read CRC=79 - calculated:79 
    Info:CFG:DS1820 - asked for conversion - Pin 2
    Info:CFG:DS1820 - Pin=2 temp=+19.37 
    .

    Mam CYGWIN w moim komputerze z systemem Windows.
    Dodałem nc i teraz bardzo przydatne staje się filtrowanie wpisów dziennika w czasie rzeczywistym.

    $ nc 192.168.1.250 9000 | awk '/SENSOR NOT/ {print}'
    Error:CMD:cmd SENSOR NOT found (args {"Time":"2024-10-14T21:50:14","ENERGY":{"Power": 1.210776,"ApparentPower": 40.349151,"ReactivePower": 40.330982,"Factor":0.030007,"Voltage":242.087265,"Current":0.166671,"ConsumptionTotal":2059.686523,"Yesterday": 423.476654,"ConsumptionLastHour":0.000000}})
    Error:CMD:cmd SENSOR NOT found (args {"Time":"2024-10-14T21:50:14","ENERGY":{"Power": 1.210776,"ApparentPower": 40.349151,"ReactivePower": 40.330982,"Factor":0.030007,"Voltage":242.087265,"Current":0.166671,"ConsumptionTotal":2059.686523,"Yesterday": 423.476654,"ConsumptionLastHour":0.000000}})
    


    $ nc 192.168.1.250 9000 | awk '/SENSOR NOT/ {gsub(/,/," ");print $16}'
    "ConsumptionTotal":2053.459472
    "ConsumptionTotal":2053.460449
    "ConsumptionTotal":2053.461181
    "ConsumptionTotal":2053.461914
    "ConsumptionTotal":2053.462646
    "ConsumptionTotal":2053.463623
    "ConsumptionTotal":2053.464111
    "ConsumptionTotal":2053.464843
    "ConsumptionTotal":2053.465820
    "ConsumptionTotal":2053.466552
    "ConsumptionTotal":2053.466796
    "ConsumptionTotal":2053.467285


    Złożone filtrowanie można wykonać w wierszu poleceń, aby rozwiązać problemy:

    $ nc 192.168.1.250 9000 | awk '/SENSOR NOT/ {gsub(/,/," ");print $16} /energycounter/ {gsub(/50-250/,"");print}'
    Info:MQTT:MQTT client in mqtt_incoming_publish_cb topic openbk7231N-NW/energycounter_last_hour/get
    Info:MQTT:MQTT client in mqtt_incoming_publish_cb topic openbk7231N-NW/energycounter_2_days_ago/get
    "ConsumptionTotal":2053.552246
    "ConsumptionTotal":2053.552978
    Info:MQTT:Publishing val 2023-09-13T16:31+05:30 to openbk7231N-NW/energycounter_clear_date/get retain=0
    Info:MQTT:MQTT client in mqtt_incoming_publish_cb topic openbk7231N-NW/energycounter_clear_date/get
    "ConsumptionTotal":2053.553955
    "ConsumptionTotal":2053.554687
    "ConsumptionTotal":2053.555175
    "ConsumptionTotal":2053.556396
    Info:MQTT:Publishing val 2053.556 to openbk7231N-NW/energycounter/get retain=0
    Info:MQTT:Publishing val 1615.548 to openbk7231N-NW/energycounter_today/get retain=0
    Info:MQTT:Publishing val 423.476 to openbk7231N-NW/energycounter_yesterday/get retain=0
    Info:MQTT:Publishing val 8.245 to openbk7231N-NW/energycounter_3_days_ago/get retain=0
    Info:MQTT:MQTT client in mqtt_incoming_publish_cb topic openbk7231N-NW/energycounter/get
    Info:MQTT:MQTT client in mqtt_incoming_publish_cb topic openbk7231N-NW/energycounter_today/get
    Info:MQTT:MQTT client in mqtt_incoming_publish_cb topic openbk7231N-NW/energycounter_yesterday/get
    Info:MQTT:MQTT client in mqtt_incoming_publish_cb topic openbk7231N-NW/energycounter_3_days_ago/get
    "ConsumptionTotal":2053.556884
    "ConsumptionTotal":2053.557617
    "ConsumptionTotal":2053.558349
  • #5 21307105
    morgan_flint
    Poziom 14  
    Posty: 251
    Pomógł: 4
    Ocena: 62
    Właśnie wypróbowałem to z PuTTy i działa jak urok:
    Zrzut ekranu konfiguracji PuTTY z adresem IP i portem telnetu. Zrzut ekranu z sesji PuTTY, wyświetlający dane logów z TuyaMCU. .
📢 Słuchaj (AI):
REKLAMA