Mr Coper

Top
TELEPOT / MOTION CRÉER UN BOT QUI CAPTURE DES IMAGES
By Boboss
Infos:

Avec l'application Telegram, vous avez la possibilité de créer un "BOT", c'est à dire un robot qui réagi suivant ce que vous lui demandez via l'appli Telegram. Nous allons voir comment l'installer sur Pi et lui faire envoyer des photos de la caméra à distance et sur demande !

1. PRÉSENATION

Vous connaissez Telegram ? NON !? Telegram est une application, équivalente à Whta's App, qui permet de discuter avec ses amis, partager des photos et vidéos, en groupe ou en privé. Telepot tourne avec python est permet de gérer un BOT (utilisateur robot) programmable, de Telegram. Vous connaissez Motion ? NON !? Motion est un logiciel tournant su le Raspberry Pi, qui gère les flux vidéos des caméras connectées à ce dernier. Il permet aussi de capturer des vidéos, photos, par un algorithme de détection de mouvement. Il est largement configurable et très puissant ! Nous allons combiner ces deux logiciel pour créer et programmer un BOT qui nous renvoi des photos à distance via le Pi et sa caméra...

2. INSTALLATION DE TELEGRAM SUR SON SMARTPHONE

Commencez par télécharger l'application "Telegram" sur votre smartphone via Paylstore pour Android, et Apple Store pour IOS. Ensuite enregistrez-vous en créant un compte, renseignez au moins prénom et nom d'utilisateur (important pour la suite).

3. CONFIGURER SON BOT

- Sur l'application Telegram, recherchez "BotFather", - Puis entamez une conversation avec ce BOT, - Rentrez ensuite la commande suivante dans la conversation:

/start

Normalement il devrait vous répondre un certain texte avec plusieurs commandes disponibles. Rentrez ou cliquez sur la commande suivante:

/newbot

Choisissez le nom de votre BOT en répondant par exemple:

MonSuperBot

Il vous répond, et vous demande maintenant de renseigner un "username" finissant obligatoirement par bot ou Bot, exemple:

super_bot

En réponse, si tout s'est bien passé, il vous renvoi une clé TOKEN dans le genre 1505245896:AIUHDnbSGGE54JGFh1nKgGdghHJGJhg-C1o Elle est a conserver car elle nous sera très utile par la suite... Voila, votre BOT est bien crée et vous avez sa clé token pour pouvoir l'associer à un appareil. Vous pouvez maintenant l'ajouter dans vos contacts Telegram, en le recherchant comme tout à l'heure, mais cette fois ci en rentrant le nom que vous lui avez donné. Ici je recherche "MonSuperBot". Vous pouvez lui envoyer des messages, mais pour le moment vous n'aurez aucun retour... Normal, il n'y a aucun programme derrière pour qu'il puisse vous répondre. Nous allons donc voir cela en suivant...

4. INSTALLATION DE TELEPOT SUR RASPBERRY

Si vous n'avez pas encore installer Raspbian sur votre Raspberry Pi, je vous invite à le faire (privilégiez une version lite, moins gourmande mais n'oubliez pas d'activer le SSH)... Mettez à jour votre RPI et installez python (déja installé par défaut normalement)

sudo apt-get update
sudo apt-get ugrade
sudo apt-get install python

Installons ensuite python-pip, qui gère les bibliothèque et les bibliothèques nécessaires, dont telepot:

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

Configuration de Telepot avec sa clé token Tout d'abord lancez python:

python

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

import telepot
bot = telepot.Bot('ICI VOTRE CLÉ TOKEN-gardez les apostrophes')
bot.getMe()

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

exit()

5. PREMIER PROGRAMME DU BOT

Nous allons créer un premier petit programme pour contrôler le BOT: Ceci est une ébauche, alors soyez un peu indulgent... N'oubliez pas de renseigner: token = 'ICI VOTRE CLE TOKEN' (gardez bien les apostrophes car c'est une chaîne de caractères) C'est parti lançons, l'éditeur et ensuite je vous invite à télécharger le programme en cliquant sur le lien ci-dessous:

sudo nano /home/pi/bot.py
index.php?part=downloads&spart=search-file&file=bot.py&x=0&y=0#topP

Commencez par télécharger le programme "bot.py" en cliquant sur le lien ci-dessus. Plusieurs solutions pour le transfert du programme sur votre Pi: 1- Copiez le contenu du programme "bot.py", pour le coller dans votre éditeur via une connexion ssh. rappel: pour une connexion ssh, activez au préalable sur votre Pi le ssh, ensuite sur votre PC lancez un terminal et tapez: ## ssh pi@'l-adresse-IP-du-PI' ##(pour la connaitre tapez sur le Pi ifconfig) 2- Transférez directement par sftp /ftp via FileZilla 3- Recopiez le à la main... Bon courage... Pour quitter le mode édition NANO tapez au clavier: - "ctr+X" pour quitter - "o" pour enregitrer ("y" en US) - "Entr" pour valider Allez ! Testons ce petit programme... Lancez le programme python sur le RPI:

python /home/pi/bot.py

Maintenant, - Prenez votre téléphone, - Ouvrez Telegram - Dites "salut" à votre BOT ! Normalement il devrait vous répondre: Hé salut suivit de votre prénom... Ensuite, essayez, toujours sur le chat de votre smartphone:

/help

Normalement la liste des commandes disponibles s'affiche...

Nous allons récupérer votre id_chat:

/myid

Votre BOT vous retourneras votre id_chat. Notez le ! Fermer le programme sur le RPI en faisant ctrl+C Ensuite éditez votre programme:

sudo nano /home/pi/bot.py

Et remplacez les 00000 de la variable "rootID" par votre numéro de chat_id que votre BOT vous a gentiment transmit. Ceci permettra à votre BOT de vous authentifier en tant que ROOT, pour pouvoir passer des commandes spéciales ou délicates. Il pourra également vous prévenir si quelqu'un tente de communiquer avec votre BOT ! Un message vous sera aussi envoyé des que le BOT sera connecté. Voila un premier petit programme robot ;) Maintenant nous allons nous occuper de la partie Motion (vidéo caméra et snapshot)

6. INSTALLATION DE MOTION SUR RASPBERRY

Pour installer Motion, rentrez la commande suivante:

sudo apt-get install motion

Maintenant nous allons configurer Motion en éditant le fichier de configuration de Motion:

sudo /etc/motion/motion.conf

Pour commencer, dans les premières lignes, nous allons autoriser motion à tourner en arrière plan en remplaçant: - "daemon off" par "daemon on" ensuite nous allons ouvrir le stream pour tout le réseau local en remplaçant: (ces deux prochaines actions ne sont pas nécessaires au fonctionnement avec Telegram, elles sont utilisées pour pouvoir accéder aux paramètres et au stream par un appareil connecté au même réseau local, via le navigateur - ex: 192.168.0.56:8080 pour le webcontrol, et 192.168.0.56:8081 pour le stream) - "stream_localhost on" par "stream_localhost off" pareil pour le contrôle de motion: - "webcontrol_localhost on" par "webcontrol_localhost off" Voila vous pouvez toujours affiner les configurations suivant vos besoins... Pour quitter / sauvegarder le fichier conf: Au clavier: - "ctr+X" pour quitter - "o" pour enregitrer ("y" en US) - "Entr" pour valider