Korábban már írtam arról, hogy végülis mire használom a Raspberry Pi-met. Örömmel tudatom Veletek, hogy találtam egy új felhasználási területet! Ezt szeretném most megosztani.
Az úgy kezdődött, hogy tavaly nyár vége felé vettem egy időjárás állomást (PWS, Personal Weather Station). WS-2080 a típusa, eredetileg az Ambient Weather gyártja, de én a Lombik kft-ben egy OEM változatot vettem Gábor Áron. Mindenesetre kívül-belül egyezik a két modell.
Tegnap végre szakítottam rá időt, összeállítottam a szenzorokat és felszereltem a garázstető mellvédjére. A kültéri egység két AA elemmel működik, 433 MHz-en ad, kb. 100m-es hatótávolsággal. A beltéri egység szintén két AA elemet használ. Mindkét egység kb. 1 évet fut el egy adag elemmel. Akit komolyabban érdekelnek PWS-ek, annak egyrészt a http://metnet.hu-t javaslom, másrészt itt találhat bővebb információt a kültéri szenzorok elhelyezését illetően.
Az így kialakított rendszer a következőket méri:
- belső- és külső hőmérséklet (1)
- belső- és külső páratartalom
- csapadékmennyiség
- légnyomás
- szélerősség
- szélirány
A beltéri egység alapértelmezésben 10 percenként letárolja a szenzoroktól érkező adatokat. A beltéri egység 4096 ilyen rekordot képes tárolni, a tárolt adat mennyiségét ki is jelzi a kijelzőjén. Egy PC segítségével USB kapcsolaton keresztül leszedhető és historikusan megjeleníthető a beltéri egységről begyűjtött adat. Én erre a célra a Cumulus-t használom. Ezzel a szoftverrel az adatgyűjtés gyakorisága is beállítható. Azt hiszem, 48 másodperc a legsűrűbb beállítás. Ha van egy PHP-s webszerverünk (vagy van accountunk egy valahol hostolt szerverhez), akkor a Cumulus segítségével felpostázott adatokat weboldalakon, grafikonok formájában is megjeleníthetjük.
Ez mind szép, de ha élő adatokat szeretnék látni, akkor ahhoz folyamatosan kapcsolatban kéne állni az egyik gépemnek a beltéri egységgel. Ráadásul mindig kéne futnia. Ráadásul mindig rajta lógna a beltéri egység.
És most jön a cím (“Mire használható egy málna?”):
Van nekem egy állandóan futó gépem otthon: A Raspberry Pi. Adódik a kérdés: Vajon a Raspberry nem lenne-e képes leszedni az adatokat és fellőni az internetre? Adódik a válasz: De igen!
Több megoldás létezik, de a PYWSS állítólag működik is. Az USB konfigurációját és az adatok webszerverre postolását a fenti leírás második részében találjátok. Ha Twitteren szeretnétek alerteket küldeni, akkor ezt olvassátok át!
A PYWSS-hez kell néhány library telepítés és egy pywws nevű Python script gyűjtemény (3), amit crontab-bal beütemezünk. A HiFi mögé eldugott, eddig “csak” headless Squeezebox Playerként funkcionáló RPi-m a jövő héten át fog alakulni PWS uploaderré és alerterré. A WS-2080-as beltéri egységét odateszem a TV mellé és állandó jelleggel rádugom a RPi-re.
A projekttől az alábbi előnyöket, szolgáltatásokat várom:
- Folyamatosan menti a beltéri egység által begyűjtött adatokat.
- Egyben folyamatosan üríti a beltéri egység belső memóriáját.
- A begyűjtött adatokat felküldi egy hostolt webszerverre. Erre a célra vagy a http://metnet.hu vagy a http://weatherunderground.com lesz a megfelelő.
- Előre beállított szörnyűségek teljesülése esetén (pl.: “30 km/h-nál erősebb északi szél” vagy “10 mm /nap-nál több csapadék” egy megadott twitter felhasználó nevében alertet küld. Az alert pontos formázását még nem ismerem, remélhetőleg lehet benne mention-t is küldeni, mert akkor a telefonomon a Rowi jelezni tudna egy toast notification-nel.
1) A külső hőmérséklet érzékelő alaphelyzetben szokás szerint fals adatokat mér. Külön rendelek hozzá egy “Taki-féle hőmérséklet árnyékoló“-t (2).
2) Remélem, nem sértem meg Taki és a kép feltöltőjének jogait azzal, hogy itt hivatkozok rá.
3) Aki rákeresne, a közelmúltban elköltözött a GitHub-ra.