Étape 3: Et maintenant, certains logiciels...
La lecture des données du compteurJ’ai joint un petit programme C (énigmatique appelé ft) qui lira le FTDI directement. Ce programme n’est rien de compliqué, il va :
1. Abaissez la DTR provoque le compteur pour nous donner des informations précieuses
2. lire jusqu'à ce qu’il n’y a pas de données pendant 2 secondes
3. tout imprimer à l’écran
Pour compiler ce sur le rPi, installez « ftdilib-dev » sur le rPi avec "sudo apt-get installer libftdi-dev", copie le fichier tar à l’IPD (sous le compte root dans le répertoire/root pour garder les choses simples), décompresser en utilisant tar - xvf datacollector.tar et puis question le "faire" commande dans le répertoire/root.
Si tout se passe comme prévu, le compilateur va nous donner le programme ft . Si vous démarrez ce programme (entrer . YD et appuyez sur entrée), un bloc d’informations est affiché comme :
---------------------------------------------------------------------------
/ KMP5 KA6U005464565461
0-0:96.1.1(352345243543524352345353535353243)
1-0:1.8.1(00913.000*kWh)
1-0:1.8.2(00787.000*kWh)
1-0:2.8.1(00000.000*kWh)
1-0:2.8.2(00000.000*kWh)
0-0:96.14.0(0001)
1-0:1.7.0(0000.25*kW)
1-0:2.7.0(0000.00*kW)
0-0:17.0.0(999*A)
0-0:96.3.10(1)
0-0:96.13.1()
0-0:96.13.0()
0-1:24.1.0(3)
0-1:96.1.0(352345243543524352345353535353243)
0-1:24.3.0(120531230000)(08)(60)(1)(0-1:24.2.1)(m3)
(00752.852)
0-1:24.4.0(1)
!
---------------------------------------------------------------------------
Si aucune donnée correcte n’est affichée, les connexions au compteur d’énergie ne sont probablement pas correctes. Vérifiez-les à nouveau ! Si le programme ft bombes avec un message que l’appareil ne peut pas être ouvert :
-Vérifiez que vous exécutez en tant qu’utilisateur racine . L’accès à la périphérique FTDI requiert des privilèges supplémentaires.
-Si vous avez une autre version FTDI (ou d’un fabricant de différence) vérifier les deux fabricant hexadécimal / dispositif de nombres dans l’appel de ftdi_usb_open . Utilisez la commande lsusb pour déterminer les nombres hexadécimaux à droite pour votre périphérique FTDI.
-Si les seules données affichées à l’écran sont beaucoup de charabia, vérifiez si la broche RXD a été inversée à l’aide de l’utilitaire FT_PROG sur une machine windows. Il faut vraiment être inversé ! Vous pouvez obtenir cet utilitaire sur le site FTDI.
Conversion des données
Les données seront analysées par un petit programme AWK (cosm.sh et cosm.awk) pour créer les données pour publier sur Cosm. Le programme AWK scanne la sortie du programme ft et ramasse les pièces qui que nous intéresse. Enfin, les données sont concertées dans une structure JSON, qui peut être alimentée directement en Cosm.
Un exemple d’un tel message de données :
------------------------------------------------------------------------
{
« version »: « 1.0.0 »,
« données »: [
{« id »: « + T1 », « current_value »: « 00913.000 »},
{« id »: « + T2 », « current_value »: « 00787.000 »},
{« id »: "TotalkWh", "current_value": « 1700 »},
{« id »: "W1", "current_value": « 0000.34 »},
{« id »: "W2", "current_value": « 0000.00 »},
{« id »: "Gaz", "current_value": « 00752.852 »}
]}
------------------------------------------------------------------------
Tester le script AWK en lançant :
. YD | awk -f cosm.awk
La sortie doit ressembler à du bloc du code JSON ci-dessus.
Relier les deux étapes précédentes
Le script cosm.sh se déroulera les deux étapes précédentes et enfin valider la structure JSON résultante de Cosm. Avant que nous y parvenons, nous aurons créer un compte Cosm, créez une clé API et l’alimentation.
Je vais décrire ces étapes à l’étape suivante.