Lämpötilojen loggaamista Xiaomin BLE-antureilla (med Raspi, Influxdb, Grafana)

Liittynyt
30.10.2016
Viestejä
1 350
Aloitetaanpa tällainen ketju. Itse tilailin taannoin Ebaystä halpoja Xiaomin BLE-lämpötila-antureita kun katselin että niillä saa suht helposti tehtyä lämpötilaloggerin. Maksavat kiinasta tilattuna noin viisi euroa kappale. Nykyään tietysti tulee arvonlisävero tuohon päälle. Hobbyhallista näkyy saavan noita ainakin tällä erää 6,95EUR/kpl


Kyse siis näistä:



Nuo saa tuollaisenaankin lähettämään tietoa, mutta itse ajoin alemman linkin mukaisesti customfirmwaren, joka muuttaa anturien toiminnan advertisement-tilaan. Tämä kuuleman mukaan säästää anturien paristoja. Firmis on helppo päivittää noihin puhelimen bluetoothilla alemmasta linkistä löytyvällä selaimessa toimivalla over-the-air-päivitysohjelmalla. Meni ainakin heittämällä Xiaomi Redmi Note 9T:llä ja Chromella.


Kannattaa samalla vaihtaa advertisement typeksi "atc1441" ja itse myös kasvatin advertising intervalin 10 000 millisekuntiin (eli 10 sekuntiin). Desimaalipiste pitää ottaa pois kentästä, siihen ei ilmeisesti sovi kuin viisi numeroa.




Antureita kannattaa ottaa käyttöön yksi kerrallaan ja kirjoittaa anturin MAC-osoitteen neljä viimeistä numeroa anturin pohjaan, jotta ne erottaa helposti myöhemminkin.


Custom-firmiksellä kosteusmittauksen kalibrointi menee jostain syystä pieleen. Itse en lähtenyt tarkasti noita uudestaan kalibroimaan, vaan yhdellä vakiofirmiksellä varustetulla anturilla vertailin, paljonko noihin tuli heittoa. Keskimäärin ATC-firmiksellä näyttää 6 %-yksikköä liian pientä kosteusprosenttia. Tuon offsetin voi sitten määritellä sensors.ini-tiedostoon


Eli tarvitaan vain linuxilla ja bluetoothilla varustettu tietokone, esim. Raspberry Pi. Raspberry Pi Zeroa/Zero W:tä käyttäessä on huomioitava, että kyseessä on ARMv6-laite. Grafanasta on olemassa erilliset ARMv6- ja ARMv7-versiot (Raspi 3- ja 4-sarjat), joten pitää katsoa, kumman asentaa. Väärää versiota oleva Grafana server asentuu kyllä Raspi Zeroon, mutta ei suostu käynnistymään


Työjärjestys on jotakuinkin seuraava:


-Asenna Raspbian. SSH:n saa aktivoitumaan ekalla bootilla, kun laittaa boot-osiolle tyhjän tiedoston, jonka nimi on "ssh"

-Mikäli haluaa Raspin suoraan wifi-verkkoon ekalla bootilla, on boot-osiolle luotava tiedosto "wpa_supplicant.conf", jonka sisällöksi

Koodi:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

country=<Insert 2 letter ISO 3166-1 country code here>

update_config=1


network={

ssid="<Name of your wireless LAN>"

psk="<Password for your wireless LAN>"

}
Country-koodiksi siis FI ja ssid/psk-kohtiin lainausmerkkien sisään oman wifi-verkon ssid ja salausavain


Nyt pitäisi ekalla bootilla olla ssh aktivoituna ja wifin tapauksessa Raspi verkkoon yhdistettynä. Raspi hakee IP-osoitetta DHCP:llä ja sen voi etsiä verkosta esim. Angry IP Scannerilla (vaatii Javan asentamisen)


Mikäli Raspille haluaa määrittää kiinteän IP-osoitteen, se onnistuu seuraavan ohjeen mukaan. Verkkokortin tunnus sen mukaan, käytätkö langallista vai langaton verkkoa Raspin liittämiseen. Ifconfigilla pystyy tarkastamaan verkkokortin tunnuksen



Salasana kannattaa vaihtaa ja päivitellä Raspi seuraavaksi.


