Table des matières:

Raspberry Pi, Android, IoT et drone alimenté par Bluetooth : 7 étapes (avec photos)
Raspberry Pi, Android, IoT et drone alimenté par Bluetooth : 7 étapes (avec photos)

Vidéo: Raspberry Pi, Android, IoT et drone alimenté par Bluetooth : 7 étapes (avec photos)

Vidéo: Raspberry Pi, Android, IoT et drone alimenté par Bluetooth : 7 étapes (avec photos)
Vidéo: 10 самых АТМОСФЕРНЫХ мест Дагестана. БОЛЬШОЙ ВЫПУСК #Дагестан #ПутешествиеПоДагестану 2024, Juillet
Anonim
Drone alimenté par Raspberry Pi, Android, IoT et Bluetooth
Drone alimenté par Raspberry Pi, Android, IoT et Bluetooth
Drone alimenté par Raspberry Pi, Android, IoT et Bluetooth
Drone alimenté par Raspberry Pi, Android, IoT et Bluetooth
Drone alimenté par Raspberry Pi, Android, IoT et Bluetooth
Drone alimenté par Raspberry Pi, Android, IoT et Bluetooth
Drone alimenté par Raspberry Pi, Android, IoT et Bluetooth
Drone alimenté par Raspberry Pi, Android, IoT et Bluetooth

En utilisant un Raspberry Pi pour la logique embarquée, cet ordinateur portable compact créera un port local qui diffuse une vidéo en temps réel tout en créant simultanément des sockets Bluetooth pour lire les valeurs envoyées par une application Android personnalisée. L'application se synchronise avec le drone et utilise l'entrée de l'utilisateur pour envoyer instantanément des instructions au drone.

Ce projet est assez difficile à réaliser à partir de zéro. Espérons que les informations suivantes fourniront un aperçu pour plusieurs applications de drones. Tous les logiciels et conceptions de circuits relatifs à ce projet sont fournis. N'hésitez pas à modifier et partager le code à votre guise. Veuillez utiliser les informations fournies de manière responsable et n'hésitez pas à laisser un commentaire ci-dessous.

Étape 1: le matériel

Le matériel
Le matériel
Le matériel
Le matériel
Le matériel
Le matériel
Le matériel
Le matériel

Voici la liste du matériel que j'ai utilisé.

  • Raspberry Pi 3 modèle B
  • Module de caméra Raspberry PI
  • Pilote de moteur L298N
  • 2, moteurs à courant continu
  • Un clavier, n'importe quel moniteur, une souris, un câble Ethernet et un câble HDMI (pour le pi)
  • Carte MicroSD de 8 Go
  • Vis, ruban adhésif, etc.
  • 2 roues
  • Un appareil Bluetooth Android (Mon téléphone)
  • 2, 18650 cellules
  • Un régulateur 5 volts
  • Un ordinateur sur lequel programmer l'application

Un Raspberry Pi: Pour des résolutions de flux plus élevées (ou pour les débutants), je recommanderais la version la plus récente du modèle B, tandis que les versions plus compactes peuvent utiliser le dernier modèle A+ ou le Pi Zero (version caméra). N'oubliez pas que si vous utilisez un raspberry pi zero, vous aurez besoin d'un dongle Bluetooth et/ou WiFi pour cela. Ce tutoriel supposera que vous utilisez un Raspberry Pi 3 B.

Un pilote de moteur: j'ai utilisé un L298N, bien que n'importe quel pilote de moteur devrait fonctionner. Assurez-vous simplement qu'il peut gérer la tension et le courant de vos moteurs.

2 moteurs à courant continu: assurez-vous qu'ils peuvent supporter le poids de votre drone.

Un corps: utilisé pour contenir tous les composants. Habituellement, le plastique dur ou l'aluminium est un matériau durable et léger à utiliser. Pour des résultats optimaux, même une imprimante 3D peut être utilisée.

Une source d'alimentation: C'est presque toujours la décision la plus difficile lors du choix des pièces. La batterie requise dépend de la consommation de courant. Pour les applications de faible puissance (comme 1 ou 2 ampères), une pile 9v devrait suffire. Pour un ampérage plus élevé, je recommande soit une cellule Lithium Ion 18650, soit une batterie Lithium Polymère car elles sont légères, peuvent contenir beaucoup d'énergie pour leur taille et sont rechargeables.

