Table des matières:
- Étape 1: Suggestion de lecture
- Étape 2: Matériaux
- Étape 3: Configurer le Raspberry Pi
- Étape 4: Construisez-le ! Matériel
- Étape 5: Construisez-le ! Logiciel
- Étape 6: Testez et installez
Vidéo: IoT Pet Monitor ! : 6 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Gardez un œil sur vos bébés bien-aimés et jouez de la musique ou dites-leur de se taire pendant votre absence ! Ce tutoriel montrera comment utiliser un ordinateur Raspberry Pi pour surveiller le volume du son dans votre maison (via le Cloud) pour voir si et quand votre animal est contrarié.
Roulement de tambour… la partie la plus amusante: si ça devient trop fort (comme Fido qui aboie ou fait un autre tapage), nous vous dirons de se taire ou de jouer de la musique !
En plus du Pi (et des haut-parleurs), nous utiliserons la carte de répartition du microphone SparkFun MEMS pour mesurer les niveaux de volume et déclencher le lecteur audio. Les données sont téléchargées vers le service CloudMQTT à l'aide du protocole de communication MQTT.
Temps de lecture total: ~ 8 min
Temps de construction total: 60 min (moins avec expérience)
Un immense MERCI à SparkFun pour avoir soutenu ce projet ! Consultez le tutoriel ici.
Étape 1: Suggestion de lecture
Pour construire ce projet, vous aurez besoin d'un ordinateur Raspberry Pi 3 entièrement configuré et connecté au WiFi avec Raspbian OS. Il est également utile de connaître la programmation Python ainsi que les éléments suivants: (1) comment utiliser et contrôler les broches GPIO du Raspberry Pi; (2) communication MQTT; et (3) capteurs analogiques. Si l'un de ces éléments ne vous est pas familier, ou si vous êtes simplement curieux (soyez curieux !), consultez les tutoriels ci-dessous !
Framboise Pi 3
- Guide de branchement du kit de démarrage Raspberry Pi 3
- GPIO Raspberry Pi
- Communication SPI avec le Raspberry Pi
Protocole de communication MQTT
MQTT (Message Query Telemetry Transport) est un protocole de communication IoT populaire. Nous utiliserons la bibliothèque Paho Client Python et un service MQTT appelé CloudMQTT. En savoir plus sur MQTT et comment l'utiliser:
- Explorer les protocoles de communication pour l'IoT
- Premiers pas avec CloudMQTT
- Présentation de la bibliothèque cliente Python Eclipse Paho MQTT
Carte de dérivation de microphone MEMS
Le microphone MEMS est un microphone analogique, nous aurons donc besoin d'un convertisseur analogique-numérique ("ADC") pour lire le signal analogique avec les broches GPIO numériques du Raspberry Pi.
- Premiers pas avec la carte de dérivation de microphone SparkFun MEMS
- Fiche technique du microphone MEMS
- Fiche technique du CAN MCP3002
Étape 2: Matériaux
- Raspberry Pi 3 modèle B
Nous aurons également besoin des périphériques suivants: Raspberry Pi 3 Case; Carte SD (minimum 8 Go); Câble GPIO Raspberry Pi 3; câble d'alimentation microUSB; Câble HDMI et moniteur compatible HDMI; clavier USB; souris USB; haut-parleurs avec port casque 1/8.
- Carte de dérivation de micro SparkFun MEMS
- MCP3002 (convertisseur analogique-numérique)
-Breadboard & M-to-M Breadboard Jumper Wires
Étape 3: Configurer le Raspberry Pi
Étape 1: Vérifier et installer les mises à jour Vérifier et installer les mises à jour est toujours un bon moyen de commencer. Exécutez les commandes suivantes dans la fenêtre du terminal:
sudo apt-get mise à jour
sudo apt-get mise à niveau
redémarrage sudo
Étape 2: Configurer l'interface SPI pour le microphone MEMS + MCP3002
Pour utiliser le SPI (Serial Port Interface) pour lire dans le microphone MEMS via le MCP3002, nous aurons besoin du Python Dev Package:
sudo apt-get installer python-dev
Nous aurons également besoin de l'interface SPI (peut vouloir créer un sous-dossier pour l'enregistrer dans):
git clone git://github.com/doceme/py-spidev
sudo python setup.py installer
Voici la documentation SPI-Dev si vous rencontrez des problèmes.
Étape 3: Jouer des sons avec OMXPlayer
L'OMXPlayer est un lecteur audio et vidéo préchargé sur Raspbian OS. Il fonctionne avec la plupart des types de fichiers audio, notamment:.wav,.mp3 et.m4a. C'est ce que nous utiliserons pour reproduire les sons lorsque Fido devient trop fort. La bibliothèque Python pour contrôler l'OMXPlayer est incluse dans Raspbian (woo!).
Pour tester l'OMXPlayer depuis le terminal, tapez ce qui suit:
omxplayer /home/…/SongFilePath/SongFileName.mp3
Si cela ne fonctionne pas, essayez de le forcer sur le périphérique de sortie audio local:
omxplayer -o local /home/…/SongFilePath/SongFileName.mp3
Étape 4: Configurer le serveur CloudMQTT
Maintenant, nous mettons en place un serveur MQTT ! Pour ce faire à l'aide de CloudMQTT, procédez comme suit:
- Créez un compte CloudMQTT (le forfait "Cute Cat" est gratuit).
- Créez une nouvelle instance MyCloud.
- Dans la console, créez une nouvelle règle ACL.
- Vous pouvez surveiller les messages publiés dans l'interface utilisateur « Websocket ».
Enfin, installez la bibliothèque Python MQTT Paho Client:
pip installer paho-mqtt
Étape 4: Construisez-le ! Matériel
Les schémas de brochage pour le Raspberry Pi et le MCP3002 sont dans les photos ci-dessus.
1. Insérez les broches du MCP3002 dans la maquette (voir le schéma de brochage ci-dessus)
Le MCP3002 utilise 4 broches SPI pour la communication: horloge série ("SCL"), entrée maître, sortie esclave ("MISO"), sortie maître, entrée esclave ("MOSI") et sélection de puce ("CS"). Ces broches correspondent à la broche GPIO 11 du Raspberry Pi (SCLK), à la broche GPIO 9 (MISO), à la broche GPIO 10 (MOSI) et à la broche GPIO 8 (CE0).
Effectuez les connexions suivantes avec les broches MCP3002:
- Connectez la broche 1 à la broche 8 GPIO Raspberry Pi (CE0)
- Connectez la broche 2 à la sortie analogique de la carte de dérivation du microphone MEMS
- Connectez la broche 4 à GND
- Connectez la broche 5 à la broche 10 GPIO du Raspberry Pi (MOSI)
- Connectez la broche 6 à la broche 9 GPIO du Raspberry Pi (MISO)
- Connectez la broche 7 à la broche GPIO Raspberry Pi 11 (SCLK)
- Connectez la broche 8 à la sortie Raspberry Pi 3.3V
2. Soudez les fils à la carte de dérivation du microphone MEMS. Connectez-vous au MCP3002 et au Raspberry Pi
- Connectez Vcc au Raspberry Pi 3.3V.
- Connectez GND au Raspberry Pi GND
- Connectez l'AUD à la broche 2 du MCP3002
3. Branchez tous les câbles du Raspberry Pi et allumez tout
Étape 5: Construisez-le ! Logiciel
Notre objectif avec le Bark Back est double: déclencher un son de lecture lorsque le chien aboie, et envoyer les données à un serveur où nous pouvons les vérifier.
Voici le programme Python open-source pour ce projet. N'hésitez pas (et s'il vous plaît, faites) ajuster et modifier le code.
Pour que le programme soit opérationnel, vous devez remplir deux choses:
- songList: Écrivez le chemin du fichier et le nom du fichier pour chacune des chansons que vous voulez jouer.
- creds: Saisissez vos informations CloudMQTT dans ce dictionnaire.
Étape 1: Lisez la carte de dérivation du microphone SparkFun MEMS
Lisez la valeur ADC (entre 0 et 1023) à partir de la carte de dérivation du microphone MEMS (via le MCP3002) à l'aide de la bibliothèque SPI et calculez l'amplitude crête à crête du signal.
Mappez l'amplitude crête à crête du signal sur une unité de volume. Le code actuel mappe la plage ADC entre 0 et 700 (basé sur une expérimentation rapide) à une unité de volume entre 0 et 10. Pour régler la sensibilité du microphone, ajustez la plage d'entrée ADC.
Pour un aperçu complet du micro MEMS, consultez ce didacticiel.
Étape 2: Déclenchez le lecteur audio
Nous aurons d'abord besoin de chansons à jouer ! Vous pouvez rapidement enregistrer des sons dans GarageBand (ou sur votre smartphone) et les envoyer au Raspberry Pi. En Python, utilisez la bibliothèque de sous-processus pour appeler le fichier omxplayer.
Dans le code, saisissez le chemin du fichier des chansons que vous souhaitez lire dans la variable *songList* (ligne 26). Le seuil de volume actuel est réglé sur 7 dans la fonction principale.
Étape 3: envoyer des données au serveur CloudMQTT
Utilisez la bibliothèque Paho Client Python pour communiquer avec les serveurs CloudMQTT. Pour résumer en gros: Configurez un serveur client; définir des protocoles de communication; connectez-vous avec nos informations d'identification (alias crédits); et abonnez-vous et publiez nos données. La plupart de ces opérations sont effectuées dans la fonction principale (lignes 129 à 149 et lignes 169 à 174).
Pour vérifier les données reçues, accédez à l'onglet "Websocket UI" dans la console CloudMQTT.
Étape 6: Testez et installez
Exécutez le programme BarkBack.py dans Terminal ou dans l'IDE Python (vous pouvez également utiliser SSH pour exécuter le programme après votre départ).
Vérifiez que vous obtenez les niveaux de volume dans l'onglet de votre interface utilisateur Websocket.
Testez le système en déclenchant le micro (claquement, cri, aboiement, etc.) pour être sûr que les haut-parleurs diffusent tous les sons.
Une fois que tout est opérationnel, il est recommandé de souder les composants sur un PCB (Printed Circuit Board) si vous avez l'intention d'installer le système pendant plus de quelques jours.
Finaliste du concours de microcontrôleurs 2017
Premier Prix du Concours Capteurs 2017
Conseillé:
SmartPET - Smart Pet Feeder : 7 étapes (avec photos)
SmartPET - Mangeoire intelligente pour animaux de compagnie : Hé ! Je suis Maxime Vermeeren, un étudiant en MCT (Technologie multimédia et communication) de 18 ans à Howest. J'ai choisi de créer une mangeoire intelligente pour animaux de compagnie comme projet. Pourquoi ai-je fait cela ? Mon chat a des problèmes de poids, alors j'ai décidé de faire une machine t
Pet Bot : 6 étapes (avec photos)
Pet Bot : Crédit : Ce projet est inspiré de Beetlebot par robomaniac.Mise à jour : J'ai depuis renommé cela en Pet Bot. (La vidéo le montre toujours sous le nom de Catfish Bot) J'enseigne la robotique à de jeunes fabricants sur les plates-formes ESP8266, Arduino et Raspberry PI et l'un des défis
D4E1 PET Cutter (Artmaker02): 9 étapes (avec photos)
D4E1 PET Cutter (Artmaker02) : à quoi sert ce coupe-bouteilles ? Cette machine coupe les bouteilles en plastique recyclé (PET) en anneaux ou en spirales avec un couteau chauffant dans un boîtier sûr qui peut être utilisé en toute sécurité par tout le monde. Pourquoi avons-nous fabriqué cela et qui est-ce pour?Nous sommes un groupe d'Industrial D
Creeper-BOT (Creeper Pet): 9 étapes (avec photos)
Creeper-BOT (Creeper Pet) : J'ai toujours voulu créer mon propre robot quadrupède et le concours Minecraft était une bonne excuse. En outre, je voulais vraiment un « animal de compagnie » Creeper. Dans ce Instructable, je vais partager comment je l'ai fait et vous donner un guide si vous voulez créer le vôtre. Je suppose que vous avez
Détecteur de fumée IOT : mettre à jour le détecteur de fumée existant avec IOT : 6 étapes (avec photos)
Détecteur de fumée IOT : Mettre à jour le détecteur de fumée existant avec IOT : Liste des contributeurs, Inventeur : Tan Siew Chin, Tan Yit Peng, Tan Wee Heng Superviseur : Dr Chia Kim Seng Département de génie mécatronique et robotique, Faculté de génie électrique et électronique, Universiti Tun Hussein Onn Malaisie.Distribuer