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:

rpi_home_screenshot

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ória: IT Címke: , , , , ,