2 roues: assurez-vous simplement que vos roues ont la même taille de trou que l'arbre de votre moteur. Assurez-vous également que les diamètres des roues sont suffisamment grands pour votre drone. Étant donné qu'il existe plusieurs variantes et conceptions possibles pour ce projet, il existe plusieurs types et tailles de roues à utiliser.

Régulateurs de tension: Un régulateur de 5 volts est nécessaire pour alimenter le pi via une batterie. J'ai utilisé un convertisseur abaisseur DC-DC LM2596.

La plupart des produits dans les liens ont été utilisés dans ce projet et étaient les meilleures offres que j'ai pu trouver à l'époque.

Maintenant que vous avez tout ce dont vous avez besoin, configurons le pi.

Étape 2: Configuration du Raspberry Pi

Configuration du Raspberry Pi
Configuration du Raspberry Pi
Configuration du Raspberry Pi
Configuration du Raspberry Pi
Configuration du Raspberry Pi
Configuration du Raspberry Pi

Cette étape vous montrera comment configurer le Raspberry Pi afin que vous puissiez commencer à coder. Si vous avez déjà une configuration pi avec Raspbian, n'hésitez pas à passer à l'étape suivante.

Tout d'abord, vous devez télécharger un système d'exploitation pour la framboise. Obtenez NOOBS si vous êtes débutant. Si vous avez déjà une expérience notable avec un raspberry pi, alors vous pourriez être intéressé par Raspbian. Je suppose que vous utilisez NOOBS pour ce tutoriel.

Pendant le téléchargement, formatez votre carte SD avec SD Formatter.

Maintenant, extrayez et copiez le contenu du téléchargement dans la racine de votre carte SD. Root signifie simplement qu'il n'est dans aucun dossier. Si un nouveau dossier a été créé pour contenir tous les fichiers extraits, copiez-le dans ce fichier.

Ensuite, attachez la carte SD au pi. Lors de l'insertion, il doit soit "cliquer" ou simplement s'asseoir à l'intérieur du bas du pi.

Branchez votre souris et votre clavier sur le pi. Branchez ensuite un câble HDMI au pi à partir d'un moniteur. Enfin, branchez un adaptateur de prise murale micro USB de 3 ampères dans le pi. Bien qu'une prise murale soit recommandée, j'ai utilisé mon ordinateur portable comme source d'alimentation (USB de mon ordinateur portable vers Micro USB dans le pi).

Laissez le pi faire son travail. Si vous y êtes invité, sélectionnez Raspbian et laissez-le s'installer. Suivez les instructions du programme d'installation. Cela peut prendre un certain temps. Si tout se passe bien, vous devriez voir un écran de bureau similaire à celui ci-dessus.

Branchez un câble Ethernet de votre routeur dans le pi. Ouvrez ensuite la ligne de commande (l'icône "boîte" noire en haut de l'écran). Vous devrez mettre à jour le pi via un réseau filaire pour le connecter à un réseau sans fil.

Cliquez ensuite sur l'icône Câble en haut de l'écran. Tapez les détails de votre réseau lorsque vous y êtes invité.

Tapez le texte dans la ligne suivante exactement comme indiqué et appuyez sur Entrée. Cela mettra à jour le pi. Cela peut prendre un certain temps. Laissez-le faire son travail.

sudo apt-get mise à jour

Tapez ensuite le code dans la ligne suivante. Cela prendra également un certain temps. Ne faites rien tant que ce n'est pas fini.

sudo apt-get dist-upgrade

Vous devriez maintenant pouvoir déconnecter le câble Ethernet, cliquer sur l'icône sans fil en haut de l'écran, saisir les informations de votre réseau et enfin vous connecter à votre réseau via le sans fil.

Laissons maintenant coder la partie du drone qui gère les mouvements.

Étape 3: Gestion des mouvements (serveur Bluetooth)

Gestion des mouvements (serveur Bluetooth)
Gestion des mouvements (serveur Bluetooth)