Sitten voi asennella MiTemperature2-Github-sivun ohjeen mukaan tarvittavat softat. Itse asensin myös Gitin, jolla saa tuon MiTemperature2-paketin ladattua sekä screenin, jossa tuota loggeria voi myöhemmin ajaa, jos ei sitä laita automaattisesti käynnistyväksi.


Kun nuo on asenneltu, voi kokeilla komennolla
Koodi:
sudo hcitool lescan --duplicate
että sensorit löytyvät kantamalta. Maksimikantoaluetta ei tiedä kuin kokeilemalla ja siihen vaikuttaa välissä olevat esteet ja niiden materiaali. Muutamien metrin päästä kantaa kyllä seinien läpi pakastimen/jääkaapinkin sisältä signaali. Jos anturit löytyivät, niin voi kokeilla tiedostoon logittamista

Koodi:
sudo ./LYWSD03MMC.py --atc --rssi --skipidentical 50  --callback sendToFile.sh
Kansioon pitäisi olla ilmestynyt data.txt-tiedosto, josta löytyy mittaustuloksia. Komento hakee kaikki kantamalla olevien ATC-firmiksellä olevien antureiden tiedot. Jos toimii, niin seuraavaksi voi kasata sensors.ini-tiedoston. Sen sisältö on seuraavankaltainen. Kannattaa alusta pyyhkiä esimerkkitekstit pois

Koodi:
[A4:C1:38:C6:09:61]

sensorname=Storage_freezer

humidityOffset=6

topic=Storage/freezer


[A4:C1:38:78:68:41]

sensorname=Garage_refridgerator

humidityOffset=6

topic=Garage/refridgerator


[A4:C1:38:E9:09:B0]

sensorname=Kitchen_freezer

humidityOffset=6

topic=Kitchen/freezer


[A4:C1:38:06:A3:4B]

sensorname=Indoor_temp

humidityOffset=6

topic=Indoor/indoor01
Hakasulkeisiin siis kunkin lämpömittarin MAC-osoite, jonka löytää esim. aiemmin kokeillusta data.txt-tiedostosta sekä anturille haluttu nimi. humidityoffset liittyy aiemmin mainittuun customfirmiksen aiheuttamaan näyttämävirheeseen, jota voi tässä korjata. Eli jos anturi näyttää pienempää ilmankosteutta kuin oikeasti on, tähän laitetaan positiivinen luku. Jos näyttää suurempaa lukemaa, laitetaan miinusmerkkinen luku. Topicin-merkitys ei itselle auennut, mutta siihen voi jotain kuvaavaa laittaa. Tämän jälkeen voi kokeilla seuraavalla komennolla, että tiedosto on oikein täytetty.

Koodi:
sudo ./LYWSD03MMC.py --atc --rssi --skipidentical 50 --devicelistfile sensors.ini --onlydevicelist --callback sendToFile.sh
Seuraavaksi voi asennella Influxdb:n ja Grafanan tämän ohjeen mukaisesti sekä luoda influx-tietokannan. Tuossa lisätään softien omat repositoryt, joista nuo ladataan. Raspbianin omissa repoissa softaversiot laahaavat hieman jäljessä

Influxdb:stä on olemassa myös uusi 2-versio, joka löytyy repositorysta nimellä influxdb2

Jos käytät Raspberry Pi Zeroa, älä asenna Grafanaa ohjeen mukaan, vaan tämän sivun ohjeilla

Tuolta pitää siis valita Ubuntu/Debian ARMv6
Koodi:
sudo apt-get install -y adduser libfontconfig1
wget https://dl.grafana.com/oss/release/grafana-rpi_8.0.6_armhf.deb
sudo dpkg -i grafana-rpi_8.0.6_armhf.deb
Grafanan pitäisi asennuksen jälkeen aueta selaimella osoitteesta http://<RASPIN IP-OSOITE>:3000
Oletustunnukset ovat admin/admin

Muokkaa seuraavaksi sendToInflux.sh-tiedostoa omia tarpeitasi vastaavaksi
Koodi:
curl -i -u "databaseuser:databasepasswd" -XPOST http://localhost:8086/write?db=temperatures\&precision=s --data-binary "AquaraBluetoothSensors,sensorname=$2 temperature=$3,calibratedHumidity=$4,voltage=$5,rssi=$6 $7"
Muutettavia kohtia ovat tietokannan käyttäjätunnus ja salasana, sekä XPOST-osoitteessa oleva tietokannan nimi. Eli db=TIETOKANTA. Kannattaa data.txt:stä katsoa, että muuttujien numerot ovat oikein.

