[tutorial] RPiZeroW + odczyt z LYWSD03MMC przez BLE + Supla-Device

Simono
Posty: 399
Rejestracja: pn wrz 17, 2018 5:26 pm

Koledzy zdaje się, że po dzisiejszej zdalnej aktualizacji przestały mi działać termometry.
Pamiętam tylko, że po

Kod: Zaznacz cały

sudo apt update
był chyba update do bluez i czegoś jeszcze. Wracam do domu i chcę zerknąć na temperaturę w pomieszczeniach i lipa bo pokazuje mi --- przy temperaturze i wilgotności. Z samej maliny temperaturę pokazuje OK więc jest coś na pewno po stronie bluetooth.
Pomoże ktoś?

Kod: Zaznacz cały

pi@raspberrypi-gate:~ $ bluetoothd -v
5.55

Kod: Zaznacz cały

pi@raspberrypi-gate:~ $ sudo systemctl status bluetooth
● bluetooth.service - Bluetooth service
     Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2024-01-17 19:59:47 CET; 27min ago
       Docs: man:bluetoothd(8)
   Main PID: 725 (bluetoothd)
     Status: "Running"
      Tasks: 1 (limit: 1595)
        CPU: 81ms
     CGroup: /system.slice/bluetooth.service
             └─725 /usr/libexec/bluetooth/bluetoothd

Jan 17 19:59:47 raspberrypi-gate systemd[1]: Starting Bluetooth service...
Jan 17 19:59:47 raspberrypi-gate bluetoothd[725]: Bluetooth daemon 5.55
Jan 17 19:59:47 raspberrypi-gate systemd[1]: Started Bluetooth service.
Jan 17 19:59:47 raspberrypi-gate bluetoothd[725]: Starting SDP server
Jan 17 19:59:47 raspberrypi-gate bluetoothd[725]: Bluetooth management interface 1.22 initialized
Jan 17 19:59:47 raspberrypi-gate bluetoothd[725]: profiles/sap/server.c:sap_server_register() Sap driver initialization>
Jan 17 19:59:47 raspberrypi-gate bluetoothd[725]: sap-server: Operation not permitted (1)
Jan 17 19:59:47 raspberrypi-gate bluetoothd[725]: Failed to set privacy: Rejected (0x0b)
lines 1-19/19 (END)
● bluetooth.service - Bluetooth service
     Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2024-01-17 19:59:47 CET; 27min ago
       Docs: man:bluetoothd(8)
   Main PID: 725 (bluetoothd)
     Status: "Running"
      Tasks: 1 (limit: 1595)
        CPU: 81ms
     CGroup: /system.slice/bluetooth.service
             └─725 /usr/libexec/bluetooth/bluetoothd

Jan 17 19:59:47 raspberrypi-gate systemd[1]: Starting Bluetooth service...
Jan 17 19:59:47 raspberrypi-gate bluetoothd[725]: Bluetooth daemon 5.55
Jan 17 19:59:47 raspberrypi-gate systemd[1]: Started Bluetooth service.
Jan 17 19:59:47 raspberrypi-gate bluetoothd[725]: Starting SDP server
Jan 17 19:59:47 raspberrypi-gate bluetoothd[725]: Bluetooth management interface 1.22 initialized
Jan 17 19:59:47 raspberrypi-gate bluetoothd[725]: profiles/sap/server.c:sap_server_register() Sap driver initialization failed.
Jan 17 19:59:47 raspberrypi-gate bluetoothd[725]: sap-server: Operation not permitted (1)
Jan 17 19:59:47 raspberrypi-gate bluetoothd[725]: Failed to set privacy: Rejected (0x0b)

Kod: Zaznacz cały

pi@raspberrypi-gate:~ $ hciconfig hci0
hci0:   Type: Primary  Bus: UART
        BD Address: B8:27:EB:93:BC:2B  ACL MTU: 1021:8  SCO MTU: 64:1
        UP RUNNING
        RX bytes:2915 acl:0 sco:0 events:173 errors:0
        TX bytes:5059 acl:0 sco:0 commands:173 errors:0
:Edit
po wydaniu polecenia:

Kod: Zaznacz cały

pi@raspberrypi-gate:~ $ sudo service supervisor restart  
Do restartu dla testu maliny wszystko działa. Po restarcie maliny muszę znowu zrestartować supervisor
Awatar użytkownika
Gang
Posty: 605
Rejestracja: pt lis 09, 2018 12:44 pm

Raport z pola bitwy.
10 czujników rozsianych na parterze i piętrze.
Malinka wisi pod sufitem w kotłowni na szczycie domu.
Dom z suporexu, strop to 23cm monolitu.

Jescze raz dziękuję.

