Gyengus™ weblapja

Phant telepítése Raspberry Pi-re

A Phant egy moduláris node.js-re épülő adatgyűjtő eszköz. Tipikusan különféle szenzorok - pl. hőmérséklet - adatainak mentésére szolgál. Ez a nyílt forráskódú szoftver hajtja a data.sparkfun.com szolgáltatást. Létrehozta és karbantartja: SparkFun Electronics. A forrása letölthető és futtatható saját szerveren.

Először a node.js-t kell telepíteni a Raspberry Pi-re:

$ sudo wget http://node-arm.herokuapp.com/node_latest_armhf.deb  
$ sudo dpkg -i node_latest_armhf.deb

Ha gond nélkül feltelepült a node.js, akkor telepíthetjük a Phant-ot:

$ npm install -g phant

A fenti parancs globálisan telepíti.

Phant indítása:

$ phant

Néhány másodperc alatt elindul és kiírja, hogy a webes felületet a 8080-as porton érhetjük míg telnet használatával a 8081-es portot használva tudunk hozzá csatlakozni. Utóbbira az adatfolyamok létrehozása és törlése miatt van szükségünk.

Csatlakozás után létrehozhatjuk a streamet:

phant> create  
Enter a title> Temperatures  
Enter a description> RPI hőmérsékletek  
Enter fields (comma separated)> sensor_id,sensor_name,temperature,time  
Enter tags (comma separated)> temperature,rpi

Stream created!  
PUBLIC KEY: xxxxxxxxxxxxxxxxxxxxxx  
PRIVATE KEY: xxxxxxxxxxxxxxxxxxxxxx  
DELETE KEY: xxxxxxxxxxxxxxxxxxxxxx

A create parancs után meg kell adni a stream

  1. nevét,
  2. leírását,
  3. a mezőket, vesszővel elválasztva,
  4. a címkéket, szintén vesszővel elválasztva.

Ezután létrejön a stream és kapunk 3 kulcsot, ezeket mentsük el jól, mert később szükségünk lesz rá.

Az adatokat egyszerű http kérésekkel tolhatjuk be a streambe. A hivatalos dokumentáció alapján írtam rá egy PHP osztályt:

Használata egyszerű:

Mint a fenti példából is látszik, a málna által mért hőmérsékleti értékeket tolom be az adatfolyamba. Ez természetesen csak úgy érdekes, ha meg is jelenítjük az adatokat:

Egy script 5 percenként méri a hőmérsékleteket. A fenti grafikon az utolsó 288 mérés eredményét mutatja.

Frissítés:

Az osztályból készítettem egy csomagot, ez felkerült a Packagist-re. Mostantól, Composer-rel egyszerűen telepíthető.
A következő sorokat kell a composer.json nevű fájlba írni:

{  
    "require": {  
        "gyengus/phantclient": "1.0.0"  
    }  
}

ezután a

$ composer install

parancs telepíti a csomagot és elkészíti az autoloadhoz szükséges fájlokat.
Az osztály betöltése és példányosítása a következőképpen zajlik:

require_once(__DIR__ . "/vendor/autoload.php");  
$phant = new Gyengus\PhantClient\Phant(PHANT_URL, PHANT_PUBKEY, PHANT_PRIVKEY, PHANT_DELKEY);
Kategóriák: IT
Dátum: 2014. július. 23.
Ha tetszett a cikk, oszd meg barátaiddal:
« »