37 lines
1.4 KiB
Plaintext
37 lines
1.4 KiB
Plaintext
|
====== Envoyer la sortie de RASPJSON vers une unité de traitement ======
|
||
|
|
||
|
La [[electronique:teleinformation-compteur-electricite:le-bornier-teleinformation-d-un-compteur|TIC du compteur électrique]] reliée à un [[electronique:teleinformation-compteur-electricite:cote_informatique|démodulateur ASK]] nous fournit des **trames JSON** par le biais du [[electronique:teleinformation-compteur-electricite:installation-programme-raspjson|programme raspjson]].
|
||
|
|
||
|
{{:electronique:teleinformation-compteur-electricite:pasted:20210101-232411.png}}
|
||
|
|
||
|
Ces informations **JSON** doivent être communiquer à l'unité de traitement principale. Il faut s'attendre aux pires :
|
||
|
* quantité de trames lues trop importante par rapport au nombre pouvant être traitée par l'unité de traitement dans un même laps de temps
|
||
|
* temps de réponse de l'unité de traitement très long
|
||
|
* unité de traitement injoignable
|
||
|
|
||
|
Dans ces cas, il faut continuer à réceptionner les informations et les mémoriser.
|
||
|
|
||
|
<code>
|
||
|
|
||
|
raspjson > fichier unique
|
||
|
traitementJSON&
|
||
|
|
||
|
</code>
|
||
|
|
||
|
--
|
||
|
|
||
|
Lecture du fichier **buffer**
|
||
|
|
||
|
<code BASH>
|
||
|
#!/bin/bash
|
||
|
fifo_name="/tmp/edf_20210101.json"
|
||
|
while true
|
||
|
do
|
||
|
if read line; then
|
||
|
curl -v http://127.0.0.1/compteurTIC/trame -H 'Content-Type: application.json' -d "`echo $line`"
|
||
|
if [ $? eq 0 ], then
|
||
|
sed "1,$n d" "$fifo_name"
|
||
|
fi
|
||
|
fi
|
||
|
done <"$fifo_name"
|
||
|
</code>
|