BLE Supla Gateway - wyzwanie dla programistów

GOLDEN
Posty: 55
Rejestracja: sob lis 04, 2017 4:45 pm
Lokalizacja: Jastrzębie-Zdrój

czw kwie 30, 2020 10:37 pm

Witam

Otóż 3 czujniki już mam jakiś czas, brakuje raspberry pi zero w, które jakoś ostatnio trudniej kupić.

Doznałem dziś jednej olśnienia, że może uda mi się uruchomić bramkę na QNAP, a dokładnie Virtualnej maszynie, gdzie uruchomiłbym Linuksa.

Teraz tylko kwestia jaką dystrybucję wybrać?
Możecie coś konkretnego polecić?

Druga sprawa czy uda się uruchomić adapter usb bluetooth i czy znajdzie czujniki.
W sumie poza czasem nie mam nic do stracenia.

Próbował ktoś takiego podejścia?

Pozdrawiam
GOLDEN!!!
Jarson78
Posty: 50
Rejestracja: pn cze 11, 2018 10:54 am

pt maja 01, 2020 9:12 am

Panowie co robię źle że mam taki komunikat po wykonaniu
cd supla-virtual-device
./supla-virtual-device


SUPLA-VIRTUAL-DEVICE v1.0.3
INFO[1588336870.149090] SSL version: OpenSSL 1.1.1d 10 Sep 2019
mqtt client error MQTT_ERROR_SOCKET_ERROR

Zaznaczam że to moja pierwsza malina i jestem zielony. Robię wszystko zgodnie z opisem Pana Roberta.
Awatar użytkownika
artur_n
Posty: 79
Rejestracja: czw sie 17, 2017 2:24 pm

pn maja 04, 2020 9:08 am

Już nie pamiętam jak to robiłem u siebie ale wiem, że w kilku miejscach musiałem podnieść uprawnienia przy pomocy "sudo" oraz przy plikach *.txt dawałem uprawnienia 666 gdyż przy 644 nie chciało mi działać.
Awatar użytkownika
Robert Błaszczak
Posty: 1125
Rejestracja: sob gru 22, 2018 8:55 pm
Lokalizacja: Zielona Góra
Kontaktowanie:

pn maja 04, 2020 9:22 am

Jarson78 pisze:
pt maja 01, 2020 9:12 am
Panowie co robię źle że mam taki komunikat po wykonaniu
cd supla-virtual-device
./supla-virtual-device


SUPLA-VIRTUAL-DEVICE v1.0.3
INFO[1588336870.149090] SSL version: OpenSSL 1.1.1d 10 Sep 2019
mqtt client error MQTT_ERROR_SOCKET_ERROR