Jedyny problem to na SSH muli jak diabli. Bezpośrednio chodzi jak szatan. Temperatura trzyma się około 40 stopni.
Zamel: MEW-01, ROW-02, THW-01, RNW-01, SLW-02, ROW-07, mROW-02, PNW-01. DIY: Supla Device RPI + 10 xiaomi mija2, Sonoff: basic + 7 DS18B20, basic x2, touch, mini x3, - Nodemcu x2, - ElectroDragon ESP8266 - Gosund SP111 x3
Awatar użytkownika
Lector
Posty: 1373
Rejestracja: pt lis 17, 2017 2:26 pm
Lokalizacja: Poznań
Kontakt:

myxhir pisze: czw lis 02, 2023 8:10 am dokładnie tak mam u siebie ;) dodałem kanał wilgotności i czytam już z wcześniejszych plików. Dodałem sobie je nawet w osobną lokalizację żeby nie mnożyło się to. Osobiście ja tego nie ukrywałem ale może nie mam aż tylu urządzeń raptem 58 kanałów ;)
Powiadomienia działają bo już w jednej lokalizacji bateria była wymieniana ;)
Mam zrobione tak samo, a i poszedłem troszkę dalej.
Jako ze jedno powiadomienie to mało (zawsze można zapomnieć), to rozszerzyłem o dwie sceny i harmonogram.

Przy każdym kanale ze stanem baterii mam wyślij powiadomienie jak stan baterii spadnie poniżej 15% z informacją jaki konkretnie to czujnik (tak jak u Ciebie).
Jest dodana dla takich samych warunków druga reakcja uruchamiająca harmonogram.
Harmonogram jest jako cykliczny i uruchamiany co 30 minut i uruchamia scenę "bateria komunikat".
Scena "bateria komunikat" (ukryta w aplikacji) wysyła powiadomienie o słabej baterii w jednym z czujników (nie ma tu możliwości rozpoznania który ma słabą, ale ma przypominać o wymianie do puki jej nie wymienimy).
Kolejna scena "bateria wymieniona" (widoczna w aplikacji) wyłącza harmonogram, aby nie bombardował nas dalej komunikatami.

Więc wszystko samo się uruchamia, dostajemy główny komunikat który czujnik ma problem z baterią i kolejne przypominające komunikaty, a po wymianie baterii w aplikacji uruchamiamy scenę "bateria wymieniona" i komunikaty się wyłączają.
Niespełniony automatyk. :mrgreen:
https://3d-lamp.photos/
Awatar użytkownika
myxhir
Posty: 316
Rejestracja: czw sty 07, 2021 12:16 pm
Lokalizacja: Skórzewo, Poznań

Lector pisze: pt lut 02, 2024 10:53 am
myxhir pisze: czw lis 02, 2023 8:10 am dokładnie tak mam u siebie ;) dodałem kanał wilgotności i czytam już z wcześniejszych plików. Dodałem sobie je nawet w osobną lokalizację żeby nie mnożyło się to. Osobiście ja tego nie ukrywałem ale może nie mam aż tylu urządzeń raptem 58 kanałów ;)
Powiadomienia działają bo już w jednej lokalizacji bateria była wymieniana ;)
Mam zrobione tak samo, a i poszedłem troszkę dalej.
Jako ze jedno powiadomienie to mało (zawsze można zapomnieć), to rozszerzyłem o dwie sceny i harmonogram.

Przy każdym kanale ze stanem baterii mam wyślij powiadomienie jak stan baterii spadnie poniżej 15% z informacją jaki konkretnie to czujnik (tak jak u Ciebie).
Jest dodana dla takich samych warunków druga reakcja uruchamiająca harmonogram.
Harmonogram jest jako cykliczny i uruchamiany co 30 minut i uruchamia scenę "bateria komunikat".
Scena "bateria komunikat" (ukryta w aplikacji) wysyła powiadomienie o słabej baterii w jednym z czujników (nie ma tu możliwości rozpoznania który ma słabą, ale ma przypominać o wymianie do puki jej nie wymienimy).
Kolejna scena "bateria wymieniona" (widoczna w aplikacji) wyłącza harmonogram, aby nie bombardował nas dalej komunikatami.

Więc wszystko samo się uruchamia, dostajemy główny komunikat który czujnik ma problem z baterią i kolejne przypominające komunikaty, a po wymianie baterii w aplikacji uruchamiamy scenę "bateria wymieniona" i komunikaty się wyłączają.
A jesteś pewny że na takim poziomie napięcia to działa? Ja miałem ustawione powiadomienie < 20% to przyszło powiadomienie potem poziom bateri był kolejno 30%, 19% i czujnik padł:-)
Awatar użytkownika
Lector
Posty: 1373
Rejestracja: pt lis 17, 2017 2:26 pm
Lokalizacja: Poznań
Kontakt:

