Commander un relais avec Telegram depuis un smartphone

En installant un « robot » un « bot » sur le Raspberry PI de votre relais, vous pourrez via Telegram obtenir plusieurs informations concernant votre relais, ainsi qu’envoyer des « sms » sur tous les postes des OM’s à l’écoute du relais. Ceci fonctionne pour les relais tournant sur la distribution de G4KLX et sur les MMDVM, pour les distributions Pi-Star, je n’ai pas testé, mais cela doit fonctionner à condition de bien indiquer les chemins des fichiers .log dans le script Python.

Un grand merci à SM6/YO6FWM qui a écrit la base du script sous Python.

Voici comment procéder :

Etape 1 : installez Telegram sur votre smartphone si ce n’est déjà fait. Allez sur App Store (iPhone) ou Play Store (Android), téléchargez et installez Telegram sur votre téléphone.

Etape 2 : Envoyez un message /newbot à BotFather

Ouvrir Telgram sur votre téléphone et recherchez l’utilisateur BotFather.

Pour obtenir un compte bot, envoyez lui le message /newbot. (Attention avec un ‘/’ au début). Il va vous répondre en posant plusieurs questions (en anglais). Dans la capture d’écran au-dessus, j’ai appelé le mien F1JMN, je vous invite à l’appeler de l’indicatif de votre relais F1ZXX par exemple.

A la fin de l’opération, vous allez recevoir un token, qui ressemble à cela : 123456789:ABCdefGhIJKlmNoPQRsTUVwxyZ. Ce token represente le « bot account ». Vous allez devoir le rentrer dans le script Python sur le Raspberry PI.

Pour éviter d’avoir à le recopier à la main, je vous invite à vous connecter avec vos identifiants sur le site web de Telegram Telegram’s Web Version

Etape 3 : Installez Telepot sur le Raspberry Pi :

Ouvrir une session ssh sur le RPI, puis rentrez les lignes de commandes ci-après :

sudo apt-get install python-pip
sudo pip install telepot

si vous rencontrez un problème dans l’installation de telepot, alors rentrez la ligne de commande suivante :

sudo pip install telepot –index-url=https://pypi.python.org/simple/

tapez ensuite :

python

dans la ligne de commande qui s’ouvre, tapez :

import telepot
bot = telepot.Bot(‘*** copiez ici le token que vous avez obtenu ***’)
bot.getMe()

Si la dernière commande, getMe(), vous renvoie une description de votre « bot account » c’est que tout est bon. Rentrez alors la commande :

exit()

pour quitter Python.

Etape 4 : modifier le script Python :

téléchargeable ici:
https://www.dstar-france.fr/fichiers/F1ZXX.py

Pour que le script Python que vous venez de créer avec Telepot puisse fonctionner avec votre relais, il va falloir l’éditer et le modifier. Pour éditer le script rentrez :

sudo nano F1ZXX.py

remplacez bien sûr F1ZXX par l’indicatif de votre relais, comme vous l’avez rentrez à l’étape 2

Sélectionnez ensuite tout le texte qui est dans le fichier et remplacez le par celui qui est dans le lien suivant :

F1ZXX

une fois le texte collé dans le fichier F1ZXX.py il vous faudra modifier quelques paramètres au début du fichier ( en rouge ):

# ici remplir les indicatifs de votre relais. S’il y a deux modules spécifier les. S’il n’y en a qu’un seul laisser vide le champ correspondant.

relay = « F1ZXX   « 

relayC = « F1ZXX  C« 

relayB = « F1ZXX  B« 

# Pour avoir une clé gratuite API, rendez vous sur le site : https://www.wunderground.com/weather/api/

APIwunderground = « a-remplir« 

#Rentrez ci-après les coordonnées de votre relais

APIgps = « 45.7749,4.6633« 

# Le token est à obtenir auprès de BotFather, suivre le tuto sur : http://www.instructables.com/id/Set-up-Telegram-Bot-on-Raspberry-Pi/

# Si vous rencontrez un problème dans la commande « Sudo pip install telepot  » faire la commande « sudo pip install telepot  –index-url=https://pypi$

token= »a-remplir-token-de-BotFather« 

Une fois tout bien rempli, taper les commandes :

<crtl X> pour quitter nano et <O> ou <Y> pour sauvegarder le fichier.

 

Etape 5 et dernière : rendre le script exécutable au démarrage du RPI :

tapez la commande :

sudo nano /etc/rc.local

et insérez :

sudo python /home/pi/F1ZXX.py

juste avant « # Print the IP address »

<crtl X> pour quitter nano et <O> ou <Y> pour sauvegarder le fichier.

faire un reboot du RPI :

sudo reboot

 

Etape 6 : utilisation :

Depuis votre smartphone dans l’application Telegram faire une recherche dans les contacts de votre relais F1ZXX, une fois trouvé, vous pouvez lui envoyer les commandes suivantes :

/status :  vous dira sur quels réflecteurs sont connectés les modules du relais,

/last (x) : vous donnera les x derniers indicatifs reçus,

/sms text : enverra le text via sms par la voie radio du relais,

/time : vous donnera l’heure du RPI,

/ip : vous donnera l’adresse IP privée du RPI sur le réseau,

/mon (on/off) : permet de monitorer le relais,

/wx : vous donnera la météo à l’instant T,

/forecast : vous donnera les prévisions météo.