Zaznaczam że to moja pierwsza malina i jestem zielony. Robię wszystko zgodnie z opisem Pana Roberta.
Podałeś poprawne dane w pliku supla-virtual-device.cfg i włączyłeś w Supla Cloud dodawanie nowych urządzeń?
No zakomentuj (#) w pliku supla-virtual-device.cfg całą sekcję [MQTT], tak jak jest w moim przykładzie.
Pozdrawiam
Robert Błaszczak

Strona prywatna: https://www.blaszczak.pl
Jakość powietrza: https://robert.aqi.eco
Jarson78
Posty: 50
Rejestracja: pn cze 11, 2018 10:54 am

pn maja 04, 2020 9:28 pm

Kolejna przeszkoda
Po wykonaniu

Tworzymy teraz konfiguracyjny plik dla procesu supla-virtual-device poleceniem:
sudo nano /etc/supervisor/conf.d/supla-virtual-device.conf

Zawartość pliku konfiguracyjnego:
[program:supla-virtual-device]
command=/home/pi/supla-virtual-device/supla-virtual-device
directory=/home/pi/supla-virtual-device
autostart=true
autorestart=true
user=pi

Oczywiście zapisujemy plik i zamykamy edytor Nano.

Teraz pozostaje zrestartować program supervisor poleceniem:
sudo service supervisor restart

Program Supla Virtual Device powinien zostać uruchomiony i pracować w tle jako serwis. Aby sprawdzić działanie programu w tle wpisujemy komendę:
supervisorctl status


Pojawia się

error: <class 'socket.error'>, [Errno 13] Permission denied: file: /usr/lib/python2.7/socket.py line: 228
Jarson78
Posty: 50
Rejestracja: pn cze 11, 2018 10:54 am

wt maja 05, 2020 8:36 pm

Poradziłem sobie z powyższym problemem.
Zrobiłem wszystko zgodnie z opisem Pana @Robert Błaszczak i w CLOUD mam urządzenie Supla Virtual Device w którym jest 2x czujnik tem. i wilgotności, czujnik tem., 2xprzekaźnik oraz czujnik wiatru.
Czujnik LYWSD03MMC posiadam na razie tylko jeden więc w pozostałych plikach pozostawiłem xx:xx:xx:xx:xx.

Problem polega na tym iż w Supla Cloud jeden czujnik tem. i wilgotności pokazuje mi -275 stopni i -1% co jest zrozumiałe bo posiadam tylko jeden LYWSD03MMC natomiast drugi pokazuje mi 0 stopni i 0 wilgotności.

W czym może tkwić problem i dlaczego mam tylko dwa czujnik pomimo tego iż plik utworzyłem dla 4 sztuk.
Awatar użytkownika
Robert Błaszczak
Posty: 1125
Rejestracja: sob gru 22, 2018 8:55 pm
Lokalizacja: Zielona Góra
Kontaktowanie:

wt maja 05, 2020 8:41 pm

Tu sobie nie panujemy :D
Wklej tu zawartość pliku supla-virtual-device.cfg
Pozdrawiam
Robert Błaszczak

Strona prywatna: https://www.blaszczak.pl
Jakość powietrza: https://robert.aqi.eco
Jarson78
Posty: 50
Rejestracja: pn cze 11, 2018 10:54 am

wt maja 05, 2020 8:55 pm

[GLOBAL]
device_name=SUPLA VIRTUAL DEVICE


[SERVER]
host=svr16.supla.org
protocol_version=10

[LOCATION]
ID=1xxx
PASSWORD=xxx

[CHANNEL_0]
function=TEMPERATURE_AND_HUMIDITY
file=/home/pi/supla-mi-th/sensor_tho.txt
#file_write_check_sec=120

[CHANNEL_1]
function=TEMPERATURE_AND_HUMIDITY
file=/home/pi/supla-mi-th/sensor_th1.txt
#file_write_check_sec=120

[CHANNEL_2]
function=TEMPERATURE_AND_HUMIDITY
file=/home/pi/supla-mi-th/sensor_th2.txt
#file_write_check_sec=120

[CHANNEL_3]
function=TEMPERATURE_AND_HUMIDITY
file=/home/pi/supla-mi-th/sensor_th3.txt
#file_write_check_sec=120

#[MQTT]
#host=mqtt.host
#port=1883
#username=
#password=
#client_name=supla-virtual-device

[CHANNEL_0]
function=TEMPERATURE_AND_HUMIDITY
file=/home/pi/supla-filesensors/var/livingroom_temperature.txt

[CHANNEL_1]
function=TEMPERATURE
file=/home/pi/supla-filesensors/var/raspberry_sdcard_free.txt
min_interval_sec=300

# example of getting payload switch 0/1 value

[CHANNEL_2]
function=POWERSWITCH
state_topic=relays/switch/0/state
command_topic=relays/switch/0/command
command_template=$value$
payload_on=1
payload_off=1

# example of getting payload dot separated temp and humidity value
# example 25.4 78

[CHANNEL_3]
function=TEMPERATURE_AND_HUMIDITY
state_topic=sensors/temphum/0/state

# example of parsing json payload { "on": true }

[CHANNEL_4]
function=LIGHTSWITCH
state_topic=relays/lightbulb/1/state
command_topic=relays/lightbulb/1/command
payload_value=/on
payload_on=true
payload_off=false

[CHANNEL_5]
function=WINDSENSOR
state_topic=sensors/wind/0/state

# this is a comment
Awatar użytkownika
Robert Błaszczak
Posty: 1125
Rejestracja: sob gru 22, 2018 8:55 pm
Lokalizacja: Zielona Góra
Kontaktowanie:

wt maja 05, 2020 9:05 pm

Kanały Ci się dublują. Zostaw tylko tyle:

Kod: Zaznacz cały

[GLOBAL]
device_name=SUPLA VIRTUAL DEVICE


[SERVER]
host=svr16.supla.org
protocol_version=10

[LOCATION]
ID=1xxx
PASSWORD=xxx

[CHANNEL_0]
function=TEMPERATURE_AND_HUMIDITY
file=/home/pi/supla-mi-th/sensor_tho.txt
#file_write_check_sec=120

[CHANNEL_1]
function=TEMPERATURE_AND_HUMIDITY
file=/home/pi/supla-mi-th/sensor_th1.txt
#file_write_check_sec=120

[CHANNEL_2]
function=TEMPERATURE_AND_HUMIDITY
file=/home/pi/supla-mi-th/sensor_th2.txt
#file_write_check_sec=120

[CHANNEL_3]
function=TEMPERATURE_AND_HUMIDITY
file=/home/pi/supla-mi-th/sensor_th3.txt
#file_write_check_sec=120
Lub zakomentuj wszystko poniżej sekcji [MQTT]

Jak to zrobisz, to usuń z Cloud urządzenie SUPLA VIRTUAL DEVICE, włącz dodawanie urządzeń i zrestartuj na RPi supla-virtual-device.
Pozdrawiam
Robert Błaszczak

Strona prywatna: https://www.blaszczak.pl
Jakość powietrza: https://robert.aqi.eco
Maniek913
Posty: 241
Rejestracja: czw lut 22, 2018 9:46 pm

śr maja 06, 2020 8:44 pm

Jarson78 pisze:
wt maja 05, 2020 8:36 pm
Poradziłem sobie z powyższym problemem.
Zrobiłem wszystko zgodnie z opisem Pana @Robert Błaszczak i w CLOUD mam urządzenie Supla Virtual Device w którym jest 2x czujnik tem. i wilgotności, czujnik tem., 2xprzekaźnik oraz czujnik wiatru.
Czujnik LYWSD03MMC posiadam na razie tylko jeden więc w pozostałych plikach pozostawiłem xx:xx:xx:xx:xx.

Problem polega na tym iż w Supla Cloud jeden czujnik tem. i wilgotności pokazuje mi -275 stopni i -1% co jest zrozumiałe bo posiadam tylko jeden LYWSD03MMC natomiast drugi pokazuje mi 0 stopni i 0 wilgotności.

W czym może tkwić problem i dlaczego mam tylko dwa czujnik pomimo tego iż plik utworzyłem dla 4 sztuk.
Wszystko zrobiłem według poradnika - poszło bez większych problemów , ale niestety mam tą samą sytuację - nie wiem skąd wzięły się w/w kanały w cloud skoro ich nie definiowałem w pliku conf ? natomiast nie ma odczytów z zdefiniowanego jednego czujnika xaomi .
Oto mój plik conf:

Kod: Zaznacz cały

[GLOBAL]
device_name=SUPLA VIRTUAL DEVICE


[SERVER]
host=svrx.supla.org
protocol_version=10

[LOCATION]
ID=xxxx
PASSWORD=xxxx

[CHANNEL_0]
function=TEMPERATURE_AND_HUMIDITY
file=/home/pi/supla-mi-th/sensor_th0.txt
file_write_check_sec=120

#[MQTT]
#host=mqtt.host
Prawidłowe odczyty zapisują się w pliku sensor_ th0.txt
ODPOWIEDZ

Wróć do „Ogólna dyskusja”