Koodi:
sensorname,temperature,humidity,voltage,rssi,timestamp Kitchen_refridgerator 6.7 54 2.735 -83 1627232024
$1=selitteet
$2=Anturin nimi
$3=Lämpötila
$4=Kosteusprosentti
$5=Pariston jännite
$6=Signaalinvoimakkuus dBm
$7=Kellonaika UNIX-muodossa
Kun scripti on kohdallaan, voi kokeilla seuraavalla komennolla, tallentuvatko lukemat tietokantaan
Koodi:
sudo ./LYWSD03MMC.py --atc --rssi --influxdb 1 --skipidentical 50 --devicelistfile sensors.ini --onlydevicelist --callback sendToInflux.sh
Jos scripti toimii, pitäisi ruudulla juosta jotain tämän näköistä
Koodi:
/home/pi/MiTemperature2/sendToInflux.sh sensorname,temperature,humidity,voltage,rssi,timestamp Indoor_temp 23.6 62 3.002 -52 1627649170
HTTP/1.1 204 No Content
Content-Type: application/json
Request-Id: 1f1d4e54-f134-11eb-8c69-000000000000
X-Influxdb-Build: OSS
X-Influxdb-Version: 1.6.4
X-Request-Id: 1f1d4e54-f134-11eb-8c69-000000000000
Date: Fri, 30 Jul 2021 12:46:12 GMT

BLE packet: A4:C1:38:06:A3:4B 00 1110161a18a4c13806a34b00ec38580bb409 -43
Temperature:  23.6
Humidity:  56
Battery voltage: 2.996 V
RSSI: -43 dBm
Battery: 88 %
Humidity calibrated (offset calibration):  62
Grafanasta pitäisi nyt add dashboard ja add panel -valinnoilla olla mahdollista lisätä halutun anturin ja mittaustiedon käppyrä valitsemalla:
Koodi:
FROM default AquaraBluetoothsensors WHERE sensorname = "HALUTTU SENSORI"
SELECT field(ESIM. TEMPERATURE)
GROUP BY time(HALUTTU PIIRTOTARKKUUS)
Itse en ole mikään ekspertti näiden suhteen tai koodauksen suhteen ylipäänsä, eli parannusehdotuksia tai lisäyksiä otetaan vastaan. Ja Influxdb:n downsamplingista kuulisin mielelläni, jos siitä joku tietää enemmän. Eli miten toteuttaa sellainen, että vaikkapa kahden vuorokauden ajan tietokannassa pysyy kaikki tallennettu data. Sitten kahden vuorokauden jälkeen mittauksista lasketaan tunnin tarkkuudella oleva keskiarvo, joka tallennetaan tietokantaan pysyvästi ja tuo kahta vuorokautta vanhempi raakadata poistetaan.
 
Viimeksi muokattu:
Liittynyt
30.10.2016
Viestejä
1 350
Pari Grafana-screenshottia



Muutamista paikoista on saanut lukea väitteitä, että Raspi Zero W:n bluetoothin kantama olisi merkittävästi parempi kuin Raspi 3:n tai Raspi 4:n. En ole aivan vakuuttunut, että näin on. Oman havainnon mukaan asiaan vaikuttaa Raspin asento ja yleisesti liikenne 2,4 GHz taajuudella. Zero-mallia on helpompi pyöritellä ja asetella optimaalisesti. Itsellä testissä sekä Raspi Zero W että Raspi 3B+. Nuo ovat nyt vierekkäin kirjahyllyn päällä jotakuinkin anturiverkon keskellä. Zeron olen havainnut saavan parhaat signaalit, kun sen pitää pystyssä muistikorttipaikka kattoa kohti. Pitää yrittää asetella Raspi 3:stakin eri asentoihin, että mikä siinä on optimaalisin.
 
