Ilmainen toimitus yli 100 euron tilauksille - Tuotteiden toimitukset Suomesta

Opas: Näin keräät mittaushistoriaa paikallisverkossa kiertokyselyn (polling) avulla

Ruuvi Gateway -reititin mahdollistaa mittaushistorian ja statistiikan keräämisen paikallisverkossa kiertokyselyn (polling) avulla erityisistä päätepisteistä. Pääsy näihin paikallispäätepisteisiin voidaan helposti määrittää Ruuvi Gatewayn asetuksissa. Tämä mahdollistaa myös eri todennusmenetelmien käyttämisen.

Tässä oppassa näytämme, kuinka määrität pääsyn näihin osoitteisiin ja keräät mittaustietoja cURL-komennolla.

Lisää esimerkkejä kiertokyselyn käytöstä löydät täältä.

Mikä on kiertokysely?

Kiertokyselytila (polling mode) on prosessi, jossa tietokone tai ohjauslaite odottaa ulkoisen laitteen tarkistavan sen valmiuden tai tilan. Palvelimet, solmut (node) ja erilaiset sovellukset voivat käyttää kiertokyselytilaa arvojen hakemiseksi ja toimien käynnistämiseksi syötteen vastaanottamisen yhteydessä.

Ruuvi Gateway -reitittimessä kyselyä voidaan käyttää mittaustietojen ja metriikkatiedon hakemiseen Gatewayn tarjoamista API-päätepisteistä. Tämä mahdollistaa turvallisen ja luotettavan tiedonkeruun ilman, että tietoja tarvitsee siirtää paikallisverkon ulkopuolelle.

Statistiikka-päätepiste (metrics) kertoo tietoja Ruuvi Gatewayn nykyisestä tilasta, mikä voi olla hyödyllistä tietoa verkon ylläpitäjälle.

Mikä on cURL?

cURL on komentorivityökalu, jota käytetään tietojen siirtämiseen palvelimelle tai palvelimelta eri protokollia, kuten HTTP, FTP ja SMTP, käyttäen. Sitä käytetään yleisesti esimerkiksi HTTP-pyyntöjen lähettämiseen, tiedostojen lataamiseen ja API kanssa toimimiseen, mikä tekee siitä tehokkaan työkalun kehittäjille ja järjestelmänvalvojille verkko-interaktioiden automatisoimiseen ja testaamiseen.

Voit kerätä ja tallentaa mittaustietoja Ruuvi Gatewaysta muutaman yksinkertaisen cURL-komennon avulla.

Hallitse pääsyä Ruuvi Gateway -reitittimen päätepisteisiin

Ruuvi Gateway -reitittimen historia- ja statistiikkapäätepisteet ovat käytössä oletuksena, mutta niitä voi lukea paikallisverkossa vain silloin, kun pääsy on sallittu.

Voit määrittää pääsynhallintaan liittyvät asetukset Gatewayn ohjatun käyttöönoton Etäyhteysasetukset-sivulla.

Valittavissa olevat vaihtoehdot ovat:

Salasanasuojattu oletussalasanalla
Salasanasuojattu valinnaisella salasanalla
Ei määritettävissä etäyhteyden kautta
Määritettävissä etäyhteyden kautta ilman salasanaa

Kun ”Määritettävissä etäyhteyden kautta ilman salasanaa” on valittuna, näitä päätepisteitä voidaan lukea ilman erillistä todennusta. Vaihtoehtoja ”Salasanasuojattu” tai ”Ei määritettävissä etäyhteyden kautta” käytettäessä suositellaan API-käyttöoikeuden määrittämistä API-avaimen avulla.

Kun käytät API-avainta (bearer-tunnistetta), voit valita kahdesta vaihtoehdosta:

Ota käyttöön vain luku -API-avain ”/history”-sivulle
Salli täysi (luku/kirjoitus) pääsy Ruuvi Gateway -reitittimeen API-avaimen avulla

Esimerkeissämme käytämme vain paria eri autentikointivaihtoehtoa, mutta voit helposti määrittää haluamasi asetukset Ruuvi Gatewayn ohjatun käyttöönoton avulla.

Tee nämä ensin

Tarvitsemme aluksi tehdä ja varmistaa muutamia eri asioita kiertokyselyn mahdollistamiseksi.

Asenna cURL

Koska käytössäni on MacOS-tietokone, cURL-komento löytyy jo valmiiksi käyttöjärjestelmästäni. Mikäli cURL ei ole vielä asennettuna käyttöjärjestelmässäsi, löydät sopivan asennuspaketin täältä.

Ruuvi Gateway -reitittimen paikallisverkon nimi MacOS-komentokehotteessa

Etsimme seuraavaksi Ruuvi Gateway -reitittimen paikallisverkossa käyttämän nimen, jota käytämme myöhemmin skriptissä. Paikallisverkon laitenimi on MacOS-käyttöjärjestelmän ominaisuus. Jos käytössäsi on Windows-työasema, voit korvata tämän laitteen IP-osoitteella.

Kirjoita Mac OS Terminaliin

dns-sd -B
Minun tapauksessani Ruuvi Gateway -reitittimen nimi on RuuviGateway5FC4.local

Luo kansio skripteille ja tallennettaville logitiedostoille

Luomme prosessin aikana muutamia bash-skriptejä ja tallennamme lokitiedoston, joten oman kansion luominen on suositeltavaa. Luo ensin uusi kansio nimeltä Ruuvi oman Lataukset-kansion sisään ja siirry sitten uuden kansion sisään komentokehotteessa.

Kirjoita Mac OS Terminaliin

mkdir /Users/[yourusername]/Downloads/Ruuvi/
cd /Users/[yourusername]/Downloads/Ruuvi/

