Page 1 sur 1
					
				Problemes avec les redirections et pipe
				Posté : dim. 20 déc. 2020 17:08
				par Lange
				Bonjour,
J'ai un problème avec un logiciel sur Raspberry4 et 3B+, et avec le logiciel rtl_433 qui comme son nom l'indique permet de décoder les transmissions en 433 Mhz. Logiciel qui fonctionne correctement, mais je n'arrive pas à récupérer les résultats 
qui  s'affichent dans un terminal, quoique je fasse avec une redirection du type 
./rtl_433 -A >> fichier.txt ou ./rtl_433 -A | 1>fichier.txt, le fichier est bien crée mais toujours vide.
 La seule solution est de faire du copier/coller sur le terminal.
https://github.com/merbanan/rtl_433.git
Merci pour la ou les réponses.
Salutations
 
			 
			
					
				Re: Problemes avec les redirections et pipe
				Posté : lun. 21 déc. 2020 18:01
				par Artemus24
				Salut lange.
Quelque chose dans ce genre là :
@+
 
			 
			
					
				Re: Problemes avec les redirections et pipe
				Posté : jeu. 24 déc. 2020 16:00
				par Lange
				Bonjour,
Toutes mes excuses pour ce retard.
Suite à quelques coupures intempestives du réseau électrique, j'ai perdu quelques matériels
et je n'ai pas pu tout faire redémarrer correctement.
Merci pour votre réponse et après essais concluants votre syntaxe est parfaite.
Mais tout cela me rappelle ma jeunesse, ayant plus de 72 ans, j'ai repris mes cours Unix
des années 90, en particulier le livre UNIX Utilisation Administration système et réseau
de Christian Pélissier et ou j'ai trouvé également votre syntaxe, mais avec l'age je
n'ai pas trop compris l'utilisation du caractère & dans les redirections.
Je mets à tout hasard une partie scannée de la page qui concerne les redirections,
cela peut servir à d'autres personnes.
Je vais mettre ce livre à coté du raspberry, on ne sait jamais.
Merci pour votre réponse et bonnes fêtes de fin d'année.
Issu du livre UNIX Utilisation Administration système er réseau de Christian Pélissier 
Le shell et le Korn shell 
5.7     Compléments sur les redirections
 Les redirections (le terme réaffectation ou réassignation conviendrait mieux) 
 ont été abordées dans le chapitre décrivant le système de fichiers. 
 La syntaxe des redirections est :
 cde < file  ou  cde 0< file
 cde > file  ou  cde 1> file 
 cde 2> file
 
 II est possible de rediriger un descripteur sur un autre (en fait sur le fichier 
 associé à cet autre descripteur) au moyen de la syntaxe suivante :
     n>&m    # n et m sont  des  descripteurs  de  fichiers.
 
 Par exemple il est possible d'afficher un message d'erreur sur stderr avec la commande écho.
 $ écho  "message"   1>&2
 L'ordre des redirections est très important. Examinons les deux commandes suivantes :
 $  ls  2>  file     1>&2  (1) ou ls 1>file 2>&1
 $  ls  1>&2     2> file   (2)
 Dans la commande (1) on réaffecte le descripteur 2 au fichier file, puis on
 réaffecte le descripteur 1 sur 2 qui est maintenant assigné à file. On a donc
 assigné 1 à file. La sortie standard de ls et les messages d'erreur seront donc
 rangés dans le fichier file.
 
 Dans la commande (2) on réaffecte 1 sur 2 qui est déjà assigné au terminal.
 on a donc réaffecté 1 au terminal (elle l'était déjà), puis on réaffecte 2 au fichier file.
 La sortie standard de la commande ls sera donc affichée sur le terminal, 
 les erreurs seront rangées dans le fichier file.
 
 La syntaxe de redirection de descripteur s'applique aussi à l'entrée standard
 de sorte qu'on peut rediriger l'entrée standard sur n'importe quel descripteur.
 Ainsi la forme suivante lira depuis le descripteur de fichier numéro n.
   exec  n<filename 
   read var 0<&n
 Il est possible de fermer un descripteur en utilisant les syntaxes suivantes : 
 >&-, <&-, 2>&-, etc. Ainsi la forme 3<&- fermera le descripteur 3.
5.7.1     La capture de la sortie standard
 Le shell permet, la capture de la sortie standard pour la ranger dans une 
 variable ou pour donner le résultat d'une commande en argument d'une autre commande. 
 La sortie standard est capturée lorsqu'une commande est placée entre ` `
 
 $ a=10
 $ a='expr $a + 6'    # incrémentation de la variable a.
 $ echo $a
 16
 $ name='basename alpha.c .c' 
 $ echo $name
 alpha
 
 $ list=`ls *.mp`
 echo $list
 advcmd.mp bascmd.mp bashell.mp compil.mp cron.mp cshell.mp disk.mp ether.mp 
 files.mp hist.mp login.mp magtp.mp mail.mp miscmd.mp nroff.mp print.mp 
 shell.mp tape.mp tc.mp
			 
			
					
				Re: Problemes avec les redirections et pipe
				Posté : mar. 12 janv. 2021 18:10
				par domos
				Bonjour,
Tu peux utiliser d'autres methodes pour intégrer les données de rtl433:
Avec un serveur MQTT:
Code : Tout sélectionner
$ rtl_433 -F mqtt://mqtthost:1883
rtl_433 version 19.08-233-ga552abc branch master at 202002141216 inputs file rtl_tcp RTL-SDR
Use -h for usage help and see https://triq.org/ for documentation.
Trying conf file at "rtl_433.conf"...
Trying conf file at "/home/dan/.config/rtl_433/rtl_433.conf"...
Trying conf file at "/usr/local/etc/rtl_433/rtl_433.conf"...
Trying conf file at "/etc/rtl_433/rtl_433.conf"...
Publishing MQTT data to vesta port 1883
Publishing device info to MQTT topic "rtl_433/hestia/devices[/type][/model][/subtype][/channel][/id]".
Publishing events info to MQTT topic "rtl_433/hestia/events".
Publishing states info to MQTT topic "rtl_433/hestia/states".
Registered 122 out of 149 device decoding protocols [ 1-4 8 11-12 15-17 19-21 23 25-26 29-36 38-60 63 67-71 73-100 102-105 108-116 119 121 124-128 130-149 ]
Detached kernel driver
Found Rafael Micro R820T tuner
Exact sample rate is: 250000.000414 Hz
[R82XX] PLL not locked!
Sample rate set to 250000 S/s.
Tuner gain set to Auto.
Tuned to 433.920MHz.
Allocating 15 zero-copy buffers
MQTT Connected...
MQTT Connection established.
Messages MQTT:
```
2020-02-15 18:22:38,411 0  rtl_433/hestia/devices/Oregon-THGR122N/3/72/time  2020-02-15 18:22:37
2020-02-15 18:22:38,412 0  rtl_433/hestia/devices/Oregon-THGR122N/3/72/id  72
2020-02-15 18:22:38,412 0  rtl_433/hestia/devices/Oregon-THGR122N/3/72/channel  3
2020-02-15 18:22:38,413 0  rtl_433/hestia/devices/Oregon-THGR122N/3/72/battery_ok  0
2020-02-15 18:22:38,413 0  rtl_433/hestia/devices/Oregon-THGR122N/3/72/temperature_C  20.2
2020-02-15 18:22:38,414 0  rtl_433/hestia/devices/Oregon-THGR122N/3/72/humidity  46
2020-02-15 18:22:38,414 0  rtl_433/hestia/events  {"time":"2020-02-15 18:22:37","brand":"OS","model":"Oregon-THGR122N","id":72,"channel":3,"battery_ok":0,"temperature_C":20.2,"humidity":46}
2020-02-15 18:22:38,415 0  rtl_433/hestia/devices/Oregon-THGR122N/3/72/time  2020-02-15 18:22:37
2020-02-15 18:22:38,415 0  rtl_433/hestia/devices/Oregon-THGR122N/3/72/id  72
2020-02-15 18:22:38,415 0  rtl_433/hestia/devices/Oregon-THGR122N/3/72/channel  3
2020-02-15 18:22:38,416 0  rtl_433/hestia/devices/Oregon-THGR122N/3/72/battery_ok  0
2020-02-15 18:22:38,416 0  rtl_433/hestia/devices/Oregon-THGR122N/3/72/temperature_C  20.2
2020-02-15 18:22:38,417 0  rtl_433/hestia/devices/Oregon-THGR122N/3/72/humidity  46
```
Sortie en JSON renvoyée dans un fichier:
Code : Tout sélectionner
rtl_433 -F json:/tmp/rtl_433-json.log
{"time" : "2020-02-21 23:04:22", "model" : "Waveman-Switch", "id" : "M", "channel" : 1, "button" : 2, "state" : "off"}
{"time" : "2020-02-21 23:04:22", "model" : "Akhan-100F14", "id" : 21505, "data" : "0x4 (Mute)"}
{"time" : "2020-02-21 23:04:22", "model" : "Waveman-Switch", "id" : "M", "channel" : 1, "button" : 2, "state" : "off"}
{"time" : "2020-02-21 23:04:22", "model" : "Akhan-100F14", "id" : 21505, "data" : "0x4 (Mute)"}
{"time" : "2020-02-21 23:04:23", "model" : "Waveman-Switch", "id" : "M", "channel" : 1, "button" : 2, "state" : "off"}
{"time" : "2020-02-21 23:04:23", "model" : "Akhan-100F14", "id" : 21505, "data" : "0x4 (Mute)"}
{"time" : "2020-02-21 23:04:23", "model" : "Waveman-Switch", "id" : "M", "channel" : 1, "button" : 2, "state" : "off"}
...
Je suis parti de la version Github pour avoir les dernières évolutions:
Code : Tout sélectionner
```bash
$ git clone https://github.com/merbanan/rtl_433.git
$ cd rtl_433/
$ mkdir build
$ cd build/
$ cmake ../
$ make
$ sudo make install
```
 
			 
			
					
				Re: Problemes avec les redirections et pipe
				Posté : ven. 15 janv. 2021 21:13
				par Lange
				Bonsoir,
Merci pour cette réponse, c'est toujours bon à savoir pour cette nouvelle utilisation.
Salutations.