Lancement script GNU Radio au boot

Auto démarrage de GNU Radio

Avec une application GNU Radio (3.7) tournant sur un Raspberry PI ou un Orange PI, il peut ĂŞtre intĂ©ressant de lancer le script Python gĂ©nĂ©rĂ© par GNU Radio Companion au boot. Si vous mettez le lancement du programme python dans une tache crontab ou le fichier /etc/rc.local , le programme dĂ©marrera et s’arrĂŞtera immĂ©diatement. Vous perdrez des heures Ă  comprendre pourquoi….

Structure du fichier Python

Editez le script gĂ©nĂ©rĂ© par GNU Radio companion. Il comprend une ‘class’ portant le nom du fichier et en fin la fonction principale de lancement main(). Exemple pour le fichier ‘remote_rx_ssb_v1.py’.

La source du problème vient que le programme une fois lancĂ© attend un ‘Enter’ pour s’arrĂŞter. Celui-ci apparait au lancement dans un Crontab.
Voir le message ‘Press Enter to Quit’.

Afin de s’en affranchir, il ya deux solutions:

  • modifier le bloc option en remplaçant ‘Prompt for Exit’ par ‘Run to Completion’.
  • ne pas modifier le fichier gĂ©nĂ©rĂ© par GNU Radio Companion afin de pouvoir le modifier si on veut faire Ă©voluer le traitement. On va crĂ©er un script python de lancement qui reprendra la ‘class’. Dans le mĂŞme dossier ou se trouve le fichier python de gnu radio crĂ©er le fichier ‘gnu_radio_launcher.py’. qui l’importera.
import remote_rx_ssb_v1

def my_main(top_block_cls=remote_rx_ssb_v1.remote_rx_ssb_v1, options=None):
    tb = top_block_cls()
    tb.start()
    tb.wait()
if __name__ == '__main__':
    my_main()

Appelez ce fichier dans un crontab au lancement et le GNU-Radio sera lancé.

Articles traitant de GNU Radio

F1ATB André

Ham Radio - Home automation - Photovoltaic