Esimerkki 1: Lue mittaustietoja 60 sekunnin väleillä cURL-komentokehotteella (ei autentikointia)

Ensimmäisessä esimerkissämme keräämme anturin mittaustietoja Ruuvi Gatewayn /history-päätepisteestä 60 sekunnin välein ilman todennusta. Tämä on turvallista tietojen keräämiseen paikallisverkossa, kuten kotona, ja sitä voidaan käyttää nopeaan tietojen keräämiseen komentokehotteessa.

Määritä Ruuvi Gatewayn ohjatussa käyttöönotossa pääsy ilman autentikointia

Haluamme aluksi määrittää Ruuvi Gatewayn asetukset niin, että päätepisteitä voidaan lukea paikallisverkossa ilman todennusta. Avaa Ruuvi Gatewayn ohjattu käyttöönotto, siirry Etäyhteysasetukset-sivulle ja valitse ”Määritettävissä etäyhteyden kautta ilman salasanaa”.

Kun asetus on muutettu, valitse Seuraava kunnes saavut ohjatun käyttöönoton päätössivulle. Tämän jälkeen voit sulkea Ruuvi Gateway -reitittimen ohjatun käyttöönoton.

Luo skripti ja salli sen ajaminen komentokehotteessa

Seuraavaksi avaa tyhjä sivu tekstieditoriin ja kirjoita seuraavat rivit. Korvaa esimerkissä [ ]-sulkeiden sisällä oleva Gatewayn paikallinen nimi. Jos käytät Windowsia, käytä Gatewayn paikallista IP-osoitetta sen sijaan.

#!/bin/bash

while true
do
curl http://[yourgateway.local]/history
sleep 60
done

Tallenna tämä tiedosto Ruuvi-kansioon nimellä example1.sh

Salli skriptin ajaminen komentokehotteessa

cd /Users/[yourusername]/Downloads/Ruuvi/
chmod +x example1.sh

Aja skripti komentokehotteessa

Voimme seuraavaksi ajaa skriptin samaisessa komentokehotteessa seuraavan komennon avulla

./example1.sh

Valmis! Mittaustiedot luetaan Gatewayn /history-päätepisteestä ja tulostetaan komentokehotteeseen 60-sekunnin välein.

Esimerkki 2: Kerää mittaustiedot .json-tiedostoon cURL-komennon avulla (autentikointi API-avaimella)

Toisessa esimerkissämme keräämme anturin mittaustietoja Ruuvi Gatewayn /history-päätepisteestä. Pääsy Gatewayn Web-käyttöliittymään on suojattu salasanalla ja pääsy todennetaan sen sijaan API-avaimella (bearer token). Kerätyt mittaustiedot tallennetaan .json-tiedostoon.

Aseta Ruuvi Gateway -reititin salasanasuojatuksi, mutta käytä API-avainta (bearer-tunnusta) todennukseen

Haluamme aluksi ottaa salasanasuojauksen käyttöön Ruuvi Gateway -reittimen selainkäyttöliittymän suojaamiseksi, mutta määritämme samalla API-avaimen (bearer token), joka sallii päätepisteiden lukemisen.

Avaa Ruuvi Gateway -reitittimen ohjattu käyttöönotto, siirry Etäyhteysasetukset-sivulle ja valitse “Salasanasuojattu oletussalasanalla”. Valitse seuraavaksi “Ota käyttöön vain luku -API-avain ”/history”-sivulle” aktiiviseksi kohdassa Lisäasetukset.

Yksilöllinen avain luodaan kenttään automaattisesti.

Kopioi tämä avain ja liitä se tekstieditoriin ennen eteenpäin siirtymistä. Napauta sen jälkeen Seuraava-painiketta, kunnes olet ohjatun käyttöönoton viimeisellä sivulla.

Luo skripti ja salli sen ajaminen komentokehotteessa

Avaa tekstieditoriin tyhjä sivu ja kirjoita seuraavat rivit. Korvaa [ ]-sulkeiden sisällä oleva Gatewayn paikallinen nimi ja API-avain (bearer). Jos käytät Windowsia, käytä sen sijaan paikallista Gatewayn IP-osoitetta.

#!/bin/bash

while true
do
curl http://[yourgateway.local]/history -H "Authorization: Bearer [yourbearertoken]" -o history.json
sleep 60
done

Tallenna skripti Ruuvi-kansioon nimellä example2.sh

Salli skriptin ajaminen komentokehotteessa

cd /Users/[yourusername]/Downloads/Ruuvi/
chmod +x example2.sh

Aja skripti komentokehotteessa

Voimme seuraavaksi ajaa skriptin samaisessa komentokehotteessa seuraavan komennon avulla

./example2.sh

Valmis! Mittaustiedot luetaan Gatewayn /history-päätepisteestä API-avainta käyttäen ja tallennetaan history.json-tiedostoon Ruuvi-kansioon 60 sekunnin välein.

Skripti ajetaan automaattisesti 60 sekunnin välein.
Tehdyt skriptit ja tallennettu lokitiedosto löytyvät Ruuvi-kansiosta.

Vaihtoehtoisia tapoja mittaustietojen keräämiseen Ruuvi Gateway -reitittimeltä

Kiertokysely (polling) on vain yksi tapa tietojen keräämiseen Ruuvi Gateway -reitittimestä. Jos haluat käyttää erityistä palvelinta mittaustietojen keräämiseen, Ruuvi Gateway -reitittimessä on mahdollista ohjata mittaustiedot myös HTTP(S) tai MQTT(S) -palvelimelle.

Kiertokysely on kuitenkin suoraviivainen tapa mittausten keräämiseen Ruuvi Gateway -reitittimeltä lähiverkossa suoraan komentokehotteesta, eikä erillistä palvelinta tarvita konfiguroida kaikissa käyttötapauksissa.