Viimeksi muokattu:
Liittynyt
21.12.2016
Viestejä
253
@Grazer Kiitoksia hyvästä ja selkeästä ohjeesta!
Itsellä on ollut samanlainen suunnitteilla jo jonkin aikaa, mutta en ole löytänyt oikein sopivia projekteja mistä ottaa mallia, kun oma tietämys aiheesta on hieman rajallinen, ja ideana oli että ottaisin jonkin tällaisen suht simppelin projektin pohjaksi, minkä kautta voisi sitten halutessaan opiskella lisää Raspin kanssa värkkäämistä. Tämä oli kuitenkin suunnilleen identtinen projekti kuin mitä itsellä on ollut mielessä joten sopii pohjaksi hyvin. Tarvisin kuitenkin vähän neuvoa päästäkseni eteenpäin, joten ehkä täältä löytyis jeesiä...

Aihiona Pi Zero W johon olen nyt masennellut viimeisimmän Raspberry OS 32 bittisen "full" version, tarkoituksena nyt ensinalkuun lukea yhtä LYWSD03MMC anturia, ja jahka tuon saa toimimaan niin sitten muutama anturi lisää. Influx ei asentunut ohjeen mukaan, mutta sain kuitenkin influxin(toisella ohjeella) ja grafanan asennettua ja kumpikin toimii (jollakin tapaa), sekä saan luettua shellissä dataa anturilta, joten tuskin mitään suurempaa on väärin, mutta varmaan jokin pieni asetus puuttuu ohjeesta tai on jäänyt muuten tekemättä.


Ensimmäinen ongelma on että en saa tuolla sudo -kommennolla ajettua tuota LYWSD03MMC.py skriptiä, tai miksikä tuota nyt oikeastaan kutsutaankaan, vaan tuolla tulee ainoastaan erroria "Command not found"

Koodi:
sudo ./LYWSD03MMC.py --atc --rssi --skipidentical 50  --callback sendToFile.sh
-komento ei toimi, antaa vaan errorin että command not found, mutta vastaavasti
Koodi:
python ./LYWSD03MMC.py --atc --rssi --skipidentical 50  --callback sendToFile.sh
-komento toimii ja saan data.txt tiedostoon luettua anturin dataa järkevillä arvoilla.

Eli mistä voisi mahdollisesti johtua, että tuo sudo -komento ei toimi tässä yhteydessä?
Onko mulla jokin "rekisteröinti" tekemättä että systeemi tajuais käyttää byyttonia tuon tiedoston ajamiseen tms?


Toinen ongelma saattaa liittyä edelliseen, ja ilmenee kun yrittää kirjoittaa influxiin dataa, ja se ei ilmeisesti mene perille vaan näytää tältä:
Koodi:
python LYWSD03MMC.py --atc --rssi --influxdb 1 --skipidentical 50 --devicelistfile sensors.ini --onlydevicelist --callback sendToInflux.sh

---------------------------------------------
MiTemperature2 / ATC Thermometer version 5.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.


Script started in passive mode
------------------------------
In this mode all devices within reach are read out, unless a devicelistfile and --onlydevicelist is specified.
Also --name Argument is ignored, if you require names, please use --devicelistfile.
In this mode debouncing is not available. Rounding option will round humidity and temperature to one decimal place.
Passive mode usually requires root rights. If you want to use it with normal user rights, 
please execute "sudo setcap cap_net_raw,cap_net_admin+eip $(eval readlink -f `which python3`)"
You have to redo this step if you upgrade your python version.
----------------------------
Power ON bluetooth device 0
Bluetooth device 0 is already enabled
Enable LE scan
scan params: interval=1280.000ms window=1280.000ms own_bdaddr=public whitelist=no
socket filter set to ptype=HCI_EVENT_PKT event=LE_META_EVENT
Listening ...
BLE packet - ATC1441: A4:C1:38:92:7B:B2 00 1110161a18a4c138927bb200d63a3b0ac4ee -58
Sensorname: Olohuone
Temperature:  21.4
Humidity:  58
Battery voltage: 2.756 V
RSSI: -58 dBm
Battery: 59 %
Humidity calibrated (offset calibration):  63

