Remote SDR V1 – Installation
V1 Obsolète. Voir une installation plus récente dans la documentation à droite.
« Remote SDR » ou « SDR Distant » est une application Web permettant de contrôler à distance un émetteur – récepteur de radio amateur entre 1 MHz et 6 GHZ. Sa première application a été le contrôle en duplex d’une station permettant les liaisons vers le satellite géostationnaire QO-100 / Es’Hail 2.
L’ensemble est composé:
- d’une chaine de réception: SDR (Software Design Radio) + un nano processeur Orange PI
- d’une chaine d’émission: SDR + un nano processeur Orange PI
- d’un PC ou d’une tablette contrôlant l’ensemble avec « Remote SDR » tournant sur navigateur web comme Chrome ou Edge.
L’ensemble des fichiers constituant l’application sont téléchargeables sur Github F1ATB/Remote-SDR. C’est un dossier appelé « RemSDR » à mettre sur le bureau (Desktop) de l’utilisateur « sdr » de l’Orange PI One Plus.
Les 2 Orange Pi One Plus reçoivent le même dossier « RemSDR ». On peut, si on le souhaite, installer ce même dossier sur un autre serveur pour lancer l’application Remote SDR.
Fichiers et Dossiers
Par ordre d’importance, ci après quelques explications sur les contenus de « RemSDR ».
server.py
Programme en python 3 qui fourni les fonctionnalités de base d’un serveur web http://
remote_sdr.html
La page web qu’il faut charger depuis votre PC, MAC ou smartphone, pour contrôler l’ensemble émetteur/récepteur. Vous pouvez charger cette page depuis l’orange pi du récepteur, de l’émetteur ou d’un autre serveur sur lequel vous auriez installé les fichiers.
L’adresse est normalement:
http://adresse_IP_Orange_PI:8000/remote_sdr.html
De base le serveur écoute le port 8000.
configurationRX.js
C’est le fichier dans lequel vous définissez en javascript les bandes de fréquences sur lesquelles vous souhaitez travailler avec votre récepteur. Comme exemple, il y a une configuration pour le satellite Oscar 100 / Es’Hail 2. De même d’autres bandes comme le 2m pour faire des essais en local. A éditer avec un éditeur comme « Notepad++ » pour adapter le récepteur à sa configuration matérielle.
configurationTX.js
C’est le fichier javascript qui configure les bandes d’émission.
PY
Dans ce dossier se trouvent les programmes en python. et les sources des fichiers gnuradio-companion du récepteur ( remote_RX_SSB_v1.grc ) et de l’émetteur ( remote_TX_SSB_v1.grc ) avant leur compilation en python 2 pour être executés.
remote_rx_audio.py, remote_rx_para.py et remote_rx_spectre.py permettent l’interface en python 3 entre le récepteur codé avec gnuradio, remote_rx_ssb_v1.py et le client web comme décrit ici.
remote_tx_audio.py et remote_tx_para.py permettent l’interface en python 3 entre l’émetteur codé avec gnuradio, remote_tx_ssb_v1.py et le client web comme décrit ici.
Test_Pin... permettent de tester la sortie sur une pin du GPIO d’un signal oscillateur. C’est une fonctionnalité utilisée pour la sécurité de l’émetteur. Le programme est différent pour un Orange Pi One Plus H6 ou un Orange PI PC2 H5.
JS
Ce dossier contient les bibliothèques javascript jquery et jquery-ui. Remote_sdr.js correspond à la partie principale du javascript traitant Remote-SDR et la fin du traitement du signal du récepteur. Remote_TX.js traite en javascript le début de la chaîne de traitement de l’émetteur.
CSS
Ce dossier contient les feuilles de style permettant la mise en page de remote_sdr.html. On peut à ce niveau modifier la disposition et la couleur des éléments qui constituent la page web.
CGI-bin
Ce dossier contient 2 scripts importants permettant de lancer en python 2 le traitement du signal du récepteur, remote_rx_ssb_v1.py ou de l’émetteur, remote_tx_ssb_v1.py. Ces scripts en perl, start_sdr_rx_ssb.pl et start_sdr_tx_ssb.pl, sont appelés par la page web remote_sdr.html qui lance d’un côté le traitement de réception sur l’Orange PI dédié et de l’autre le traitement d’émission sur l’orange PI côté émetteur. Il n’est pas possible de lancer ces applications de traitement à la mise sous tension des Oranges PI car dans la phase de boot on arrive pas à se connecter au port USB sur lequel est branché le SDR. Pensez à mettre chez fichier executables.
Lorsque remote_sdr.html appelle les script perl, c’est une commande système qui est exécutée pour lancer les applications en python 2 de traitement sur les Orange Pi. Pour avoir accès au port USB, il faut donner des privilèges d’accès à l’utilisateur NOBODY en supprimant la demande de mot de passe. C’est l’objet du fichier python_web qui est copié das le dossier /etc/sudoers.d au moment du boot. Pour en savoir plus, demander à Google ‘sudo visudo’.
Start_Servers_at_boot.sh
Ce fichier est le script qui regroupe toutes les commandes à exécuter lors de la phase de boot de l’Orange PI. Il comprend:
- la redirection de tous les messages d’erreurs vers un fichier temporaire /tmp/Start_servers.log
- le lancement du serveur web: server.py
- le lancement des 3 applications (remote_rx….) en python3 interfaçant le traitement du signal du récepteur vers le client web
- le lancement des 2 applications (remote_tx….) en python3 interfaçant le traitement du signal de l’émetteur vers le client web
- la copie dans /etc/sudoers.d du fichier python_web donnant le privilège nopasswd à Nobody.
Ce script identique sur les 2 Orange PI, lance les applications d’interface nécessaire au récepteur et à l’émetteur.A ce stade on ne sait pas lequel travaillera en réception et lequel en émission. Cela n’est pas gênant car ces applications sont peu gourmandes en ressources.
Pour lancer le script à la mise sous tension de l’Orange PI, on ajoute une ligne de commande au fichier /etc/rc.local qui donne son emplacement.
$ sudo nano /etc/rc.local
/home/sdr/Desktop/RemSDR/Start_Servers_at_boot.sh
Autres Installations
Pour installer l’application Remote SDR sur les Orange PI, il faut préparer leurs environements.
ARMBIAN
Pour le système d’exploitation Armbian, Il faut se rendre sur le site d’Armbian et télécharger la version correspondant à l’Orange Pi One Plus.
Dans l’article suivant vous trouvez la procédure d’installation pour un Orange PI One Plus.
GNU RADIO – RTL-SDR – Hack RF
Il faut installer GNU Radio 3.7 et son éditeur graphique GnuRadio-Companion ainsi que les drivers permettant de connecter un SDR du type RTL-SDR ou Hack RF. L’article suivant détaille la procédure.
Installation websockets
Pour python 3, il faut rajouter la bibliothèque websockets qui permet les échanges avec le navigateur web. En premier on installe l’installateur pip.
sudo apt install python3-pip
Ensuite on installe setuptools:
sudo apt-get install python3-setuptools
Finalement installez websockets
sudo pip3 install websockets
Installation à partir d’une Image
Pour ne pas se prendre la tête avec une installation compliquée, le plus simple est de graver une image sur une carte micro SD de 32 Go de l’ensemble du système. En peu de temps vous aurez un Remote SDR opérationnel.
Vous trouverez sur Github l’image.
Articles décrivant Remote-SDR
- Remote SDR V5 – Installation image Raspberry 4B ou Orange Pi
- Remote SDR v5 – Installation manuelle
- Remote SDR v5
- Écoute Satellite QO-100 en direct
- RTTY
- Dépannage
- Émetteur – Récepteur pour QO-100
- SSTV
- WSJT-X – FT8
- Omnirig – Remote SDR
- Ports de communication
- Générateurs de tonalités
- Positionnement sorties GPIO
- Scanning en réception
- Gains et Dynamiques
- Gestion des fréquences
- Lancement de Remote SDR
- Refroidissement CPU
- Autorisation traitement audio et microphone
- Configurations
- Caractéristiques
- Introduction à Remote SDR
- Remote SDR – Canaux Audio
- CW avec Remote SDR
- Bouton Rotatif et Manipulateur Morse pour Remote SDR
- VHF et UHF NBFM Transceiver
- Remote SDR v4
- Gpredict – Remote SDR
- Remote SDR V4 – Installation image Raspberry 4B ou Orange Pi
- Remote SDR v4 – Installation manuelle
- SA818 / RTL-SDR
- Remote SDR – Exemples de Réalisations
- QSO via QO-100 avec un smartphone
- Remote SDR V2 – Architecture Logiciel
- Remote SDR V1 – Approvisionnements
- Remote SDR V1 – Interface Homme Machine
- Remote SDR V1 – Traitement du Signal
- Client Web vers GNU Radio
- GNU Radio vers client Web
- Emetteur BLU distant
- Récepteur BLU distant
- GPIO de l’Orange PI One Plus H6
- Émetteur et récepteur vers Q0-100 avec 2 SDR – Remote SDR V1
- Installation TCXO sur un HackRF
j’ai réalisé une station complète basée sur RemSDR et je trouve que c’est une solution propre performante et facile à mettre en oeuvre pour être opérationnel sur le satellite QO-100.
Merci André pour ce très beau projet.
F1FHK