Bonsoir,
En fait, j'utilise cette commande :
/usr/local/bin/rtl_fm -N -f XXX.XXXXM -s 22.05k -p XX | /usr/local/bin/multimon -a POCSAG512 -a POCSAG1200 -f alpha -t raw /dev/stdin | /bin/sed -u '/^POCSAG[0-9]\{3,4\}[+-]\{1\}: A/!d' | /bin/sed -u '/Address/N;s/POCSAG[0-9]\{3,4\}[+-]\{1\}: Address: \([ 0-9]\{7\}\).*POCSAG[0-9]\{3,4\}[+-]\{1\}: Alpha: \(.*\)/\1;\2/;h;s/\(.*\)/\/bin\/date +"%Y-%m-%d %H:%M:%S;"/e;G;s/\n//g' | /usr/bin/tee /home/pi/pocsag/`date +"%Y-%m-%d_%H%M%S"`.csv &
Quand un signal est reçu et décodé, celui-ci est envoyé à sed pour être traité puis à tee pour être enregistré localement.
Je dois en plus envoyer ces données sur un serveur HTTP via la méthode POST, il faut par conséquent que je trouve une méthode pour passer mes données traitées et mises en forme à cURL via la commande suivante :
curl -d "ici mes données traitées" http://www.monsite.com/mon_repertoire/mon_script.php
Le code pourrait ressembler à ça au final :
/usr/local/bin/rtl_fm -N -f XXX.XXXXM -s 22.05k -p XX | /usr/local/bin/multimon -a POCSAG512 -a POCSAG1200 -f alpha -t raw /dev/stdin | /bin/sed -u '/^POCSAG[0-9]\{3,4\}[+-]\{1\}: A/!d' | /bin/sed -u '/Address/N;s/POCSAG[0-9]\{3,4\}[+-]\{1\}: Address: \([ 0-9]\{7\}\).*POCSAG[0-9]\{3,4\}[+-]\{1\}: Alpha: \(.*\)/\1;\2/;h;s/\(.*\)/\/bin\/date +"%Y-%m-%d %H:%M:%S;"/e;G;s/\n//g' | /usr/bin/tee /home/pi/pocsag/`date +"%Y-%m-%d_%H%M%S"`.csv | /usr/bin/curl -d "ici mes données traitées que je ne sais comment récupérer dans la même ligne de commande" http://www.monsite.com/mon_repertoire/mon_script.php &
Mais je ne sais pas comment réutiliser mes données pour les mettre en paramètre de la commande suivante en une seule ligne.
Merci pour votre aide,
ZiP
Partager