W poprzednim artykule ogólnie opisałem softwarową bramkę (Gateway) czytającą dane pomiarowe z czujników temperatury i wilgotności Xiaomi Mijia i przesyłających te dane na serwer Supla. Poniżej przedstawiam opis uruchomienia – krok po kroku – Supla Virtual Device – bramka dla czujników Xiaomi LYWSD03MMC.
Co potrzebujemy:
- Raspberry Pi Zero W (może być również Pi Zero WH – ta wersja ma wlutowane goldpiny i jest parę złoty droższa),
- zasilacz 5V, 2A ze złączem microUSB (do zasilania Raspberry),
- karta pamięci microSD o pojemności minimum 16GB (polecam karty SanDisk Extreme lub Extreme Pro),
- czytnik kart USB / microSD (lub SD + przejściówka),
- no i oczywiście czujniki temperatury i wilgotności Xiaomi Mijia LYWSD03MMC.
I. INSTALACJA SYSTEMU OPERACYJNEGO RASPBIAN NA KARCIE PAMIĘCI
- pobieramy i instalujemy program Rasperry Pi Imager ze strony organizacji RaspberryPi,
- podłączamy czytnik kart do komputera i wkładamy kartę SD,
- uruchamiamy program Raspberry Pi Imager (akceptujemy podwyższone uprawnienia) i wybieramy system operacyjny Raspberry Pi (other) >> Raspberry Pi OS Lite (32-bit) następnie wybieramy naszą kartę SD i klikamy przycisk WRITE. Proces przygotowania karty SD trwa około 3 – 4 minuty. W trakcie mogą pojawiać się komunikaty o konieczności formatowania karty SD – ignorujemy te komunikaty.
- Po zakończeniu działania programu zamykamy program, odłączamy nasz czytnik z kartą SD i ponownie podłączamy do portu USB. Ignorujemy komunikaty o konieczności formatowania dysku i otwieramy dysk boot.
- Na partycji boot musimy utworzyć dwa pliki o nazwach:
- ssh (plik bez żadnego rozszerzenia, zajmujący 0 KB),
- wpa_supplicant.conf z danymi dostępowymi do naszej sieci Wi-Fi 2.4 GHz:
country=PL
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="MyWiFiNetwork"
psk="VeryStrongPassword"
key_mgmt=WPA-PSK
}
Oczywiście w miejsce MyWiFiNetwork oraz VeryStrongPassword wpisujemy swoje dane.
- Odłączamy kartę microSD od komputera i wkładamy ją do naszego Raspberry Pi Zero W. Następnie podłączamy zasilanie (pierwszy port microUSB od prawej strony mikrokomputera oznaczony PWR IN) i czekamy ok. 5 minut.
II. PODSTAWOWA KONFIGURACJA RASPBERRY PI OS LITE
Do konfiguracji i zarządzania naszym Rasberry Pi Zero W (RPi) najlepiej nadaje się klient terminalowy Putty. Instalujemy więc program Putty na naszym komputerze. W celu podłączenia się sesją terminalową do naszego RPi musimy poznać adres IP, jaki został przydzielony dla RPi przez nasz router. Najwygodniej zalogować się na router i tam zobaczyć, jaki adres został przydzielony urządzeniu.
W Putty w okienku Host Name (or IP address) wpisujemy przyznany RPi adres IP, wybieramy typ połączenia (Connection type) SSH i klikamy przycisk Open. Potwierdzamy klawiszem OK Putty Security Alert i logujemy się do naszego Raspberry następującymi poświadczeniami:
Użytkownik: pi
Hasło: raspberry
Pierwszą czynnością jaką powinniśmy wykonać jest zmiana domyślnego hasła. W tym celu wpisujemy komendę:
passwd
Current password (aktualne hasło): raspberry
New password (nowe hasło): nasze_nowe_hasło
Retype new password (powtórz nowe hasło): nasze_nowe_hasło
Poprawna zmiana hasła zakończona jest komunikatem: passwd: password updated successfully.
Następną czynnością jest aktualizacja naszego RPi. Komenda sudo podnosi nasze uprawnienia do użytkownika root.
Pobieramy najnowszy wykaz paczek aktualizacyjnych z repozytoriów Raspbiana:
sudo apt-get update
Instalujemy aktualizacje (potwierdzamy chęć zainstalowania klawiszem Y):
sudo apt-get dist-upgrade
Możemy (nie jest to konieczne) zaktualizować „bios” naszego RPi:
sudo rpi-update
Czyścimy zawartość karty pamięci (dysku) ze zbędnych „śmieci”:
sudo apt-get autoclean
I uruchamiamy ponownie nasze RPi:
sudo reboot
Zamykamy program Putty i po ok. 2 – 3 minutach ponownie łączymy się sesją terminalową do RPi.
Wydajemy komendę instalacji wymaganych programów i bibliotek i idziemy na kawę – instalacja trwa dobrych kilka minut:
sudo apt-get install -y mc git libssl-dev bc python3-pip supervisor
Instalujemy skrypt bluepy niezbędny do komunikacji BLE z czujnikami Xiaomi:
pip3 install bluepy
III. INSTALACJA I KONFIGURACJA SUPLA VIRTUAL DEVICE
Supla Virtual Device to program, którego zadaniem jest odczyt danych z plików i wysłanie tych danych na serwer Supla Cloud. Oczywiście jest to bardzo potężne uproszczenie zrobione na potrzeby niniejszego poradnika. Osoby zainteresowane innymi funkcjonalnościami Supla Virtual Device odsyłam na GitHub Łukasza. Program jest rozwinięciem pomysłu kolegi Wojtka Supla FileSensors.
Program po konfiguracji i uruchomieniu tworzy wirtualne urządzenie z kanałami określonymi przez nas w konfiguracji Supla Virtual Device. Instalacja polega na wykonaniu poniższych komend (każdej po kolei):
sudo apt-get update
git clone https://github.com/lukbek/supla-virtual-device.git
cd supla-virtual-device
./install.sh
Po zainstalowaniu niezbędnych składników należy skonfigurować Supla Virtual Device. W tym celu edytujemy plik supla-virtual-device.cfg poleceniem:
nano supla-virtual-device.cfg
Plik konfiguracyjny zawiera sporo przykładowych, obsługiwanych przez program kanałów. Zalecam usunięcie całej zawartości tego pliku i wklejenie poniższego przykładu (oczywiście odpowiednio dla ilości posiadanych czujników). Numeracja kanałów [CHANNEL_X] musi zaczynać się od 0, numery kanałów nie mogą się powtarzać. Przykładowa zawartość pliku konfiguracyjnego dla 4 szt. czujników Xiaomi:
[GLOBAL]
device_name=BRAMKA LB-SVD
[SERVER]
host=svrXX.supla.org
protocol_version=12
[AUTH]
email=twojemaildokontasupla@domena.com
[CHANNEL_0]
function=TEMPERATURE_AND_HUMIDITY
file=/home/pi/supla-mi-th/sensor_th0.txt
battery_powered=1
#file_write_check_sec=120
[CHANNEL_1]
function=TEMPERATURE_AND_HUMIDITY
file=/home/pi/supla-mi-th/sensor_th1.txt
battery_powered=1
#file_write_check_sec=120
[CHANNEL_2]
function=TEMPERATURE_AND_HUMIDITY
file=/home/pi/supla-mi-th/sensor_th2.txt
battery_powered=1
#file_write_check_sec=120
[CHANNEL_3]
function=TEMPERATURE_AND_HUMIDITY
file=/home/pi/supla-mi-th/sensor_th3.txt
battery_powered=1
#file_write_check_sec=120
Oczywiście nazwę hosta (treść po host=) oraz adres e-mail którym logujemy się do konta Supla Cloud (treść po email=) zmieniamy na zgodne ze swoim kontem Supla Cloud (nazwa hosta dostępna jest po zalogowaniu do Cloud na głównym ekranie na żółtej kopercie) Zmiany zapisujemy klawiszami Ctrl + O i Enter, a z edytora Nano wychodzimy klawiszami Ctrl + X.
Przechodzimy do głównej gałęzi katalogu domowego poleceniem:
cd
Tworzymy katalog, w którym będą zapisywane dane pomiarowe z naszych czujników poleceniem:
mkdir supla-mi-th
W katalogu supla-mi-th tworzymy cztery pliki z przykładowymi danymi pomiarowymi. W pierwszym wierszu podajemy temperaturę w formacie xx.x, w drugim wierszu wilgotność w formacie xx, a w trzecim wierszu poziom baterii w formacie xx. Pliki tworzymy poleceniem:
nano supla-mi-th/sensor_th0.txt
Czynność powtarzamy zmieniając nazwę pliku od sensor_th0.txt do sensor_th3.txt.
Jesteśmy już prawie gotowi na uruchomienie Supla Virtual Device. W tym celu musimy zezwolić na rejestrowanie nowych urządzeń na naszym koncie w Supla Cloud. Teraz pozostaje nam przejść do katalogu supla-virtual-device i uruchomić program:
cd supla-virtual-device
./supla-virtual-device
Na ekranie terminala powinniśmy zobaczyć podobną treść:
pi@raspberrypi:~/supla-virtual-device $ ./supla-virtual-device
SUPLA-VIRTUAL-DEVICE v1.0.3
INFO[1583089711.45312] SSL version: OpenSSL 1.1.1d 10 Sep 2019
A na naszym koncie Supla Cloud powinniśmy mieć zarejestrowane urządzenie o nazwie BRAMKA-LB-SVD (lub zgodne z nazwą wprowadzoną w pliku supla-virtual-device.cfg).
Na chwilę przerywany działanie programu klawiszami Ctrl + C. Wykonamy teraz konfigurację automatycznego startu programu, abyśmy po ponownym uruchomieniu RPi nie musieli ręcznie uruchamiać Supla Virtual Device. Nasz program będzie działał w tle jako proces.
W tym celu zainstalowaliśmy wcześniej komendą apt-get install program Supervisor. Teraz musimy poprawnie go skonfigurować. Edytujemy plik supervisord.conf poleceniem z podniesionymi uprawnieniami:
sudo nano /etc/supervisor/supervisord.conf
Odnajdujemy i zmieniamy wpis chmod=0700 na chmod=0770 oraz po tym wierszu dodajemy nowy wiersz z wpisem chown=root:pi.
Sekcja [unix_http_server] powinna wyglądać następująco:
[unix_http_server]
file=/var/run/supervisor.sock ; (the path to the socket file)
chmod=0770 ; sockef file mode (default 0700)
chown=root:pi
Zapisujemy Ctrl + O oraz Enter i zamykamy edytor klawiszami Ctrl + X.
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
Powinniśmy zobaczyć na ekranie terminala podobną treść:
supla-virtual-device RUNNING pid 2884, uptime 0:00:14
Pozostałe ważne polecenia dotyczące działających programów w tle:
supervisorctl status
supervisorctl stop nazwa-programu np.: supervisorctl stop supla-virtual-device
supervisorctl start nazwa-programu np.: supervisorctl start supla-virtual-device
supervisorctl restart nazwa-programu np.: supervisorctl restart supla-virtual-device
Myślę, że polecenia są zrozumiałe i nie wymagają tłumaczenia.
IV. INSTALACJA I KONFIGURACJA ODCZYTÓW CZUJNIKÓW BLE XIAOMI
W pierwszej kolejności musimy poznać adresy MAC posiadanych przez nas czujników LYWSD03MMC. Jeśli posiadamy kilka czujników, najlepiej uruchamiać je po kolei. Aby poznać MAC uruchamiamy polecenie:
sudo hcitool lescan
Na ekranie terminala powinniśmy zobaczyć podobną treść:
pi@raspberrypi:~/supla-virtual-device $ sudo hcitool lescan
LE Scan ...
00:C3:F4:F6:C3:15 (unknown)
00:C3:F4:F6:C3:15 [TV] Samsung 7 Series (50)
58:2D:34:36:3A:A8 (unknown)
58:2D:34:36:3A:A8 LYWSD03MMC
Kopiujemy do notatnika MAC Address każdego czujnika najlepiej oznaczając go (np. markerem od spodu), tak aby mieć później pewną wiedzę, gdzie montujemy dany czujnik. Mając adresy MAC wszystkich czujników przechodzimy do katalogu supla-mi-th i uruchamiamy następujące polecenia:
wget https://raw.githubusercontent.com/JsBergbau/MiTemperature2/master/LYWSD03MMC.py
echo '#!/bin/bash' > save-to-file.sh
echo 'echo $3 > sensor_$2.txt' >> save-to-file.sh
echo 'echo $4 >> sensor_$2.txt' >> save-to-file.sh
echo 'echo $6 >> sensor_$2.txt' >> save-to-file.sh
chmod +x LYWSD03MMC.py save-to-file.sh
Teraz pozostaje utworzyć pliki konfiguracyjne dla czterech procesów odczytujących dane z czterech czujników poleceniem:
sudo nano /etc/supervisor/conf.d/mi-th0.conf
Zawartość pliku (w miejsce xx:xx:xx:xx:xx:xx wpisujemy rzeczywisty adres MAC czujnika):
[program:mi-th-0]
command=python3 ./LYWSD03MMC.py --device xx:xx:xx:xx:xx:xx --battery --round --debounce --name th0 --callback save-to-file.sh
directory=/home/pi/supla-mi-th
autostart=true
autorestart=true
user=pi
Czynności należy powtórzyć dla pozostałych czujników pamiętając o zmianie parametrów [program:mi-th-0] (th-0 do th-3), oraz –name th0 (th0 do th3).
Po zapisaniu wszystkich plików restartujemy supervisor i sprawdzamy działanie w tle programów.
sudo service supervisor restart
supervisorctl status
Powinniśmy mieć uruchomione w tle następujące procesy:
pi@RPi-2:~ $ supervisorctl status
mi-th-1 RUNNING pid 3074, uptime 2 days, 0:32:09
mi-th-2 RUNNING pid 445, uptime 2 days, 1:06:49
mi-th-3 RUNNING pid 442, uptime 2 days, 1:06:49
mi-th-4 RUNNING pid 451, uptime 2 days, 1:06:48
supla-virtual-device RUNNING pid 16223, uptime 1 day, 6:50:29
Uważny czytelnik pewnie zauważył zakomentowane (znak #) linie w pliku konfiguracyjnym supla-virtual-device.cfg. Parametr file_write_check_sec=120 określa, ile czasu w sekundach skrypt Supla Virtual Device ma czekać na nowe dane ze skryptu LYWSD03MMC.py i w przypadku braku tych danych wysłać do Cloud specjalne wartości oznaczające brak odczytu.
Edytujemy zatem supla-virtual-device.cfg usuwając znaki #, zapisujemy plik i restartujemy usługę supla-virtual-device poleceniem
supervisorctl restart supla-virtual-device
Osobom zainteresowanym uruchomieniem czujników Xiaomi Mijia LYWSD03MMC w Domoticz’u polecam artykuł na blogu Wojciecha Grylewicza: https://grylewicz.pl/domoticz-5-obsluga-termometrow-xiaomi-mijia-lywsd03mmc-bluetooth/
UWAGA!
Powyższy artykuł został uaktualniony wraz z aktualizacją skryptu Supla Virtual Device z dnia 1 września 2020 r.
Sposób aktualizacji skryptu dla osób mających zainstalowaną wcześniejszą wersję (bez obsługi statusu baterii) opisałem w tym artykule.




Właśnie przyszły części z dalekiego kraju, przeszły kwarantannę i udało się uruchomić zgodnie instrukcją krok po kroku. Opis zrobiony super. Działa rewelacyjnie. Teraz jestem ciekawy jak długo wytrzymają baterie w termometrach. Bardzo dziękuję za podzielenie się swoim pomysłem i pracą z innymi.
Bardzo dziękuję za tak miłą ocenę oraz zwrotną informację, że wszystko działa. U mnie jak do tej pory baterie we wszystkich czujnikach nie były jeszcze wymieniane. Czujniki działają non stop od 1 marca 2020. Jak dla mnie jest to rewelacyjny wynik. Należy pamiętać, że na żywotność baterii mocno wpływa odległość czujników od bramki. Ja mam czujniki rozmieszczone w mieszkaniu jednopoziomowym, a bramka jest praktycznie w centralnym punkcie mieszkania.
Witam. Czy mając termometr bez bramki będę mógł sprawdzić historyczną temperaturę na smartfonie? Czy każdy pomiar zapisywany jest w pamięci termometru, a następnie przesyłany jest do telefonu?
Tak, jest aplikacja od Xiaomi do obsługi tych czujników po Bluetooth i jest w niej zapisywana historia. Nie wiem (nie sprawdzałem) co ile czasu należy synchronizować smartfon z czujnikiem.
Jak długo będzie działać bateria w termometrze, który nie jest sparowany z żadnym urządzeniem? Czy nie sparowany termometr też wysyła co 6 sekund odczyt temperatury?
Xiaomi (producent) podaje, że przy standardowym użytkowaniu przy sparowaniu ze smartfonem bateria powinna wytrzymać 1 rok, więc bez aktywnego BT tym bardziej powinna ten rok wytrzymać.
Dzień dobry,
bardzo ciekawy poradnik. Mam pytanie: co wyświetli się w aplikacji supli, jeśli użyjemy funkcji file_write_check_sec, a czujnik się rozładuje?
Wyświetli w miejscu wartości znaki — jako brak wartości.
Nie lepiej wziąć jakiś wyższy model raspberrry? Te 512 ramu to tylko do prostych zastosowań.
Opis fajny, zamówiłem pi4 i czekam na dostawę, zobaczymy czy się uda 🙂
W RPi Zero W (lub nowszy 2W) ma sprawdzony moduł BT z dosyć dużym zasięgiem. Nie testowałem w tym zagadnieniu RPi 4.
Witam. Od jakiegoś tygodnia próbuje uruchomić te czujniki na supli, wszystko robię zgodnie z instrukcja krok po kroku, w supli pojawiają się pola temp itp ale bez przerwy brak wartości, mam kupione dwa czujniki , czy jest możliwość żeby te oto czujniki nie łączyły się z raspberrym? Brak wyświetlania na nich ikonki połączonego bt, czy mi coś może umykać, i powtarzam ciągle ten sam błąd, jestem początkujący w tych tematach , więc różnie może być 😉 Za wszelkie rady, sugestie byłbym wdzięczny, Pozdrawiam
Proszę sprawdzić, czy w plikach tekstowych
/supla-mi-th/sensor_th0.txt
/supla-mi-th/sensor_th1.txt
są wartości odczytane z czujników Xiaomi.
Hmm są te wartości które podałem jako przykladowe, po dwie linie jak w opisie. I jeszcze jedno, jak zrobię tak jak napisano pod koniec artykułu
(Edytujemy zatem supla-virtual-device.cfg usuwając znak #, zapisujemy plik i restartujemy usługę supla-virtual-device poleceniem) jak znak nie jest usunięty to wyświetla mi te wartości które podałem jako przykladowe, a jak go usunę to dane są wykreskowane
To oznacza, że nie są zapisywane dane z czujników do plików tekstowych.
proszę „wejść” do katalogu supla-mi-th (cd supla-mi-th) i uruchomić komendę
python3 ./LYWSD03MMC.py –device xx:xx:xx:xx:xx:xx –round –debounce –name th0 –callback save-to-file.sh
W miejsce xx proszę podstawić adres MAC swojego czujnika.
Nic z tego taki oto komunikat:
pi@raspberrypi:~/supla-mi-th $ python3 ./LYWSD03MMC.py –device a4:c1:38:5a:00:ba –round –debounce –name th0 –callback save-to-file.sh
python3: can’t open file ’./LYWSD03MMC.py’: [Errno 2] No such file or directory
pi@raspberrypi:~/supla-mi-th $
Wysłałem e-mail.
Witam.
Zrobiłem wszystko według pana instrukcji i cały czas mam taki komunikat.
pi@raspberrypi:~/supla-mi-th $python3 ./LYWSD03MMC.py –device A4:C1:38:38:FB:26 –round –debounce –name th0 –callback save-to-file.sh
Trying to connect to A4:C1:38:38:FB:26
Connection lost
Waiting…
Trying to connect to A4:C1:38:38:FB:26
Connection lost
I tak non stop.
Bardzo proszę o pomoc.
Coś chyba nie do końca Pan zrobił zgodnie z instrukcją, bo nie dodał Pan choćby parametru –battery przy wywoływaniu odczytu.
Ma pan rację. I jak wysłałem post to wtedy dojrzałem aktualizację. Przepraszam za zamieszanie .
Nie ma za co. Ważne że się udało 🙂
Witam , mam ten sam problem co kolega Janki brak wyswietlonych wartosci i
python3 ./LYWSD03MMC.py –device A4:C1:38:4F:2C:0F –round –debounce –name th0 –callback save-to-file.sh
python3: can’t open file ’./LYWSD03MMC.py’: [Errno 2] No such file or directory
Proszę wykonać te instrukcje:
cd supla-mi-th
wget https://raw.githubusercontent.com/JsBergbau/MiTemperature2/master/LYWSD03MMC.py
echo '#!/bin/bash' > save-to-file.sh
echo 'echo $3 > sensor_$2.txt' >> save-to-file.sh
echo 'echo $4 >> sensor_$2.txt' >> save-to-file.sh
echo 'echo $6 >> sensor_$2.txt' >> save-to-file.sh
chmod +x LYWSD03MMC.py save-to-file.sh
Cześć,
Mam problem. Raspberry nie łączy się z wifi. Dhcp nie przydziela żadnego nowego adresu. Po wyłączeniu urządzenia i przepięciu karty do kompa dwa utworzone pliki znikają. Ssid i halo bankowo poprawne. Czy można jakoś zinterpretować stan raspberry za pomocą diody albo co można z tym przypadkiem zrobić?
A to na 100% jest model RPi Zero W?
O jaaa. Faktycznie nie ten model zamówiłem 🤪
Wszystko pięknie działa. Pytanie o ograniczenia. Ile max czujników to rozwiązanie jest w stanie obsłużyć?
U mnie obsługuje 5 czujników, ale znam instalację z 9 czujnikami i działa bez problemów. Przy większej ilości zaleca się przejść na alternatywny firmware dla LYWSD03MMC – ATC firmware.
Nie aktualne. Ogarnąłem.
Cześć, zmagam się z dodaniem urządzeń do virtual-device. Otrzymuje taki oto komunikat błędu:
pi@SUPLA:~ $ supervisorctl status
mi-th-0 BACKOFF Exited too quickly (process log may have details)
Mogę liczyć na pomoc?
Cześć,
Czy temat jeszcze aktualny?
Bo zdaje się otrzymałeś odpowiedź na Forum 🙂
Witam.
Czy jeśli na RPI mam postawioną Supla to czy na tej samej malince mogę postawić Supla Virtual Device?
Powinno się dać podając w konfiguracji SVD adres serwera jako localhost.
Dziekuje
Peratda,
Niezmiernie dziekuje za ten poradnik, super to działa.
Pytanko jak do tego dodać temperature Rpi Zero ?
Do Crona dodać taką linijkę
*/1 * * * * vcgencmd measure_temp | egrep -o '[0-9]*\.[0-9]*' > /home/pi/supla-rpi-state/rpi-temp.txtOczywiście należy wcześniej utworzyć katalog supla-rpi-state.
Cześć, Pytanie czy ktoś testował realny zasięg? Gdzieś spotkałem sie z opinią, że max 4m.
W mieszkaniu (ok. 7m2) mam 5 szt. Bramka na Raspberry Pi Zero W. Nie mam żadnych problemów z zasięgiem. U mnie największa odległość czujnika od bramki to ok. 7 m przez dwie ściany działowe.
Super opis. Wszystko działa. Mam jednak pytanie jak sprawdzić moc sygnału podłączonych Xiaomi LYWSD03MMC
Dziękuję za miłą opinię. Odnośnie pomiaru siły sygnału, to niestety wykorzystany skrypt LYWSD03MMC.py wymaga alternatywnego firmware do czujników Xiaomi aby móc obsłużyć pomiar siły sygnału. Tu jest opis: https://github.com/JsBergbau/MiTemperature2
Witam.
Co może być przyczyną?
pi@raspberry:~/supla-mi-th $ supervisorctl status
mi-th-0 FATAL Exited too quickly (process log may have details)
mi-th-1 FATAL Exited too quickly (process log may have details)
supla-virtual-device RUNNING pid 3473, uptime 0:03:32
pi@raspberry:~/supla-mi-th $
Pozdrawiam
Coś źle skonfigurowałeś. Proponuję zrobić format karty i powoli ustawiać sobie wszystko od nowa. Jeśli się nie uda, zapraszam wtedy do kontaktu telefonicznego. Pomogę.
Ps. Numer telefonu jest w zakładce Prawa autorskie i kontakt.
Witam. Zrobiłem wszystko z poradnikiem i działa 🙂
Problemem jest tylko zrywanie połączenia z serwerem supla(czerwone kropki przy czujniki).
Dzieje się tak po zmianach w Cloud Supla.
Co może być przyczyną takiego stanu rzeczy.
Pozdrawiam
Grzegorz
Witam,
Przy jakichkolwiek zmianach w Supla Cloud zawsze na chwilę robią się czerwone kropeczki. Ale po kilku sekundach wszystko wraca do normy. Czy u Ciebie samoistnie nie jest przywracane połączenie?
Witam
Bardzo fajny poradnik udało mi się uruchomić 8 czujników mimo że Malinke miałem pierwszy raz w rękach. Mam jednak pytanie odnośnie monitoringu temperatury samego Raspberry Pi Zero.
Napisałeś w poprzedniej odpowiedzi:
Do Crona dodać taką linijkę */1 * * * * vcgencmd measure_temp | egrep -o '[0-9]*\.[0-9]*’ > /home/pi/supla-rpi-state/rpi-temp.txt
Oczywiście należy wcześniej utworzyć katalog supla-rpi-state.
Czy mógłbyś to jaśniej opisać co i gdzie dokładnie dopisać żeby mieć również podgląd temperatury Pi Zero w Supli bo jestem zielony jeśli chodzi o Rpi
Dzieki
Miło mi, że udało Ci się wraz z pierwszym kontaktem z RPi uruchomić bramkę. Gratuluję.
1. Tworzymy katalog
mkdir supla-rpi-state2. Wpisujemy polecenie
crontab -e3. Na końcu pliku dodajemy wiersz
*/1 * * * * vcgencmd measure_temp | egrep -o ‘[0-9]*\.[0-9]*’ > /home/pi/supla-rpi-state/rpi-temp.txt4. Możemy też w następnej linii dodać polecenie restartujące usługę supla-virtual-device codziennie o godzinie 5:00. Usługa ta przy większej ilości czujników lubi się po kilku dniach zawiecić
0 5 * * * supervisorctl restart supla-virtual-device5. Przechodzimy do katalogu supla-virtual-device i edytujemy plik konfiguracyjny
cd supla-virtual-devicenano supla-virtual-device
Dodajemy w konfiguracji kolejny kanał.
[CHANNEL_7]#RPi-Temperature
function=TEMPERATURE
file=/home/pi/supla-rpi-state/rpi-temp.txt
Na koniec restartujemy nasze RPi poleceniem
sudo reboot nowW Supla Cloud powinien pojawić się kolejny kanał z temperaturą naszego Raspberry Pi.
Dziekuje.
Zrobiłem wszystko według w Supla Cloud pojawił się nowy kanał z temperaturą jednak wyświetla cały czas wartość 0.
Co może być tego przyczyną?
Po otwarciu pliku rpi-temp.txt nie było w nim nic. Wpisałem tam przykładową wartość temperatury (10.1) i teraz w Cloud-zie ten kanał pozostał na tej wartości. Natomiast po ponownym otwarciu rpi-temp znów jest pusty.
w Croni-e poza komentarzami nie było nic wiec na końcu dodałem tylko tą linie z odczytem temperatury.
Czy polecenie w Cronie masz wpisane w jednej linii?
Sprawdź, czy działa Ci pomiar temperatury wpisując w terminalu
vcgencmd measure_tempDziała, sprawdzałem to od razu, zapomniałem o tym wspomnieć.
To jeszcze
sudo service cron startProszę o info, czy pomogło.
Wczoraj uruchomiłem taki zestaw tylko na RasPi 4 i działa od strzału.
Pomyślałem jeszcze żeby Pańską stację pogody dodać do Supla. Założenie takie ze wysyłała by dane do rasbi (tak jak teraz co 6 min) a my mielibyśmy dostęp do tego przez SVD.
jestem początkowym użytkownikiem raspi i nie wiem czy to sam ogarnę 😉
Z dodawaniem stacji pogody do Supli proponuję się wstrzymać, aż zostanie uruchomiony kanał uniwersalny. Aktualnie nie ma np. kanału dotyczącego nasłonecznienia i trzeba się posiłkować kanałem temperatury. A w nim wyświetlana jest jednostka temperatury.
jasne, poczekamy,
ale nachwilę obecną zrobiłem na wemosie+BME280 wszystko w obudowie zasilacza takie COŚ ;), siedzi w zewnętrznym gniazdku i wysyła dane do SUPLI – niestey zużywając niepotrzebne waty energii, a stacja z panelem bezczynna, ale myślę, że jak zgłębię tajemnice skryptów w raspberrypi to może (używając bramki SUPLA) uda mi sie zapisywać temp i wilgotoność do pliku tekstowego i dalej do SUPLI.
Co do nasłonecznienia to można by go wysyłaś osobnym kanałem jako wilgotność i przeliczyć na % – tylko ile to 100% ;).
Witam,
Nie mogę przejść etapu ssh i wpa_supplicant.conf – wszystko zrobiłem OK. Raspberry nie chce się podłączyć do Wi-fi 2,4. Czy ktoś miał może podobny problem? Z góry dziękuję za odpowiedź.
Okazało się, że sprzedający pomylił Pi Zero – ten był bez Wifi 🙂
Zastanawiałem się, co może być przyczyną. Ale na to, że jest pomylony model RPi to bym nie wpadł 😉
Panie Robercie, bardzo dziękuję za tak fajny blog i szczegółowy opis jak podłączyć Xiaomi LYWSD03MMC do Supla. Nawet osobie, która na co dzień nie ma nic wspólnego z elektroniką udało się wszystko podłączyć (i jaka radość 🙂 ). Ps. Mam pytanie, czy można gdzieś zmienić czas odczytu temperatury, np. żeby była odczytywana raz na godzinę?
Dziękuję za miły komentarz 🙂
Skrypt LYWSD03MMC.py nie przewiduje zmian interwału odpytywania czujników. Aby zrobić odczyt co godzinę, należałoby wyłączyć działanie skryptu jako usługi (SUPERVISOR), komendy odczytujące czujniki umieścić w zadaniach CRON.
Też o tym ostatnio myślałem. U mnie ogólnie pojawił się problem bardzo szybko znikającej baterii w czujnikach. Działają dosłownie 2-3tyg, mimo tego że czujniki nie znajdują się daleko od bramki, oraz nie ma ścian i innych przeszkód. Dla mnie to dyskwalifikuje tą metodę, bo nie chce mi się co chwilę biegać i zmieniać bateryjki. Wystarczyłoby odpytanie raz na 30min i nie podtrzymywanie ciągłego połączenia.
Odpowiem trochę sam sobie, ale może komuś się przyda.
Wrzuciłem na czujniki alternatywny soft: https://github.com/pvvx/ATC_MiThermometer
Wszystko jest bardzo fajnie opisane na powyższym githubie. Ogromną zaletą tego softu jest duża możliwość konfiguracji, szczególnie pod kątem optymalizacji czasu pracy na baterii.
Czujniki należy skonfigurować aby nadawały tylko w formacie Atc1441 (opis tutaj: https://github.com/JsBergbau/MiTemperature2#atc-mode-usage )
Następnie zmieniłem sposób odpalania skryptu ./LYWSD03MMC.py żeby czytał czujniki atc, aby to zrobić należy:
– wykonać prerequisites wg: https://github.com/JsBergbau/MiTemperature2#requirements-for-reading-xiaomi-temperature-and-humidity-sensor-with-atc-firmware
– ściągnąć plik: https://github.com/JsBergbau/MiTemperature2/blob/master/bluetooth_utils.py i umieścić w tym samym miejscu co LYWSD03MMC.py
– usunąć z cat /etc/supervisor/conf.d/ wszystkie configi dla mi-th*.conf
– utworzyć nowy config /etc/supervisor/conf.d/mi-atc.conf z zawartością:
[program:mi-atc]
command=python3 ./LYWSD03MMC.py –atc –battery –callback save-to-file.sh
directory=/home/pi/supla-mi-th
autostart=true
autorestart=true
user=pi
– zrestartować supervisora
Po tych krokach w katalogu gdzie wcześniej pojawiały się wpisy czujników sensor_th*.txt zaczną pojawiać się wpisy typu: sensor_A4:C1:38:59:B3:AE.txt itp (każdy sensor będzie miał swój plik z adresem w nazwie).
Powyższe pliki należy ustawić odpowiednio w supla-virtual-device.cfg i gotowe.
Bardzo dziękuję za tak obszerny i dokładny opis. Pozdrawiam.
Na jakim sprzęcie udało Ci się uruchomić o rozwiązanie?
Ja próbuję na Pi Zero W i napotkałem niestety problem:
python3 ./LYWSD03MMC.py –atc generuje „illegal instruction”, nic nie pomaga, łącznie z reinstalacją systemu 🙁
pozdrawiam
problem rozwiązany – zgłosiłem issue i autor skryptu znalazł przyczynę – winną okazała się biblioteka pycryptodomex 3.12 – zmiana na 3.11 rozwiązała problem.
Wielkie dzięki za informację zwrotną. Ja nie uruchamiałem trybu ATC, więc nie doświadczyłem tego problemu.
łukasz moge sie z Tobą skontaktować jakos ?
Panie Robercie,
Nawiązując do Supla Virtual Device chciałbym zapytać o możliwość podłączenia (sparowania) inwertera Sofar Solar. Do tej pory mam MEW-01 i oraz Sonoff TH16 na supli lokalnie w kontenerze na Rpi2B jednak chcę mieć odczyty z inwertera. Prośba o pomysł jak to zrobić gdyż tam jest napisany program który wysyła ramkę po MQTT (nie w standardzie supla z tego co widziałem) i chciałbym go mieć w serwerze supli.
https://github.com/pawelka/sofarsolar_esp_rs485_logger
Właśnie jestem po skonfigurowaniu całości i musze powiedzieć mega poradnik. Pierwszy raz to robiłem i super. W paru miejscach jedynie trzeba było wrócić do tego co w jaki sposób się robiło wcześniej ale taki laik jak ja sobie nawet z tym poradził. Super poradnik Robercie 😉
Dzięki za miłą opinię 🙂
Czy jest jakaś możliwość ze RPI mi sie zablokował? Widzę u siebie że po czasie potrafi mi się rozłączyć z routerem na np 30 min i potem podłącza ponownie. Chciałem jeszcze raz się połączyć przez PUTTY ale po wpisaniu adresu ip jak zawsze urządzenie w ogóle nie reaguje. Mam komunikat timeout i nie da się pingować
A po jakim czasie od uruchomienia RPi się rozłącza? Jeśli jest to jakiś nieregularny czasookres, to problemem może być karta SD.
Ja mam w CRON ustawiony codzienny restart o 4:00 w nocy i takie rozwiązanie u mnie się bardzo dobrze sprawdza.
Co do rozłączania to różnie czasami są to patrząc na wykres 3h pomiarów i potem brak na chwile znowu np 40 min pomiarów brak itd. ale jak sprawdzalem status komendą supervisorctl status przez putty to miałem że skrypty działają już np 10 godzin a ostatnią przerwa w połączeniu z Suplą nastąpiła np 5h temu na ok 10-30 min zatem wychodzi na to że RPI działał w tle gadał z czujnikami ale coś się stało i się rozłączył. Kartę SD kupowałem nawet nie najgorszą :/
Świetna robota i poradnik. W najbliższym czasie zabieram się za wdrożenie u siebie.
u mnie był ten sam problem, pusty plik pomimo ze cron dzialal w tle poprawnie. Kazde wpisanie jakiejs wartosci faktycznie sprawialo ze po chwili plik byl czysty bo co minute skrypt zle zapisywal wartosci. Po zglebieniu kilkunastu stron o RPI (bo nie jestem programista przynajmniej nie takiego jezyka) zmienilem polecenie na
*/1 * * * * vcgencmd measure_temp | egrep -o [0-9][0-9].[0-9] > /home/pi/supla-rpi-state/rpi-temp.txt
i zadzialalo 🙂
Można prosić o wypisanie dokładnych komend w przypadku użycia alternatywnego softu w czujnikach. Po prostu krok po kroku Z góry dziękuje.
Ja nie wykorzystuję alternatywnego firmware w czujnikach, więc nie będę się wypowiadał w temacie.
Rozumiem. Ja kompletuje wszystkie elementy a jak jest z tymi bateriami . Jak długo wytrzymują na takim zestawieniu jak Pan przygotował. A o rozpisanie komend myślałem o Łukaszu z forum , który zaproponował to rozwiązanie oczywiście jak by mógł . Bo słabo u mnie z tymi poleceniami ;-). Czytają Pana poradnik myślę że sobie poradzę bo wygląda to łatwo.
Witam, raspberry pi zero 2 WH, dochodzę do momentu wpisania: cd supla-virtual-device
./supla-virtual-device
otrzymując komunikat: -bash: ./supla-virtual-device: No such file or directory
Proszę o pomoc. Dziękuję
Mam ten sam problem czy coś sie zmieniło od powstania poradnia czy też robie coś źle proszę o pomoc.
Witam,
Proszę zapoznać się z tym wątkiem: https://forum.supla.org/viewtopic.php?p=107769#p107769
Nie mam aktualnie żadnego wolnego Raspberry aby to osobiście sprawdzić.
Dziękuje za tak szybka pomoc będę komponował coś może się uda 😀
Udało uruchomić sie program SVD dzięki koledze z forum supla . Ale teraz mam same kreski w odczycie i taki komunikat w putty
pi@raspberrypi:~/supla-mi-th $ python3 ./LYWSD03MMC.py –device A4:C1:38:93:BF:3C –round –debounce –name th0 –callback save-to-file.sh
———————————————
MiTemperature2 / ATC Thermometer version 4.0
———————————————
Please read README.md in this folder. Latest version is available at https://github.com/JsBergbau/MiTemperature2#readme
This file explains very detailed about the usage and covers everything you need to know as user.
usage: LYWSD03MMC.py [-h] [–device AA:BB:CC:DD:EE:FF] [–battery ] [–count N] [–interface N] [–unreachable-count N] [–mqttconfigfile MQTTCONFIGFILE] [–round]
[–debounce] [–offset OFFSET] [–TwoPointCalibration] [–calpoint1 CALPOINT1] [–offset1 OFFSET1] [–calpoint2 CALPOINT2] [–offset2 OFFSET2]
[–callback CALLBACK] [–httpcallback HTTPCALLBACK] [–name NAME] [–skipidentical N] [–influxdb N] [–atc] [–watchdogtimer X]
[–devicelistfile DEVICELISTFILE] [–onlydevicelist] [–rssi]
LYWSD03MMC.py: error: unrecognized arguments: –device A4:C1:38:93:BF:3C –round –debounce –name th0 –callback save-to-file.sh
Co począć w takiej sytuacji ?
Działa Działa 🙂 Wystarczyło włączyć na chwile Raspberry. Dziękuję za pomoc
Dzień Dobry
Udało się rozwiązać problem SVD
cd supla-virtual-device
./supla-virtual-device
otrzymując komunikat: -bash: ./supla-virtual-device: No such file or directory
pomógł kolega skutacz z forum supli. Należy dopisać w 36 lini plik src/supla-dev/src/pi_2_mmio.h słowo „extern tak ma potem wyglądać ta linia
extern volatile uint32_t* pi_2_mmio_gpio;
Tu jest krok po kroku. Może komuś się przyda.
W etapie III. INSTALACJA I KONFIGURACJA SUPLA VIRTUAL DEVICE
tutaj masz kopie co robiłem w putty przejrzyj sobie i zrób krok po kroku to samo na pewno ruszy
pi@raspberrypi:~ $ sudo apt-get update
Hit:1 http://raspbian.raspberrypi.org/raspbian bullseye InRelease
Hit:2 http://archive.raspberrypi.org/debian bullseye InRelease
Reading package lists… Done
pi@raspberrypi:~ $ git clone https://github.com/lukbek/supla-virtual-device.git
Cloning into 'supla-virtual-device’…
remote: Enumerating objects: 71, done.
remote: Counting objects: 100% (71/71), done.
remote: Compressing objects: 100% (64/64), done.
remote: Total 71 (delta 38), reused 11 (delta 3), pack-reused 0
Receiving objects: 100% (71/71), 18.86 KiB | 212.00 KiB/s, done.
Resolving deltas: 100% (38/38), done.
pi@raspberrypi:~ $ cd supla-virtual-device
pi@raspberrypi:~/supla-virtual-device $ ls
install.sh README.md supla-virtual-device.cfg.sample var
pi@raspberrypi:~/supla-virtual-device $ ./install.sh
Getting the sources.
hint: Pulling without specifying how to reconcile divergent branches is
hint: discouraged. You can squelch this message by running one of the following
hint: commands sometime before your next pull:
hint:
hint: git config pull.rebase false # merge (the default strategy)
hint: git config pull.rebase true # rebase
hint: git config pull.ff only # fast-forward only
hint:
hint: You can replace „git config” with „git config –global” to set a default
hint: preference for all repositories. You can also pass –rebase, –no-rebase,
hint: or –ff-only on the command line to override the configured default per
hint: invocation.
Building. Be patient.
pi@raspberrypi:~/supla-virtual-device $ ls
install.sh README.md src supla-virtual-device.cfg.sample var
pi@raspberrypi:~/supla-virtual-device $ cd src
pi@raspberrypi:~/supla-virtual-device/src $ cd supla-dev
pi@raspberrypi:~/supla-virtual-device/src/supla-dev $ cd src
pi@raspberrypi:~/supla-virtual-device/src/supla-dev/src $ nano pi_2_mmio.h
pi@raspberrypi:~/supla-virtual-device/src/supla-dev/src $ cd ..
pi@raspberrypi:~/supla-virtual-device/src/supla-dev $ cd ..
pi@raspberrypi:~/supla-virtual-device/src $ cd ..
pi@raspberrypi:~/supla-virtual-device $ ./install.sh
Getting the sources.
hint: Pulling without specifying how to reconcile divergent branches is
hint: discouraged. You can squelch this message by running one of the following
hint: commands sometime before your next pull:
hint:
hint: git config pull.rebase false # merge (the default strategy)
hint: git config pull.rebase true # rebase
hint: git config pull.ff only # fast-forward only
hint:
hint: You can replace „git config” with „git config –global” to set a default
hint: preference for all repositories. You can also pass –rebase, –no-rebase,
hint: or –ff-only on the command line to override the configured default per
hint: invocation.
Building. Be patient.
OK!
SUPLA-VIRTUAL-DEVICE v1.1.2
Sample configuration has been created for you (supla-virtual-device.cfg)
Adjust it to your needs before launching.
pi@raspberrypi:~/supla-virtual-device $
Resztę rzeczy wykonujemy zgodnie z poradnikiem.
Powodzenia. Mnie się udało 😉
Dzień dobry
Czy jest możliwość uruchomienia tej bramki i serwera supli na jednym Raspberry Pi Zero W ?
Dzień dobry,
Ja nie próbowałem. Jednak myślę, że RPi Zero W ma za mało zasobów na dodatkową obsługę serwera Supla.
Pozdrawiam
Robert
Dzień dobry,
Mam pytanie, czy jeśli posiadam QNAP’a I uruchomię tam instancję Linuxa, to czy będę mógł tam zainstalować supla virtual device w celu zczytywania danych z tych termometrow ? Będę wdzięczny za info.
Jeśli QNAP obsługuje Bluetooth Low Energy to pewnie tak. Osobiście nie testowałem.
Dzień dobry Proszę o informację gdzie mogę zakupić Raspberry Pi Zero W, wszędzie dostępna jest tylko wersja Raspberry Pi Zero 2 W?
Dziękuję za informację
Proszę sprawdzić w Botlandzie. Ale wersja 2 powinna bez problemu działać. Po nowym roku będę ją kupował i przetestuję.
Zrobiłem zgodnie z instrukcją i zadziałało!
Bardzo dziękuję za tak szczegółowy opis.
Dziękuję za miły komentarz.
Dzień dobry
Panie Robercie proszę o pomoc. Zakupiłem https://botland.com.pl/moduly-i-zestawy-raspberry-pi-zero/16723-zestaw-raspberry-pi-zero-wh-all-in-one-5904422352929.html
Doszedłem do momentu gdzie na routerze chce sprawdzić adres ale nie znajduje RPi. Po podłączeniu karty do komputera nie widzę na karcie pliku ssh
W czym może tkwić problem?
Dziękuję za pomoc
Dzień dobry,
Po instalacji systemu operacyjnego Raspbian na karcie microSD należy na partycji BOOT utworzyć dwa pliki:
ssh (plik bez żadnego rozszerzenia, zajmujący 0 KB),
wpa_supplicant.conf z danymi dostępowymi do naszej sieci Wi-Fi 2.4 GHz
Proszę sprawdzić, czy na 100% poprawnie wpisał Pan dane dostępowe do własnej sieci Wi-Fi i czy jest to sieć działająca na 2,4 GHz.
Utworzone pliki przy pierwszym uruchomieniu Raspberry z karty microSD są usuwane, a konfiguracja sieci i odblokowanie SSH są wprowadzone do OS Raspbian.
Plik ssh u mnie jest usuwany natomiast ten drugi pozostaje na karcie. Wyłączyłem sieć 5GHz jednak to nadal n ie pomogło. Czy fakt że mam kartę 120Gb może być problemem?
To proszę sprawdzić, czy nazwa tego pliku jest poprawna i czy zawartość pliku jest prawidłowa. Ten plik też powinien zostać usunięty przy poprawnej konfiguracji. Pojemność karty (lub dysku twardego) nie ma tu znaczenia.
Dziękuję za wcześniejszą pomoc. Problemem okazał się być automatyczne nadawane rozszerzenie plików .txt
Napotkałem na kolejny problem.
Poniżej komunikat:
pi@raspberrypi:~/supla-virtual-device $ ./supla-virtual-device
-bash: ./supla-virtual-device: No such file or directory
Czytając komentarze komuś pojawił podobny problem
Rozwiązanie:
Należy dopisać w 36 lini plik src/supla-dev/src/pi_2_mmio.h słowo „extern tak ma potem wyglądać ta linia
extern volatile uint32_t* pi_2_mmio_gpio;
Proszę o informację jak przejść w to miejsce. Nie ukrywam że jestem laikiem w tych sprawach.
Panie Robercie z wcześniejszym problemem udało mi się poradzić. Pozostałe kroki były nie sprawiły problemu. Jednak gdy wpisuję ostatnią komendę:
pi@raspberrypi:~/supla-mi-th $ supervisorctl status
wyświetla sie:
unix:///var/run/supervisor.sock no such file
Bramka i czujniki mają status rozłączony. (nie działają w tle).
Proszę o pomoc.
Panie Robercie z wcześniejszym problemem udało mi się poradzić. Pozostałe kroki były nie sprawiły problemu. Jednak gdy wpisuję ostatnią komendę:
pi@raspberrypi:~/supla-mi-th $ supervisorctl status
wyświetla sie:
unix:///var/run/supervisor.sock no such file
Bramka i czujniki mają status rozłączony. (nie działają w tle).
Proszę o pomoc.
Super czy byłby ktoś w stanie wykonać dla mnie taka bramkę? jacaxx1@gmail.com proszę o kontakt
Wysłałem wiadomość na podany e-mail.
Witam mam problem robię wszystko zgodnie z instrukcją ale mam takie coś
pi@raspberrypi:~/supla-virtual-device $ ./supla-virtual-device
-bash: ./supla-virtual-device: No such file or directory
i nie odpala wirtualnej maszyny jakby w tym folderze brakowało pliku.
Jestem laikiem jeśli chodzi o linuxa.
Jakiś pomysł gdzie popełniam błąd?
Już działa „otrzymując komunikat: -bash: ./supla-virtual-device: No such file or directory
pomógł kolega skutacz z forum supli. Należy dopisać w 36 lini plik src/supla-dev/src/pi_2_mmio.h słowo „extern tak ma potem wyglądać ta linia
extern volatile uint32_t* pi_2_mmio_gpio;”
to pomogło 🙂 super poradnik
Witam, planuje wdrożyć coś takiego, tylko czujniki by były w dwóch różnych budynkach co prawda przylegających do siebie ale jest kawałek pomiędzy dwoma pomieszczeniami, czy są jakieś czujniki które będą działać po Wi-Fi, bądź może jeszcze jakieś inne(lepsze) rozwiązanie Pan zaproponuje ?
Witam,
Nie są mi znane żadne czujniki temperatury/wilgotności z Wi-Fi działające na bateriach. Jeśli miałoby to być Wi-Fi, to musiałoby mieć zasilanie z sieci 230V, bo na bateriach podziała max 2 – 3 dni. Tu najprościej wykorzystać moduły ESP8266 (np. Wemos) z czujnikiem temperatury/wilgotności SHT3x oraz oprogramowanie GUI-Generic.
Zasilanie to nie problem mogłoby być 230V, aczkolwiek dziękuję za podsunięcie rozwiązania. Mianowicie chodzi mi o to, że chciałem monitorować temperaturę w serwerowni poprzez jakiś czujnik, który mogę później dodać do Zabbixa aby dostawać alerty w razie zbyt wysokiej temperatury, czy zaproponowane przez Pana rozwiązanie będę w stanie dodać jakoś do Zabbixa bo dodam, że jestem początkujący :).
Nie mam doświadczeń z Zabbixem. Proponuję w tej kwestii zaglądnąć na forum.supla.org i skontaktować się z użytkownikiem @djack2017. On użytkuje Zabbixa i pisze firmware współdziałające z Zabbix.
Dziękuję za pomoc.
Pozdrawiam 🙂
Dzięki za opis, też skorzystałem.
Witam.
Robercie czy można zmniejszyć czas odpytywania czujników przez skrypt py żeby zwiększyć żywotność baterii czy muszą być cały czas online ?
Pozdrawiam.
Witam,
Nie ja jestem autorem Supla Virtual Device oraz biblioteki MiTemperature2 odpytującej czujniki. Proszę poczytać o możliwościach tej biblioteki: https://github.com/JsBergbau/MiTemperature2
Jeśli kto chce alternatywne oprogramowanie do termometrów i jak to uruchomić. To kolega lesny8 przygotował poradnik jak to zrobić .
https://forum.supla.org/viewtopic.php?t=11193&start=50
Heyka. Jak mam zrobić aby nie było ciąglego połączenia z czujnikiem tylko odpytywany był co np 5 minut bo tak mam ciagle polaczenie i bateria w miesiac wyjechana do zera.
Czy działa na PI 3 ?
Działa, ale podobno jest bardzo słaby zasięg BT na RPi 3. Sam osobiście nie próbowałem.
Cześć, robię wszystko zgodnie z instrukcja i w momencie pierwszego odpalenia ( komenda ./supla-virtual-device) wyskakuje komunikat -bash: ./supla-virtual-device: No such file or directory
Gdy sprawdzę co jest w tym katalogu mam takie coś:
pi@raspberrypi:~/supla-virtual-device/supla-virtual-device $ ls
install.sh README.md src supla-virtual-device.cfg.sample var
Przy odpytywaniu command=python3 ./LYWSD03MMC.py –device A4:C1:38:F5:6C:C4 –battery –round –debounce –name th1 -c 1 –callback save-to-file.sh –passive
dla jednego urządzenia zapisują się pliki txt
a dla pozostałych 2 urządzeń nie
na obu nie”podłączonych ” termometrach swieci się ikonka bluetooth
wszystko mam tak samo (nazwy od th0 do th2)
działa tylko dla th1
w r /etc/supervisor/conf.d mam pliki:
mi-th0.conf
mi-th1.conf
mi-th2.conf
supla-virtual-device.conf
[program:mi-th-1]
command=python3 ./LYWSD03MMC.py –device A4:C1:38:F5:6C:C4 –battery –round –debounce –name th1 -c 1 –callback save-to-file.sh –passive
directory=/home/pi/supla-mi-th
autostart=true
autorestart=true
user=pi
[program:mi-th-0]
command=python3 ./LYWSD03MMC.py –device A4:C1:38:B5:E3:53 –battery –round –debounce –name th0 -c 1 –callback save-to-file.sh –passive
directory=/home/pi/supla-mi-th
autostart=true
autorestart=true
user=pi
[program:mi-th-2]
command=python3 ./LYWSD03MMC.py –device A4:C1:38:36:EA:22 –battery –round –debounce –name th2 -c 1 –callback save-to-file.sh
directory=/home/pi/supla-mi-th
autostart=true
autorestart=true
user=pi
2 urządzenia są widoczne w bluetoothctl, to te, które nie zrzucają danych do pliku txt
pi@raspberrypi:~/supla-mi-th $ bluetoothctl
Agent registered
[LYWSD03MMC]# devices
Device A4:C1:38:36:EA:22 LYWSD03MMC
Device A4:C1:38:B5:E3:53 LYWSD03MMC
[LYWSD03MMC]# info
Device A4:C1:38:36:EA:22 (public)
Name: LYWSD03MMC
Alias: LYWSD03MMC
Paired: no
Bonded: no
Trusted: no
Blocked: no
Connected: yes
LegacyPairing: no
[LYWSD03MMC]#
[LYWSD03MMC]# info A4:C1:38:B5:E3:53
Device A4:C1:38:B5:E3:53 (public)
Name: LYWSD03MMC
Alias: LYWSD03MMC
Paired: no
Bonded: no
Trusted: no
Blocked: no
Connected: yes
LegacyPairing: no
[LYWSD03MMC]#
[LYWSD03MMC]# info A4:C1:38:F5:6C:C4
Device A4:C1:38:F5:6C:C4 not available
[LYWSD03MMC]#
pi@raspberrypi:~/supla-mi-th $ supervisorctl status
mi-th-0 RUNNING pid 1146, uptime 0:38:58
mi-th-1 RUNNING pid 5232, uptime 0:21:07
mi-th-2 RUNNING pid 1159, uptime 0:38:57
supla-virtual-device RUNNING pid 1162, uptime 0:38:57
Problemem jest najwyższa wersja oprogramowania Xiaomi
niestety chwilowo nie można go zdowngradeować
Wersja 1.05 B (wyciągniete z pudełka) łączą się od razu
Zaktualizowane przez xiaomi Home nie łączą się
Witam,
Czyli na dzien dzisiejszy nie bedą one współpracować z suplą poprzez bramke raspberry?
Chciałem kupić kilka i je podpiąć pod suple
Należy wgrać alternatywne oprogramowanie. Wszystkie informacje można znaleźć na Forum Supla.
w Putty podczas logowania i wpisaniu domyślnego loginu i hasła wyskakuje komunikat „Access denied” Raspberry nowy zakupiony w Botland pierwsze logowanie, jaka może być przyczyna ?
już nie aktualne, rozwiązałem problem.
Mam 3 czujniki 2 zaktualizowałem i rasberry przestał z nimi się łączyć