Wydaje mi się ze u mnie schodziło poniżej 10% i chodziły.

Najmniej mam teraz 37%, zobaczymy czy zadziała.
Niespełniony automatyk. :mrgreen:
https://3d-lamp.photos/
Awatar użytkownika
Gang
Posty: 605
Rejestracja: pt lis 09, 2018 12:44 pm

Mi przy 5 procentach dalej wysyła.

Ps. Rozwiązałem problem SSH... Wystarczy że malinka jest dhe niż 2metry do unifi i jest ok ;)
Zamel: MEW-01, ROW-02, THW-01, RNW-01, SLW-02, ROW-07, mROW-02, PNW-01. DIY: Supla Device RPI + 10 xiaomi mija2, Sonoff: basic + 7 DS18B20, basic x2, touch, mini x3, - Nodemcu x2, - ElectroDragon ESP8266 - Gosund SP111 x3
Awatar użytkownika
myxhir
Posty: 316
Rejestracja: czw sty 07, 2021 12:16 pm
Lokalizacja: Skórzewo, Poznań

Gang pisze: ndz lut 04, 2024 11:19 am Mi przy 5 procentach dalej wysyła.

Ps. Rozwiązałem problem SSH... Wystarczy że malinka jest dhe niż 2metry do unifi i jest ok ;)
Ja mam ZTE Mesha i tak samo mam :) ale to też różnie raz działa SSH dobrze raz nie
Awatar użytkownika
Lector
Posty: 1373
Rejestracja: pt lis 17, 2017 2:26 pm
Lokalizacja: Poznań
Kontakt:

Mam problem z jednym czujnikiem, chodził kilka ładnych dni bez rwania. Aż tu nagle rwania i brak kontaktu, a nic nie zmieniałem, nie przedstawiałem.
Screenshot_20240212-200400.png
Screenshot_20240212-200400.png (114.67 KiB) Przejrzano 150 razy
Ma ktoś jakiś pomysł, jak zwiększam decybele to też nie pomaga, jedynie zmiana położenia czujnika.

Jak poprawnie zmienić siłę nadawania?
Niespełniony automatyk. :mrgreen:
https://3d-lamp.photos/
Awatar użytkownika
myxhir
Posty: 316
Rejestracja: czw sty 07, 2021 12:16 pm
Lokalizacja: Skórzewo, Poznań

Lector pisze: pn lut 12, 2024 7:11 pm Mam problem z jednym czujnikiem, chodził kilka ładnych dni bez rwania. Aż tu nagle rwania i brak kontaktu, a nic nie zmieniałem, nie przedstawiałem.
Screenshot_20240212-200400.png
Ma ktoś jakiś pomysł, jak zwiększam decybele to też nie pomaga, jedynie zmiana położenia czujnika.

Jak poprawnie zmienić siłę nadawania?
też miałem taki problem i ja to trochę obszedłem :D a mianowicie w pliku YAML dałem dłuższy czas po jakim wyświetlą się ---. Ustawiłem na 5 min czyli 300 sec. Problem potem ustał

Kod: Zaznacz cały

#Maly Pokoj
  - type: ThermHygroMeterParsed
    source:
      type: File
      file: "/home/pi/MiTemperature2/A4:C1:38:31:50:09.txt"
      expiration_time_sec: 300
    parser:
      type: Simple
      refresh_time_ms: 5000
    temperature: 0
    humidity: 1
    multiplier_temp: 1
    multiplier_humi: 1
    battery_level: 2
może zwiększ sobie tą tolerancje i sprawdź jak to się zachowa. U mnie jak wszedłem w folder który zbiera pliki z adresami MAC to się przeżegnałem ile tego tam jest :D
Awatar użytkownika
Lector
Posty: 1373
Rejestracja: pt lis 17, 2017 2:26 pm
Lokalizacja: Poznań
Kontakt:

Dzięki zmieniłem.

A może ktoś kombinował dodać RSSI pod (i)?

Zmieniając:

Kod: Zaznacz cały

./LYWSD03MMC.py -p --atc --battery --rssi --round --debounce --callback save-to-file.sh
Pobieramy siłę sygnału, jest problem z zapisem bo jest z minusem (tak mi się zdaję).
Ale jak damy:

Kod: Zaznacz cały

#!/bin/bash
echo $3 > $2.txt
echo $4 >> $2.txt
echo $6 >> $2.txt
echo [$7] >> $2.txt
To zapisuje, tylko jak to ustawić w supla-device.yaml? Będzie to zmienna 4 ale jaka komendę daję WiFi RSSI pod (i). I czy problemem nie będzie nawias kwadratowy.
Niespełniony automatyk. :mrgreen:
https://3d-lamp.photos/
ODPOWIEDZ

Wróć do „FAQ / Jak to zrobić”