Pour la gestion des mouvements, le langage de programmation "Python 3" est utilisé. Les messages qui indiquent au robot de se déplacer seront envoyés via Bluetooth depuis l'application.

Tout d'abord, vous devez installer la bibliothèque Bluetooth. Tapez les commandes suivantes pour le faire.

sudo apt-get mise à jour

sudo apt-get installer bluetooth

sudo apt-get install bluez

sudo apt-get installer python-bluez

Maintenant, depuis le bureau, cliquez sur l'icône du menu Démarrer, puis Programmation, puis Python 3. Ensuite, dans la barre d'outils, cliquez sur Fichier, nouveau. Une nouvelle fenêtre devrait apparaître.

Copiez le contenu de la pièce jointe "bluetoothpi.rtf" dans la fenêtre.

Dans la barre d'outils, cliquez sur Fichier, Enregistrer sous. Enregistrez-le dans le répertoire /home/pi/Desktop/ sous le nom mouvements.py.

Maintenant, pour tester le code, cliquez sur l'icône Bluetooth dans le coin supérieur droit de l'écran. Associez le Raspberry Pi à votre appareil Android. Téléchargez une application appelée BlueTerm sur votre appareil Android. Ensuite, dans la ligne de commande, tapez le code suivant en gras. Cela exécutera le code python.

sudo python /home/pi/Desktop/movements.py

Le texte "En attente de connexions" doit apparaître sur le pi.

Démarrez BlueTerm et cliquez sur l'icône d'options puis sur le bouton "rechercher des connexions".

Sur l'application, le nom de votre raspberry pi devrait apparaître. Cliquez sur le bouton avec le nom du pi. Le texte "Connexion acceptée depuis" doit apparaître sur le pi suivi de son adresse. Maintenant, tout ce que vous tapez dans le téléphone devrait être affiché dans le pi.

Vous avez réussi à coder votre propre socket serveur Bluetooth !

Étape 4: L'application Android (client Bluetooth)

L'application Android (client Bluetooth)
L'application Android (client Bluetooth)
L'application Android (client Bluetooth)
L'application Android (client Bluetooth)
L'application Android (client Bluetooth)
L'application Android (client Bluetooth)
L'application Android (client Bluetooth)
L'application Android (client Bluetooth)

Téléchargez Android Studio ici. Installez-le et suivez les instructions données dans le programme d'installation.

Démarrer un nouveau projet. Créez une activité vide appelée MainActivity.

Copiez le contenu de la pièce jointe "Logic.txt" dans le fichier "MainActivity.java" (onglet). Cela contient toute la logique derrière l'application. Vous devrez peut-être modifier le nom de votre appareil en bas du fichier.

Copiez ensuite le contenu du fichier "GUI" dans le fichier "activity_main.xml" (onglet). Cela contient une interface graphique très simple pour l'application.

Vous devez maintenant importer les boutons fléchés (images) dans l'application. Décompressez la pièce jointe Arrows.zip. Sur la gauche d'Android Studio, ouvrez la structure du fichier pour voir l'application, la résolution et la mini-carte. Copiez les images des flèches (fichiers PNG), faites un clic droit sur la mini-carte du fichier et collez les images dans le fichier, en gardant les noms des flèches identiques. Il devrait ressembler à l'image une fois terminé.

Enfin copiez le contenu du fichier "Manifest" dans votre fichier "AndroidManifest.xml" (onglet).

Pour tester l'application, vous devrez l'exécuter sur votre appareil. Pour ce faire, vous devrez configurer l'appareil en mode développeur et activer le débogage USB. Pour la plupart des appareils, vous devrez aller dans « Paramètres », « À propos du téléphone », faites défiler vers le bas et cliquez sept fois sur « Numéro de build » jusqu'à ce que vous voyiez le message « Vous êtes maintenant un développeur ! » Revenez en arrière et vous devriez maintenant voir un onglet "Options pour les développeurs". Cliquez dessus et activez le débogage USB.

Connectez votre appareil Android à votre ordinateur via USB, cliquez sur l'icône Exécuter sur Android Studio et sélectionnez votre appareil.

Sur le pi, lancez le code python créé à l'étape 3 en tapant la commande en gras:

