Inhaltsverzeichnis:
- Schritt 1: Empfohlene Lektüre
- Schritt 2: Materialien
- Schritt 3: Konfigurieren Sie den Raspberry Pi
- Schritt 4: Erstellen Sie es! Hardware
- Schritt 5: Erstellen Sie es! Software
- Schritt 6: Testen & installieren
Video: IoT Pet Monitor! - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:21
Behalten Sie Ihre geliebten Babys im Auge und spielen Sie Musik oder sagen Sie ihnen, dass sie leise sein sollen, während Sie weg sind! Dieses Tutorial zeigt, wie Sie mit einem Raspberry Pi-Computer die Lautstärke in Ihrem Zuhause (über die Cloud) überwachen, um zu sehen, ob und wann Ihr Haustier verärgert ist.
Trommelwirbel… der lustigste Teil: Wenn es zu laut wird (wie Fido bellt oder etwas anderes lärmt), können Sie ihnen sagen, dass sie leise sein sollen oder Musik machen!
Zusammen mit dem Pi (und den Lautsprechern) verwenden wir das SparkFun MEMS-Mikrofon-Breakout-Board, um die Lautstärke zu messen und den Audioplayer auszulösen. Die Daten werden über das MQTT-Kommunikationsprotokoll in den CloudMQTT-Dienst hochgeladen.
Gesamtlesezeit: ~ 8 min
Gesamtbauzeit: 60 min (weniger mit Erfahrung)
Ein riesiges DANKESCHÖN an SparkFun für die Unterstützung dieses Projekts! Sehen Sie sich das Tutorial hier an.
Schritt 1: Empfohlene Lektüre
Um dieses Projekt zu erstellen, benötigen Sie einen vollständig konfigurierten, über WLAN verbundenen Raspberry Pi 3-Computer mit Raspbian OS. Es ist auch hilfreich, einige Python-Programmierung sowie die folgenden Dinge zu kennen: (1) wie man die Raspberry Pi GPIO-Pins verwendet und steuert; (2) MQTT-Kommunikation; und (3) analoge Sensoren. Wenn Ihnen etwas davon unbekannt ist oder Sie einfach nur neugierig sind (sei neugierig!), sehen Sie sich die folgenden Tutorials an!
Raspberry Pi 3
- Raspberry Pi 3 Starter Kit Anschlussanleitung
- Raspberry Pi GPIO
- SPI-Kommunikation mit dem Raspberry Pi
MQTT-Kommunikationsprotokoll
MQTT (Message Query Telemetry Transport) ist ein beliebtes IoT-Kommunikationsprotokoll. Wir verwenden die Python-Bibliothek des Paho Client und einen MQTT-Dienst namens CloudMQTT. Hier erfahren Sie mehr über MQTT und seine Verwendung:
- Erkunden von Kommunikationsprotokollen für IoT
- Erste Schritte mit CloudMQTT
- Übersicht über die Eclipse Paho MQTT Python-Clientbibliothek
MEMS-Mikrofon-Breakout-Board
Das MEMS-Mikrofon ist ein analoges Mikrofon, daher benötigen wir einen Analog-Digital-Wandler ("ADC"), um das analoge Signal mit den digitalen GPIO-Pins des Raspberry Pi einzulesen.
- Erste Schritte mit dem SparkFun MEMS-Mikrofon-Breakout-Board
- Datenblatt zu MEMS-Mikrofonen
- MCP3002 ADC-Datenblatt
Schritt 2: Materialien
- Raspberry Pi 3 Modell B
Wir benötigen außerdem die folgenden Peripheriegeräte: Raspberry Pi 3 Gehäuse; SD-Karte (mindestens 8 GB); Raspberry Pi 3 GPIO-Kabel; MicroUSB-Stromkabel; HDMI-Kabel und HDMI-kompatibler Monitor; USB-Tastatur; USB-Maus; Lautsprecher mit 1/8 Kopfhöreranschluss.
- SparkFun MEMS-Mikrofon-Breakout-Board
- MCP3002 (Analog-zu-Digital-Wandler)
- Steckbrett- und M-zu-M-Steckbrett-Überbrückungsdrähte
Schritt 3: Konfigurieren Sie den Raspberry Pi
Schritt 1: Updates prüfen und installieren Das Suchen und Installieren von Updates ist immer ein guter Anfang. Führen Sie die folgenden Befehle im Terminalfenster aus:
sudo apt-get update
sudo apt-get upgrade
sudo neu starten
Schritt 2: SPI-Schnittstelle für MEMS-Mikrofon + MCP3002 einrichten
Um das SPI (Serial Port Interface) zum Einlesen des MEMS-Mikrofons über den MCP3002 zu verwenden, benötigen wir das Python Dev Package:
sudo apt-get install python-dev
Wir benötigen auch die SPI-Schnittstelle (möglicherweise möchten wir einen Unterordner erstellen, um dies zu speichern):
git-Klon git://github.com/doceme/py-spidev
sudo python setup.py installieren
Hier ist die SPI-Dev-Dokumentation, falls Probleme auftreten.
Schritt 3: Sounds mit OMXPlayer abspielen
Der OMXPlayer ist ein auf Raspbian OS vorinstallierter Audio- und Videoplayer. Es funktioniert mit den meisten Audiodateitypen, einschließlich:.wav,.mp3 und.m4a. Dies ist, was wir verwenden werden, um Sounds abzuspielen, wenn Fido zu laut wird. Die Python-Bibliothek zur Steuerung des OMXPlayers ist in Raspbian enthalten (woo!).
Geben Sie Folgendes ein, um den OMXPlayer vom Terminal aus zu testen:
omxplayer /home/…/SongFilePath/SongFileName.mp3
Wenn dies nicht funktioniert, versuchen Sie, es über das lokale Audioausgangsgerät zu erzwingen:
omxplayer -o local /home/…/SongFilePath/SongFileName.mp3
Schritt 4: CloudMQTT-Server konfigurieren
Jetzt richten wir einen MQTT-Server ein! Gehen Sie dazu mit CloudMQTT wie folgt vor:
- Richten Sie ein CloudMQTT-Konto ein (der "Cute Cat"-Plan ist kostenlos).
- Erstellen Sie eine neue MyCloud-Instanz.
- Erstellen Sie in der Konsole eine neue ACL-Regel.
- Sie können veröffentlichte Nachrichten in der "Websocket"-Benutzeroberfläche überwachen.
Installieren Sie abschließend die MQTT Paho Client Python-Bibliothek:
pip install paho-mqtt
Schritt 4: Erstellen Sie es! Hardware
Pinbelegungsdiagramme für den Raspberry Pi und den MCP3002 sind in den Fotos oben.
1. Stecken Sie die MCP3002-Pins in das Steckbrett (siehe Pinbelegungsdiagramm oben)
Der MCP3002 verwendet 4 SPI-Pins für die Kommunikation: Serial Clock ("SCL"), Master Input Slave Output ("MISO"), Master Output Slave Input ("MOSI") und Chip Select ("CS"). Diese Pins entsprechen dem Raspberry Pi GPIO-Pin 11 (SCLK), GPIO-Pin 9 (MISO), GPIO-Pin 10 (MOSI) und GPIO-Pin 8 (CE0).
Stellen Sie die folgenden Verbindungen mit MCP3002-Pins her:
- Verbinden Sie Pin 1 mit Raspberry Pi GPIO Pin 8 (CE0)
- Verbinden Sie Pin 2 mit dem analogen Ausgang des MEMS-Mikrofon-Breakout-Boards
- Verbinden Sie Pin 4 mit GND
- Verbinden Sie Pin 5 mit Raspberry Pi GPIO Pin 10 (MOSI)
- Verbinden Sie Pin 6 mit Raspberry Pi GPIO Pin 9 (MISO)
- Verbinden Sie Pin 7 mit Raspberry Pi GPIO Pin 11 (SCLK)
- Verbinden Sie Pin 8 mit Raspberry Pi 3.3V out
2. Lötdrähte an die MEMS-Mikrofon-Breakout-Platine anlöten. Verbinden Sie sich mit MCP3002 und Raspberry Pi
- Vcc an Raspberry Pi 3.3V anschließen.
- Verbinden Sie GND mit Raspberry Pi GND
- Verbinden Sie AUD mit MCP3002 Pin 2
3. Stecken Sie alle Kabel für den Raspberry Pi ein und schalten Sie alles ein
Schritt 5: Erstellen Sie es! Software
Unser Ziel mit dem Bark Back ist zweierlei: einen Wiedergabeton auszulösen, wenn der Hund bellt, und die Daten an einen Server zu senden, wo wir sie überprüfen können.
Hier ist das Open-Source-Python-Programm für dieses Projekt. Fühlen Sie sich frei, den Code anzupassen und zu ändern.
Um das Programm zum Laufen zu bringen, müssen Sie zwei Dinge ausfüllen:
- songList: Geben Sie den Dateipfad und den Dateinamen für jeden der Songs ein, die Sie abspielen möchten.
- creds: Geben Sie Ihre CloudMQTT-Informationen in dieses Wörterbuch ein.
Schritt 1: Lesen Sie das SparkFun MEMS-Mikrofon-Breakout-Board ein
Lesen Sie den ADC-Wert (zwischen 0 und 1023) von der MEMS-Mikrofon-Breakout-Platine (über das MCP3002) mithilfe der SPI-Bibliothek ein und berechnen Sie die Signal-Spitze-Spitze-Amplitude.
Ordnen Sie die Signal-Spitze-zu-Spitze-Amplitude einer Volumeneinheit zu. Der aktuelle Code ordnet den ADC-Bereich zwischen 0 und 700 (basierend auf einem schnellen Experimentieren) einer Lautstärkeeinheit zwischen 0 und 10 zu. Um die Empfindlichkeit des Mikrofons anzupassen, passen Sie den ADC-Eingangsbereich an.
Einen ausführlichen Überblick über das MEMS-Mikrofon finden Sie in diesem Tutorial.
Schritt 2: Audioplayer auslösen
Zuerst brauchen wir Lieder zum Spielen! Sie können Sounds schnell in GarageBand (oder auf Ihrem Smartphone) aufnehmen und an den Raspberry Pi senden. Verwenden Sie in Python die Subprozessbibliothek, um den omxplayer.
Geben Sie im Code den Dateipfad der Songs, die Sie wiedergeben möchten, in die Variable *songList* (Zeile 26) ein. Die aktuelle Lautstärkeschwelle wird in der Hauptfunktion auf 7 gesetzt.
Schritt 3: Daten an CloudMQTT-Server senden
Verwenden Sie die Python-Bibliothek des Paho Client, um mit den CloudMQTT-Servern zu kommunizieren. Um es grob zusammenzufassen: Richten Sie einen Client-Server ein; Kommunikationsprotokolle definieren; Verbinden Sie sich mit unseren Anmeldeinformationen (auch bekannt als Creds); und abonnieren und veröffentlichen Sie unsere Daten. Das meiste davon geschieht in der Hauptfunktion (Zeilen 129 - 149 und Zeilen 169 - 174).
Um die empfangenen Daten zu überprüfen, gehen Sie in der CloudMQTT-Konsole zum Tab "Websocket UI".
Schritt 6: Testen & installieren
Führen Sie das Programm BarkBack.py im Terminal oder in der Python-IDE aus (Sie können das Programm auch mit SSH ausführen, nachdem Sie es bereits verlassen haben).
Überprüfen Sie, ob Sie die Lautstärkepegel auf der Registerkarte der Websocket-Benutzeroberfläche anzeigen.
Testen Sie das System, indem Sie das Mikrofon auslösen (klatschen, schreien, bellen usw.), um sicherzustellen, dass die Lautsprecher alle Töne abspielen.
Wenn alles betriebsbereit ist, empfiehlt es sich, die Komponenten auf eine Leiterplatte (Printed Circuit Board) zu löten, wenn Sie das System länger als nur ein paar Tage installieren möchten.
Zweiter Platz beim Microcontroller Contest 2017
Erster Preis beim Sensors Contest 2017
Empfohlen:
So verbinden Sie einen ESP32 mit der IoT-Cloud: 8 Schritte
So verbinden Sie einen ESP32 mit der IoT-Cloud: Diese Anleitung enthält eine Reihe von Artikeln zum Anschließen von Hardware wie Arduino und ESP8266 an die Cloud. Ich werde Ihnen erklären, wie Sie Ihren ESP32-Chip mit dem AskSensors IoT-Dienst mit der Cloud verbinden. Warum ESP32?Nach dem großen Erfolg
So fügen Sie IOT-Funktionen zu Ihren Projekten hinzu – wikiHow
So fügen Sie Ihren Projekten IOT-Funktionen hinzu: Nichts ist besser, als ein DIY-Projekt zu erstellen, das ein kommerzielles Produkt ersetzt, das Sie für nützlich halten. Nun, eigentlich gibt es etwas Besseres. Hinzufügen von IOT-Fähigkeiten zu Ihrem Projekt. Wenn es um Automatisierung geht, flippen Anfänger in der Regel aus
LTE CAT-M1 GSM IoT Sensors Network T - 15 Minuten.: 5 Schritte
LTE CAT-M1 GSM IoT Sensors Network… T - 15 Minuten.: Am 08. April 2018 gab R&D Software Solutions srl [itbrainpower.net] der Öffentlichkeit die Ankündigung des xyz-mIoT von itbrainpower.net Shield bekannt - das erste und kompakteste IoT-Board, das die Vielseitigkeit der ARM0-Mikrosteuerung kombiniert
Raspberry Pi ohne Monitor und Tastatur einrichten – wikiHow
So richten Sie Raspberry Pi ohne Monitor und Tastatur ein: Raspberry Pi ist ein kleiner Einplatinencomputer, auf dem das Linux-basierte Betriebssystem Raspbian ausgeführt wird. Diese Anleitung zeigt Ihnen, wie Sie Raspberry Pi (jedes Modell) ohne Monitor und Tastatur einrichten. Ich werde meinen Raspberry Pi 3 B+ mit Raspbi verwenden
Einen CRT-Monitor sicher zerlegen – wikiHow
So zerlegen Sie einen CRT-Monitor sicher: Haben Sie einen alten CRT-Monitor in Ihrem Haus herumliegen, aber Sie denken, dass er zu gefährlich ist. verursacht durch das Zerlegen eines CRT-Monitors