Catégories
EDF iot Non classé supervision

#iot – RunAbove

Depuis quelques temps je travail sur des sondes #iot pour capturer des données environnementales chez moi. Ces captures ont pour but de mieux connaitre mon environnement, et agir sur ce dernier dans le but d’optimiser les rendements et l’expérience de l’utilisateurs chez moi.

Ayant commencé l’hébergement des données chez moi j’ai trouvé que les données n’étaient pas backupé, et pas obligatoirement stocké dans un environnement adapté à l’utilisation que je voulais en faire.

Travaillant avec les services d’OVH depuis quelques années (publicité gratuite : très bon service ;p), je me suis tourné sur leur plateforme Time Series PaaS.


J’ai donc commencé par dupliquer le stockage des données sur leur service après avoir créé une instance « Internet Of Things » et récupéré les tokens.

Ensuite dans mon script, j’ai rajouté le code suivant (que j’ai copié/collé d’un site dont j’ai oublié l’URL, désolé) :

// send to OVH IOT
$timestamp=time();
$data_string = array (
'metric' => 'power',
'timestamp' => $timestamp,
'value' => (float)$papp,
'tags' => array( 'compteur' => 'home' )
);

$data_string = json_encode($data_string);
$ch = curl_init(‘https://opentsdb.iot.runabove.io/api/put’);
curl_setopt($ch, CURLOPT_USERPWD, « LOGIN:PASS »);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, « POST »);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
‘Content-Type: application/json’,
‘Content-Length: ‘ . strlen($data_string))
);
$result = curl_exec($ch);

Après pour vérifier que vous avez bien des données de stocké dans le serveur, il faut utiliser la commande suivante :

curl -u LOGIN:PASS -X POST "https://opentsdb.iot.runabove.io/api/query" -d '{ "start":"1451343600", "queries":[ { "metric": "power", "aggregator":"sum" } ] }'

la valeur de start étant la date/heure en unixtime de départ souhaité

Example :

jdenoy@srv01:~# curl -u LOGIN:PASS -X POST "https://opentsdb.iot.runabove.io/api/query" -d '{ "start":"1451343600", "queries":[ { "metric": "power", "aggregator":"sum" } ] }'
[{"metric":"power","tags":{"compteur":"home"},"aggregateTags":[],"dps":{"1451343724":2463.3333333333335,"1451344324":1250,"1451344924":1041.111111111111,"1451345524":585,"1451346124":1370,"1451346724":770,"1451347324":688.1818181818181,"1451347924":1325,"1451348524":647,"1451349124":2375.5555555555557,"1451349724":3791,"1451350324":3804,"1451350924":4371.111111111111,"1451351524":4839.090909090909,"1451352124":4372,"1451352724":2508,"1451353324":1820,"1451353924":1132.2222222222222,"1451354524":1060,"1451355124":1772.7272727272727,"1451355724":1213,"1451356324":3237.777777777778,"1451356924":3407.2727272727275,"1451357524":702,"1451358124":1835.5555555555557,"1451358724":1012,"1451359324":1667,"1451359924":729.0909090909091,"1451360524":1365,"1451361124":1509,"1451361724":892.2222222222222,"1451362324":1423.6363636363637,"1451362924":783,"1451363524":2054.4444444444443,"1451364124":3889.090909090909,"1451364724":1970,"1451365324":1324.4444444444443,"1451365924":1494.5454545454545,"1451366524":1966,"1451367124":3183,"1451367724":2993.3333333333335,"1451368324":2597.2727272727275,"1451368924":1625,"1451369524":2220,"1451370124":1611.8181818181818,"1451370724":2814,"1451371324":3435,"1451371924":3538.8888888888887,"1451372524":2684.5454545454545,"1451373124":1396,"1451373724":2426.6666666666665,"1451374324":2576,"1451374924":477.27272727272725,"1451375524":720,"1451376124":1965.5555555555557,"1451376724":1338.1818181818182,"1451377324":516,"1451377924":835,"1451378524":2311,"1451379124":1835.5555555555557,"1451379724":2930.909090909091,"1451380324":4092,"1451380924":2906,"1451381524":4104.444444444444,"1451382124":2270,"1451382724":2625.4545454545455,"1451383324":2773,"1451383924":4057,"1451384524":4105,"1451385124":2856,"1451385724":3528,"1451386324":2678,"1451386924":1538,"1451387524":1356,"1451388124":4555,"1451388724":2916.6666666666665,"1451389324":2340,"1451389924":966.3636363636364,"1451390524":596,"1451391124":1162,"1451391724":957.7777777777778,"1451392324":982.7272727272727,"1451392924":2748,"1451393524":868.8888888888889,"1451394124":288.1818181818182,"1451394724":596,"1451395324":858,"1451395924":538.8888888888889,"1451396524":359.09090909090907,"1451397124":422.22222222222223,"1451397724":1452,"1451398324":1451,"1451398924":1848.1818181818182,"1451399524":2077,"1451400124":1832.2222222222222,"1451400724":1809.090909090909,"1451401324":2419,"1451401924":3014,"1451402524":2046,"1451403124":2065.5555555555557,"1451403724":1875.4545454545455}}]


Sinon c’est sympa, mais avec une interface graphique c’est mieux! Du coup je suis partis sur Grafana qui semble être une bonne interface de gestion de dashboard à partir de données « cloud ». Pour l’installation, je vous laisse consulter le tutorial de Florian.

Pour le résultat , ça donne cela chez moi pour aujourd’hui :

Prochaine version, afficher consommation en heures pleines et heures creuses.

Catégories
iot PRIOS

Consommation eau – PRIOS

Depuis quelques mois je travaille sur un projet supervision de consommation électrique et eau. La première partie du projet pour la consommation électrique semble maintenant fonctionner correctement.

Maintenant je travail sur la supervision de ma consommation d’eau, et heureusement pour moi, mon compteur possède un module radio qui envois les infos toutes les 8/10 secondes.

Il reste cependant à isoler le signal, le décoder, et surtout exploiter les informations.

Ce que je sais pour le moment, c’est qu’il est fabriqué par la société Sappel, qu’il émet sur 868,95Mhz en FSK, en unidirectionnel, avec une puissance maximum de 16 mW, et que le protocole utilisé est PRIOS ( aucune documentation n’existe pour ce protocole sur internet pour le publique).

fsk

Si certains ont des informations, pistes, etc, n’hésitez pas a m’aider (anonymement si vous le souhaitez). Je posterais des infos au fur et à mesure que j’avance, si j’ai le droit…

Catégories
EDF iot

#IOT – EDF

Il est toujours intéressant de connaitre la consommation électrique en temps réel chez soi. Ça fait maintenant deux ans que je travail sur ce projet et je commence à avoir des choses sympas!

2015-08-22_11-12-33

Une courbe à cinq minutes sur la journée en cours :

Une courbe sur la journée avec heures creuses/heures pleines et la comparatif de la journée précédente en ligne violet :

2015-08-22_11-30-23

Je récupère les données directement du compteur EDF avec un relevé toutes les minutes. Ça me fait un bon nombre de données.

Je vais maintenant faire des plus beaux graph sur une seule page