/home/pi/MiTemperature2/sendToInflux.sh sensorname,temperature,humidity,voltage,rssi,timestamp Olohuone 21.4 63 2.756 -58 1663703970
/home/pi/MiTemperature2/sendToInflux.sh: line 9: --data-binary: command not found
Data couln't be send to Callback, retrying...
HTTP/1.1 204 No Content
Content-Type: application/json
Request-Id: c163956e-391e-11ed-803e-b827eb098620
X-Influxdb-Build: OSS
X-Influxdb-Version: 1.8.10
X-Request-Id: c163956e-391e-11ed-803e-b827eb098620
Date: Tue, 20 Sep 2022 19:59:37 GMT
Eli ilmeisesti data luetaan anturilta oikein, mutta se ei saa lähetettyä ko. dataa influxiin. Olisko joku äksessi ongelma, vai onko mulla vaan jotakin väärin tuolla sendToInflux.sh tiedostossa?

Koodi:
line 9: --data-binary: command not found
Olisko jotakin fiksuja ideoita millä saisin nämä futaamaan kunnolla..?
 
Liittynyt
30.10.2016
Viestejä
1 350
Mitä sanoo ls -l tuon LYWSD03MMC.py kohdalla? Onko executable-oikeudet
 
Liittynyt
17.10.2016
Viestejä
3 455
Ensimmäinen ongelma on että en saa tuolla sudo -kommennolla ajettua tuota LYWSD03MMC.py skriptiä, tai miksikä tuota nyt oikeastaan kutsutaankaan, vaan tuolla tulee ainoastaan erroria "Command not found"

Koodi:
sudo ./LYWSD03MMC.py --atc --rssi --skipidentical 50  --callback sendToFile.sh
-komento ei toimi, antaa vaan errorin että command not found, mutta vastaavasti
Koodi:
python ./LYWSD03MMC.py --atc --rssi --skipidentical 50  --callback sendToFile.sh
-komento toimii ja saan data.txt tiedostoon luettua anturin dataa järkevillä arvoilla.

Eli mistä voisi mahdollisesti johtua, että tuo sudo -komento ei toimi tässä yhteydessä?
Onko mulla jokin "rekisteröinti" tekemättä että systeemi tajuais käyttää byyttonia tuon tiedoston ajamiseen tms?


Olisko jotakin fiksuja ideoita millä saisin nämä futaamaan kunnolla..?
Haiskahtaisi siltä että skriptin ensimmäisellä rivillä ei ole ns. shebang-määritystä eli ensimmäisenä rivinä skriptissä varmaan pitäisi olla jotain tyyliin:
Koodi:
#!/bin/env python
joka kertoo että millä tulkilla tuo skripti pitää suorittaa. Vaihtoehtoina on joko lisätä tuo rivi skriptin alkuun tai ajaa se näin sudolla:
Koodi:
sudo python ./LYWSD03MMC.py --atc --rssi --skipidentical 50  --callback sendToFile.sh
Toinen vaihtoehto joka saattaa estää skriptin ajamisen on että skriptiä ei ole määritelty ajettavaksi tiedostoksi, sen saa taas tehtyä komennolla:
Koodi:
chmod +x ./LYWSD03MMC.py
 
Liittynyt
21.12.2016
Viestejä
253
Mitä sanoo ls -l tuon LYWSD03MMC.py kohdalla? Onko executable-oikeudet
Toinen vaihtoehto joka saattaa estää skriptin ajamisen on että skriptiä ei ole määritelty ajettavaksi tiedostoksi, sen saa taas tehtyä komennolla:
Koodi:
chmod +x ./LYWSD03MMC.py
Kiitos, tuosta se varmaan on kiinni!

Nyt kun mainitsitte nuo, niin ko. komennot vaikuttaa tutuilta. Koitin hommaa jollain aiemmalla Raspbian OS:llä ja koitin jollain muulla ohjeella värkätä tuon kanssa ja sain sen toimimaan silloin myös sudo -komennolla ja muistaakseni silloin olin lisännyt tuon chmod komennon. Homma siis silloin toimi tuon LYSWSD03MMC.py kanssa hyvin, mutta kädetin jotakin Grafanan asennuksessa ja en saanut sitä enää toimimaan tai poistettua, joten aloitin homman "puhtaalta pöydältä" jolloin tämä ongelma ilmeni. Testaan jahka kotiudun työmatkalta...
 
Liittynyt
21.12.2016
Viestejä
253
Noniin, pitäisi olla executable oikeudet, mutta ei se kyllä oikein tuollakaan lähtenyt. Tuon LYSWSD03MMC.py fileen alussa on kyllä myös Permissionit näkee alta
1664568925720.png