sudo python /home/pi/Desktop/movements.py

Cliquez ensuite sur le bouton de connexion dans l'application. Une fois connecté, des flèches devraient maintenant apparaître sur l'application. Chaque fois que vous cliquez sur l'un d'eux, il mettra à jour l'état de "déplacement" du pi.

C'est bien si l'arrière-plan de l'application donne une erreur. Cela sera corrigé plus tard.

Vous venez de créer votre propre application et votre client Bluetooth.

Étape 5: connexion du matériel

Connexion du matériel
Connexion du matériel
Connexion du matériel
Connexion du matériel
Connexion du matériel
Connexion du matériel

Soudez les connexions dans le schéma ci-dessus. Fixez également le module de caméra au pi.

Exécutez l'application et exécutez le fichier mouvements.py. Si les moteurs bougent correctement lors de l'utilisation de l'application, n'hésitez pas à mettre tous les composants dans une coque finalisée pour le drone. Vous devrez peut-être modifier les valeurs des codes "HIGH" et "LOW" pour qu'il se déplace correctement.

Dans l'étape suivante, nous ajouterons la fonction de streaming du drone.

Étape 6: diffusion en continu

Diffusion
Diffusion
Diffusion
Diffusion
Diffusion
Diffusion

Il existe plusieurs façons de diffuser une vidéo à l'aide d'un Pi, mais utiliser uv4l est de loin le moyen le plus simple avec pratiquement aucun décalage.

Juste une remarque, si vous avez déjà assemblé votre drone et que vous ne pouvez pas le connecter à votre moniteur et à votre clavier, vous devrez vous connecter en SSH à votre drone. Pour ce faire, téléchargez Putty sur votre ordinateur. Ouvrez-le et tapez l'adresse IP de votre framboise (trouvez l'adresse IP en tapant la commande ifconfig). Il vous demandera un nom d'utilisateur et un mot de passe. Le nom d'utilisateur et le mot de passe par défaut sont respectivement pi et framboise. Maintenant, tout ce que vous tapez dans la boîte de commande sera comme entrer des commandes directement dans le drone.

configurer uv4l

Tapez cette commande:

sudo nano /etc/apt/sources.list

Ajoutez la ligne suivante dans la dernière ligne du fichier.

deb https://www.linux-projects.org/listing/uv4l_repo/raspbian/ jessie main

Quittez et enregistrez le fichier en appuyant sur Ctrl-X, puis en tapant Oui.

Tapez ensuite la ligne suivante et appuyez sur Entrée.

sudo apt-get mise à jour

ensuite ceci:

sudo apt-get installer uv4l uv4l-raspicam

Tapez les commandes suivantes ligne par ligne. Attendez qu'il finisse ce qu'il fait avant de taper la ligne suivante.

sudo apt-get install uv4l-raspicam-extras

redémarrage du service sudo uv4l_raspicam

sudo rpi-update

sudo apt-get install uv4l-server uv4l-uvc uv4l-xscreen uv4l-mjpegstream uv4l-dummy uv4l-raspidisp

sudo apt-get install uv4l-webrtc

sudo apt-get install uv4l-xmpp-bridge

sudo apt-get install uv4l-raspidisp-extras

Après cela, tout ce que vous avez à faire est de taper la commande suivante pour démarrer le streaming (remplacez "raspberrypi" par l'adresse IP/le nom d'hôte du raspberry sur votre réseau)

cvlc

Cela commencera à diffuser la vidéo en temps réel sur le port 8080. Le flux devrait maintenant être vu en arrière-plan de votre application. Pour afficher le flux dans n'importe quel navigateur, saisissez cette URL (où "raspberrypi" est l'adresse IP de votre drone).

https://raspberrypi:8080/stream/video.mjpeg

Félicitations, vous avez terminé votre drone espion.

Étape 7: Conduisez

Appuyez sur l'interrupteur d'alimentation et commencez à explorer.

Si vous voulez savoir comment faire autre chose, demandez-moi et je verrai ce que je peux faire.

Si vous avez des questions, veuillez commenter ci-dessous et je ferai de mon mieux pour y répondre.

Merci d'avoir lu!

Conseillé: