- Installation et configuration de 'Motion' pour obtenir un flux vidéo:
- Configuration du flacon dans Raspberry Pi pour contrôler le robot via la page Web:
- Code HTML pour la page Web:
- Robot de surveillance
- Schéma de circuit et configuration:
- Comment opérer:
Dans cette session de bricolage, nous construisons une voiture robotique de surveillance contrôlée par le Web en utilisant Raspberry Pi et une webcam. Cela pourrait être un outil de sécurité et d'espionnage utile et peu coûteux, doté de nombreuses options configurables et pouvant être construit en quelques heures. Dans ce projet IoT, nous utilisons principalement Raspberry Pi, une caméra Web USB et deux moteurs DC avec châssis Robot pour construire cette voiture robotique.
Une caméra Web est montée dessus, à travers laquelle nous obtiendrons un flux vidéo en direct et la partie intéressante ici est que nous pouvons contrôler et déplacer ce robot à partir d'un navigateur Web sur Internet. Comme il peut être contrôlé à l'aide d'une page Web, cela signifie qu'il peut également être contrôlé à l'aide d'une page Web dans Mobile. Nous avons construit une page Web en HTML qui a des liens Gauche, Droite, Avant, Arrière, en cliquant sur lesquels nous pouvons déplacer le robot dans n'importe quelle direction. Ici, nous avons utilisé «Motion» pour obtenir le flux vidéo en direct de la caméra USB et utilisé «Flask» pour envoyer des commandes de la page Web à Raspberry Pi en utilisant pythonpour déplacer le robot, qui sont expliqués en détail dans la partie suivante de ce didacticiel. Nous avons Raspbian Jessie OS installé sur notre carte Raspberry Pi. Vous pouvez consulter cet article pour installer le système d'exploitation Raspbian et démarrer avec Raspberry Pi.
Installation et configuration de 'Motion' pour obtenir un flux vidéo:
Motion (logiciel de surveillance) est un logiciel de vidéosurveillance de détection de mouvement open source gratuit, développé pour Linux. Il détecte le mouvement et commence à enregistrer la vidéo de celui-ci. Avec 'Motion' installé sur votre Raspberry Pi, vous pouvez transformer par magie votre Raspberry Pi en une caméra de sécurité. Il est utilisé pour obtenir un flux vidéo en direct, créer des vidéos timelapse et prendre des instantanés à intervalle régulier. Il enregistre et enregistre la vidéo chaque fois qu'il détecte un mouvement ou toute perturbation dans la zone de visualisation. Le flux vidéo en direct peut être regardé sur le navigateur Web en entrant l'adresse IP de Pi avec le port.
Nous avons créé un didacticiel détaillé sur l'utilisation de Motion avec Raspberry Pi et une caméra USB, ici nous expliquons brièvement son installation sur Raspberry pi pour que notre robot envoie le streaming vidéo en direct sur la page Web.
Ici, vous devez exécuter seulement quelques commandes pour commencer à obtenir votre premier flux vidéo sur le réseau. Avant cela, vérifiez correctement que votre Raspberry Pi est connecté à Internet, soit en utilisant LAN ou Wi-Fi, puis suivez les étapes ci-dessous:
Étape 1: Exécutez d'abord la commande ci-dessous pour mettre à jour le système d' exploitation Raspbian sur Raspberry Pi:
sudo apt-get mise à jour
Étape 2: Ensuite, installez la bibliothèque 'Motion' en utilisant la commande ci-dessous:
sudo apt-get install motion
Étape 3: définissez maintenant Motion Daemon sur yes en éditant le fichier: / etc / default / motion afin qu'il soit toujours en cours d'exécution. Modifiez ce fichier en utilisant l'éditeur 'nano' avec 'sudo' comme indiqué ci-dessous:
sudo nano / etc / default / motion
Enregistrez ensuite le fichier en appuyant sur «CTRL + X», puis sur «Y» et sur Entrée.
Étape 4: Nous devons maintenant définir l'autorisation pour le répertoire cible (/ var / lib / motion /), dans lequel Motion enregistre tous les enregistrements vidéo et les fichiers image. Nous devons définir 'Motion' comme propriétaire de ce répertoire en émettant la commande ci-dessous:
mouvement sudo chown: motion / var / lib / motion /
Cette autorisation est nécessaire, sinon vous obtiendrez une erreur lorsque vous vérifiez l'état du service Motion.
Vous pouvez vérifier l'état du service à l'aide de cette commande: sudo service motion status
Étape 5: Nous avons presque terminé, il suffit de modifier une option de configuration dans le fichier de configuration de Motion (/etc/motion/motion.conf ) qui est désactivée sur stream_localhost. Nous devons désactiver ce streaming de l'hôte local, sinon nous ne pourrons pas accéder au flux vidéo sur notre réseau et il ne sera accessible qu'à partir du Raspberry Pi lui-même. Pour ce faire, modifiez le fichier de configuration de mouvement avec l'éditeur 'nano' et désactivez-le, comme indiqué ci-dessous:
sudo nano /etc/motion/motion.conf
Nous avons maintenant terminé et prêts à recevoir notre flux en direct de la caméra Web USB connectée à Pi. Démarrez (ou redémarrez) le service Motion en utilisant la commande ci-dessous et ouvrez l'adresse IP de votre Raspberry Pi, avec le port 8081, dans votre navigateur (comme 192.168.43.199:8081). Dans ce projet, nous avons intégré cette adresse IP dans notre code HTML dans la balise img src .
sudo /etc/init.d/motion redémarrer
Et vous verrez le flux en direct de votre webcam. Ici, nous avons utilisé une caméra Web USB à faible coût qui fonctionnait parfaitement avec notre Raspberry Pi, mais vous pouvez également utiliser une caméra de bonne qualité pour une meilleure résolution. Comme il apparaîtra dans le navigateur, vous pouvez utiliser n'importe quel appareil, pour regarder le flux, qui prend en charge les navigateurs Web tels que Mobile, tablette, etc.
Essayez de redémarrer le Raspberry Pi comme étape de dépannage si nécessaire:
redémarrage sudo
Il s'agit d' utiliser Motion pour notre robot de surveillance, à part cela, il dispose de plusieurs options de configuration dont nous avons déjà parlé dans notre tutoriel précédent.
Remarque: Si vous êtes un modèle Raspberry Pi inférieur à la version 3, vous aurez peut-être besoin d'un dongle Wi-Fi pour connecter sans fil le Raspberry Pi au routeur.
Configuration du flacon dans Raspberry Pi pour contrôler le robot via la page Web:
Ici, nous avons créé un serveur Web à l'aide de Flask, qui fournit un moyen d' envoyer les commandes de la page Web à Raspberry Pi pour contrôler le robot sur le réseau. Flask nous permet d'exécuter nos scripts python via une page Web et nous pouvons envoyer et recevoir des données de Raspberry Pi vers un navigateur Web et vice versa. Flask est un microframework pour Python. Cet outil est basé sur Unicode avec un serveur de développement et un débogueur intégrés, un support de test unitaire intégré, un support pour les cookies sécurisés et son utilisation facile, ces choses le rendent utile pour l'amateur.
Installez un package de support flask dans le Raspberry Pi en utilisant la commande donnée:
$ pip installer Flask
Ensuite, nous pouvons utiliser le Flask en l'important simplement dans notre programme, comme nous avons importé les packages suivants de flask pour ce projet:
depuis l'importation du flacon Flacon depuis l'importation du flacon Flask, render_template, request
Vous pouvez en savoir plus sur la programmation à l'aide de Flask ici, consultez également nos projets précédents où nous avons utilisé Flask pour envoyer le message de la page Web à Raspberry Pi et envoyer la valeur de poids à Raspberry Pi dans Smart Container.
Code HTML pour la page Web:
Nous avons créé une page Web en utilisant le langage HTML pour afficher les liens de contrôle (gauche, droite, avant, arrière) pour déplacer le robot du navigateur Web. Nous avons utilisé le script jQuery pour appeler les fonctions de notre programme Python. Il existe cinq fonctions dans le code Python pour déplacer le robot vers la gauche, la droite, l'avant, l'arrière et pour l'arrêter. Le code Python complet a été donné à la fin. Ces fonctions seront exécutées en cliquant sur les liens de contrôle sur la page Web et les moteurs se déplaceront en fonction du lien cliqué. Ici, nous avons écrit le code de telle manière que Robot se déplace dans une certaine direction tout en cliquant et en maintenant le lien, et dès que nous relâcherons le bouton de la souris, Robot s'arrêtera. Vous trouverez ci-dessous le code HTML de la page Web, y compris le jQuery:
Ici, vous pouvez voir que nous avons intégré l'adresse IP sur laquelle la vidéo est diffusée dans la page Web en utilisant la balise img src . Changez l'adresse IP en fonction de votre Raspberry Pi mais gardez le même port.
L'utilisateur doit copier-coller le code HTML ci-dessus dans un éditeur de texte (bloc-notes) et enregistrer le fichier avec l'extension.HTML (robot.html). Ensuite, placez ce fichier HTML dans le dossier / templates par rapport à l'emplacement de votre script python. Cela signifie que vous devez créer un dossier nommé templates, dans lequel vous avez placé votre fichier de code Python pour ce robot de surveillance Raspberry, puis placez le fichier robot.html dans ce dossier de templates. Cette étape est importante, sinon notre projet ne fonctionnera pas. Vous pouvez ouvrir directement le fichier robot.html en double-cliquant dessus pour voir à quoi ressembleront vos liens de contrôle. Vérifiez davantage l'ensemble du processus dans la vidéo de démonstration à la fin. Après avoir terminé la programmation et tout, nous pouvons simplement exécuter le code Python dans Raspberry Pi et ouvrir l'adresse IP_address_of_your_Pi: 5010 dans le navigateur Web (comme
Vous pouvez vérifier l'adresse IP de votre Raspberry Pi en utilisant la commande ifconfig :
ifconfig
Schéma de circuit et configuration:
Après avoir testé le flux vidéo en direct et le code HTML, nous devons construire un robot en utilisant un châssis, des roues et des boulons de robot faits à la main ou prêts à l'emploi. Ensuite, placez la banque d'alimentation dessus pour alimenter le Raspberry pi, puis placez le Raspberry Pi et la caméra Web sur la banque d'alimentation et fixez la configuration à l'aide de bande Cello ou de bandes en caoutchouc, connectez la caméra USB avec Raspberry Pi.
Dans ce projet IoT, nous n'avons pas besoin de faire beaucoup de connexions, nous avons seulement besoin de connecter certains fils pour le pilote de moteur IC L293D et les moteurs à courant continu. Les connexions sont illustrées dans le schéma de circuit ci-dessous. Ici, nous avons utilisé un PCB à usage général pour le montage du circuit intégré L293D afin de réduire l'espace, mais vous pouvez également utiliser une petite planche à pain pour connecter des moteurs à courant continu avec L293D.
Comment opérer:
L'utilisation et le fonctionnement de ce robot de surveillance sont très faciles. Créez un fichier python (extension.py) et copiez-y le code ci-dessous, puis enregistrez-le sur votre Raspberry Pi. Ensuite, placez le fichier HTML dans le dossier des modèles comme expliqué ci-dessus. N'oubliez pas de changer l'adresse IP dans le fichier HTML.
Ensuite, exécutez le code Python en entrant la commande ci-dessous:
nom_python_du_fichier.py
Ensuite, ouvrez votre adresse IP Raspberry Pi avec le port 5010 comme http://192.168.43.199:5010 (remplacez à nouveau l'adresse IP par votre adresse). Vous verrez maintenant la page Web contenant quatre liens de contrôle du robot et une vidéo en direct. L'utilisateur peut contrôler le robot en cliquant et en maintenant les liens. Si l'utilisateur clique et maintient les liens, le robot se déplace en fonction du lien cliqué et quand l'utilisateur libère le lien, le robot s'arrête automatiquement.
Le code Python complet est donné ci-dessous, où nous avons écrit diverses fonctions pour contrôler le robot en cliquant sur les liens sur la page Web. Vous pouvez les comprendre facilement ou si vous êtes un débutant, consultez nos précédents tutoriels Raspberry Pi. Visitez également notre section robotique pour des robots plus intéressants et faciles à construire.