Voiko tuo hakemisto olla jotenkin väärässä paikassa tms? Tai voiko joku olla liian uutta versiota verrattuna johonkin toiseen osioon, ja homma ei siksi pelaa?

Nyt se herjaa sudo -komennolla bluepy -erroria. Python komennolla toimii kuitenkin sendtoFile edelleen. Jos python komennolla toimii, niin tuskin vikaa on tuossa bluepy osuudessa, mutta jotain kummallista kokonaisuudessa on jos sen kerran tuolla sudollakin pitäisi toimia. Eli nytten toimii about näin:

1664570026112.png
1664570119058.png

Python komennolla kuitenkin lukee sensorilta dataa oikein ja kirjoittaa sitä tiedostoon, joten ei sen kait kovin paljoa pitäisi olla väärin. SendToInflux näyttää siis about ao. kuvan mukaiselta luupilta, lukee sensoria edelleen oikein, muttei saa kirjoitettua influxiin. Grafana toimii, mutta en saa sitä yhdistettyä influxin databaseen "Testi", mutta vastaavasti "_internal" databaseen yhdistää. En tiedä johtuuko grafanan ongelma vaan siitä kun "Testi" databasessa ei oo vielä mitään dataa, vai onko influxin puolella väärin jotain, vai eikö tuolla skriptillä(ja ehkä myös Grafanalla?) ole riittävää äksessiä influxiin? Vai onko sendToInflux.sh fileessä joku väärin?
1664572618965.png

En tiedä olisko tuolla lopulta väliä onko se python vai sudo komennolla, jos tuon vaan saa ensin kirjoittamaan tuonne influxiin oikein, ja jos homman saa automaagisesti pyörmään taustalle raspin käynnistyessä. Onko ideoita millä lähtee ratkomaan?
 

Liitteet

Liittynyt
30.10.2016
Viestejä
1 350
Mahtaako tuolla olla vaikutusta, onko nuo python-paketit asennettu sudo pip3... vai pelkästään pip3...

Tarkasta että näkyykö tuo dabase influxissa. Eli shelliin influx, sitten show databases. Pitäisi näkyä _internal ja sitten tuo luomasi database. Katso myös että show users näyttää että käyttäjä on olemassa. Exitillä pääsee pois.

Grafanaan kun lisää tietokantayhteyden, niin siinä lisäysvaiheessa on se save & test. Jos tietokanta on olemassa ja käyttäjäoikeudet oikein, niin tuolla saa tarkastettua tietokantayhteyden, vaikkei siellä dataa olisikaan.

 
Liittynyt
17.10.2016
Viestejä
3 455
Mahtaako tuolla olla vaikutusta, onko nuo python-paketit asennettu sudo pip3... vai pelkästään pip3...

Tarkasta että näkyykö tuo dabase influxissa. Eli shelliin influx, sitten show databases. Pitäisi näkyä _internal ja sitten tuo luomasi database. Katso myös että show users näyttää että käyttäjä on olemassa. Exitillä pääsee pois.

Grafanaan kun lisää tietokantayhteyden, niin siinä lisäysvaiheessa on se save & test. Jos tietokanta on olemassa ja käyttäjäoikeudet oikein, niin tuolla saa tarkastettua tietokantayhteyden, vaikkei siellä dataa olisikaan.

On vaikutusta jos paketti on asennettu tavallisena käyttäjänä. Jos pakettia ei ole asennettu roottina niin root ei löydä sitä. eli "sudo pip3 install bluepy" -tempulla tuon pitäisi korjaantua.
 
Liittynyt
21.12.2016
Viestejä
253
Ei ollut merkittävää vaikutusta tuolla sudo pip3 installilla, nyt tulee vaan hiukan erinäköinen virheilmo, suunnilleen samasta asiasta, ks. alla. Mahtaisko tuo MiTemperature2 jotenkin myös "asentaa" härveliin?
Nyt en tehnyt muuta kuin purkasin ladatun .zip fileen tonne MiTemperature2 hakemistoon(onko muuten tuolla hakemistonimellä väliä?). Muutenkin koitin seurailla noita ohjeita sen mukaan mitä pystyi ja ohjeita oli tarjolla. Tuossa MiTemperature -sivulla ei ollut mitään tarkempaa infoa miten & mihin se itse hakemisto pitäis purkaa/asentaa, lähinnä että miten ne oheisfunktiot ja skriptit pitää asennella ja ne asentelin sen mukaan. Influxin asennuksessa piti soveltaa, kun sillä linkatulla ohjeella se ei suoraan onnistunut, kapsahti siihen Step2 ensimmäiseen osaan missä piti key hakea wget -komennolla. Sain jonkun muun sivun ohjeella tuon menemään ja loput tein ohjetta seuraten.

1664620194359.png

Influxiin olen koittanut tehdä useammankin eri databasen, sekä userin, jotka näkyvät kyllä shellin kautta influxissa, mutta ei ole merkittävää vaikutusta asiaan, eli sendToInflux ei saa kirjoitettua eikä Grafana pysty lukea ko. tietokantoja, kun tietokantaa koittaa lisätä Grafanaan niin save & test antaa vaan "error connecting influxDB influxQL", ks. alla. Jos laitan databaseksi _internal, niin sen Grafana löytää. Eli jostain syystä se kyllä löytää ton influxin, mutta ei noita influxin databaseja.
1664620586925.png
 
Liittynyt
17.10.2016
Viestejä
3 455
Ei ollut merkittävää vaikutusta tuolla sudo pip3 installilla, nyt tulee vaan hiukan erinäköinen virheilmo, suunnilleen samasta asiasta, ks. alla. Mahtaisko tuo MiTemperature2 jotenkin myös "asentaa" härveliin?
Nyt en tehnyt muuta kuin purkasin ladatun .zip fileen tonne MiTemperature2 hakemistoon(onko muuten tuolla hakemistonimellä väliä?). Muutenkin koitin seurailla noita ohjeita sen mukaan mitä pystyi ja ohjeita oli tarjolla. Tuossa MiTemperature -sivulla ei ollut mitään tarkempaa infoa miten & mihin se itse hakemisto pitäis purkaa/asentaa, lähinnä että miten ne oheisfunktiot ja skriptit pitää asennella ja ne asentelin sen mukaan. Influxin asennuksessa piti soveltaa, kun sillä linkatulla ohjeella se ei suoraan onnistunut, kapsahti siihen Step2 ensimmäiseen osaan missä piti key hakea wget -komennolla. Sain jonkun muun sivun ohjeella tuon menemään ja loput tein ohjetta seuraten.


Influxiin olen koittanut tehdä useammankin eri databasen, sekä userin, jotka näkyvät kyllä shellin kautta influxissa, mutta ei ole merkittävää vaikutusta asiaan, eli sendToInflux ei saa kirjoitettua eikä Grafana pysty lukea ko. tietokantoja, kun tietokantaa koittaa lisätä Grafanaan niin save & test antaa vaan "error connecting influxDB influxQL", ks. alla. Jos laitan databaseksi _internal, niin sen Grafana löytää. Eli jostain syystä se kyllä löytää ton influxin, mutta ei noita influxin databaseja.
Tuo virheilmoitushan näyttää että Module not found, eli vieläkin puuttuu paketti, ilmeisesti tällä kertaa nimeltään bluetooth.
 
Liittynyt
30.10.2016
Viestejä
1 350
Jos Influxista tarkastaa että show grants for Testaaja niin sanooko että "database -- privilege -- Testi -- All privileges"?

EDIT: Ja onhan tuo salasana syötetty niin että Influxissa siinä on heittomerkit, mutta scriptissä ja Grafanan tiedoissa ei?
 
Viimeksi muokattu:
Liittynyt
21.12.2016
Viestejä
253
Jos Influxista tarkastaa että show grants for Testaaja niin sanooko että "database -- privilege -- Testi -- All privileges"?

EDIT: Ja onhan tuo salasana syötetty niin että Influxissa siinä on heittomerkit, mutta scriptissä ja Grafanan tiedoissa ei?
shellissä influx näyttää käyttäjät ja gränsit oikein. Salasanat on kyllä oikein, olen kokeillut useampaa eri käyttäjää, databasea ja salasanaa, ja koittanut tarkistaa kaikki useampaan kertaan. Sain influxin jotenkin jumiin kun säädin jotakin, enkä saanut sitä enää tokenemaan, joten asensin sen uudelleen. Tällä kertaa tämän ohjeen mukaan, mutta edelleen herjaa samaa Grafanassa ja sendToInfluxilla(mutta nyt toimii myös sudo -komennolla?!). Ks. alla. Jos laitan Grafanassa "Database" = _internal, niin silloin näyttää vihreää ja "datasource is working. 12 measurements found". Eli oletettavasti grafana toimii ja influx toimii, mutta jossain on bitti vinossa, todennäköisesti jotain influxiin liittyen...

Edit: Grafana löysi oikean databasen kun koetin kirjoittaa sinne databaseen shellissä manuaalisesti jotakin samannäköistä dataa. lmeisesti grafana ei löydä tai ymmärrä tyhjää databasea kuitenkaan. Enää tarttis sitten saada toi skripti kirjoittaan dataa influxiin...

1664654481675.png


1664655871792.png
1664655967655.png

Mahtaako tuo sendToInflux.sh file olla ihan OK? Onko ideaa mitä muuta tuossa influxissa voisi olla pielessä?


Tuo virheilmoitushan näyttää että Module not found, eli vieläkin puuttuu paketti, ilmeisesti tällä kertaa nimeltään bluetooth.
OK, mutta eikö tuo ole vähän kummallista kun se kuitenkin python komennolla luki OK? Eikö se vähän viittaisi siihen että ko moduuli on olemassa, mutta jostain syystä tuo sudo ei tajua sitä käyttää?
Enivei, parin bootin ja influxin uudelleenasennuksen jälkeen näyttäisi myös sudo komento toimivan, sekä sendToFile että sendToInflux(antureiden lukemisen osalta), enää siis tarvisi saada influx jotenkin futaamaan...
 
Viimeksi muokattu:
Liittynyt
30.10.2016
Viestejä
1 350
Tuosta scriptistä puuttuu kenoviiva databasen jälkeen. Eli pitää olla ...TestiDB\&precision=s
 
Liittynyt
30.10.2016
Viestejä
1 350
Itse olen pakastimeen, jääkaappiin ja uloslaitettuun anturiin kolvannut litium-sormiparistot kiinni ja laittanut anturin ja paristot kalvorasiaan. Rasiaan pohjaan porannut muutaman reiän.

Näitä kaksi sarjaan. Pariston päistä kannattaa viilalla tai hiekkapaperilla vetäistä niklaus puhki niin tina tarttuu hyvin.
 
Liittynyt
21.12.2016
Viestejä
253
Mulla olisi yksi Ruuvi tägi jonka ajattelin koittaa laittaa ulkosensoriksi kun se on sopivan pieni ja huomaamaton(kerrostalokämppä, ei parveketta), joten seuraava steppi olis koittaa jos sitä saisi samaan influxiin ja graafiin luettua. Tuohon löytyi kanssa valmis ohje ja jonkinlainen vastaava skripti joka tosin on tehty javalla. En tiedä, saisko tuota ruuviakin luettua tuolla MiTemperature skriptillä jonkinverran puukottamalla, toiminee kait samaan tapaan mutta "ATC formaatin" sijaan data tulee eddystone muodossa joka pitäisi jotenkin purkaa numeeriseen muotoon...
 
Liittynyt
30.10.2016
Viestejä
1 350

Tuolla vaikuttaa olevan lupaavat ohjeet. Itsellä ei ruuvitageja ole niin en pääse kokeilemaan.

Jännite-erosta huomaa että osassa antureita on sormiparistot
 
Viimeksi muokattu:
Liittynyt
21.12.2016
Viestejä
253
Sain nyt myös tuon Ruuvin lukemaan juurikin tuon saman ohjeen mukaan. Tuosta vaan puuttui se että noissa uudemmissa(?) raspberry OS ei ole tuota hcidumppia mukana, niin se piti lisäillä ennenkuin lähti toimimaan...

1664981998669.png


Seuraavaksi pitäisi koodailla nuo molemmat käynnistymään automaagisesti, josko härveli sattuu buuttaamaan itsensä syystä tai toisesta. Tuolle Ruuville oli ohjeessa mainittukin miten moinen onnistuu, samaa kaavaa soveltaen oletettavasti myös tuolle MiTempille.
 
Toggle Sidebar

Statistiikka

Viestiketjut
185 420
Viestejä
3 382 359
Jäsenet
60 526
Uusin jäsen
Bronto Skyfilth

Hinta.fi

Ylös Bottom