Πίνακας περιεχομένων:
- Βήμα 1: Προτεινόμενη ανάγνωση
- Βήμα 2: Υλικά
- Βήμα 3: Διαμορφώστε το Raspberry Pi
- Βήμα 4: Φτιάξτε το! Σκεύη, εξαρτήματα
- Βήμα 5: Φτιάξτε το! Λογισμικό
- Βήμα 6: Δοκιμή & Εγκατάσταση
Βίντεο: IoT Pet Monitor!: 6 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:38
Παρακολουθήστε τα αγαπημένα σας κορίτσια και παίξτε μουσική ή πείτε τους να είναι ήσυχοι ενώ λείπετε! Αυτό το σεμινάριο θα δείξει πώς να χρησιμοποιήσετε έναν υπολογιστή Raspberry Pi για να παρακολουθείτε την ένταση του ήχου στο σπίτι σας (μέσω του Cloud) για να δείτε εάν και πότε το κατοικίδιο σας είναι αναστατωμένο.
Drum roll … το πιο διασκεδαστικό κομμάτι: Αν ακούγεται πολύ δυνατά (όπως ο Fido γαβγίζει ή κάνει κάτι άλλο), θα τους πείτε να είναι ήσυχοι ή να παίζουν μουσική!
Μαζί με το Pi (και τα ηχεία), θα χρησιμοποιήσουμε την πλακέτα μικροφώνου SparkFun MEMS για να μετρήσουμε τα επίπεδα έντασης και να ενεργοποιήσουμε τη συσκευή αναπαραγωγής ήχου. Τα δεδομένα μεταφορτώνονται στην υπηρεσία CloudMQTT χρησιμοποιώντας το πρωτόκολλο επικοινωνίας MQTT.
Συνολικός χρόνος ανάγνωσης: ~ 8 λεπτά
Συνολικός χρόνος κατασκευής: 60 λεπτά (λιγότερο με εμπειρία)
Ένα τεράστιο ΕΥΧΑΡΙΣΤΩ στο SparkFun για την υποστήριξη αυτού του έργου! Δείτε το σεμινάριο εδώ.
Βήμα 1: Προτεινόμενη ανάγνωση
Για να δημιουργήσετε αυτό το έργο, θα χρειαστείτε έναν πλήρως διαμορφωμένο, συνδεδεμένο WiFi υπολογιστή Raspberry Pi 3 με Raspbian OS. Είναι επίσης χρήσιμο να γνωρίζετε ορισμένους προγραμματισμούς Python καθώς και τα ακόλουθα πράγματα: (1) πώς να χρησιμοποιείτε και να ελέγχετε τις ακίδες Raspberry Pi GPIO. (2) επικοινωνία MQTT. και (3) αναλογικούς αισθητήρες. Εάν κάτι από αυτά είναι άγνωστο ή αν είστε απλά περίεργοι (να είστε περίεργοι!), Ελέγξτε τα παρακάτω μαθήματα!
Raspberry Pi 3
- Οδηγός σύνδεσης Raspberry Pi 3 Starter Kit
- Raspberry Pi GPIO
- Επικοινωνία SPI με το Raspberry Pi
Πρωτόκολλο επικοινωνίας MQTT
Το MQTT (Message Query Telemetry Transport) είναι ένα δημοφιλές πρωτόκολλο επικοινωνίας IoT. Θα χρησιμοποιήσουμε τη βιβλιοθήκη Paho Client Python και μια υπηρεσία MQTT που ονομάζεται CloudMQTT. Δείτε περισσότερα για το MQTT και πώς να το χρησιμοποιήσετε:
- Εξερεύνηση πρωτοκόλλων επικοινωνίας για το IoT
- Ξεκινώντας με το CloudMQTT
- Επισκόπηση της βιβλιοθήκης πελάτη Eclipse Paho MQTT Python
MEMS Microfon Breakout Board
Το μικρόφωνο MEMS είναι ένα αναλογικό μικρόφωνο, οπότε θα χρειαστούμε έναν μετατροπέα αναλογικού σε ψηφιακό ("ADC") για ανάγνωση στο αναλογικό σήμα με τις ψηφιακές ακίδες GPIO Raspberry Pi.
- Ξεκινώντας με το SparkFun MEMS Microfon Breakout Board
- Φύλλο δεδομένων μικροφώνου MEMS
- MCP3002 ADC Datasheet
Βήμα 2: Υλικά
- Raspberry Pi 3 Model B
Θα χρειαστούμε επίσης τα ακόλουθα περιφερειακά: Θήκη Raspberry Pi 3. Κάρτα SD (τουλάχιστον 8 GB). Καλώδιο Raspberry Pi 3 GPIO. Καλώδιο τροφοδοσίας MicroUSB. Καλώδιο HDMI και οθόνη συμβατή με HDMI. Πληκτρολόγιο USB? Ποντίκι USB? ηχεία με θύρα ακουστικών 1/8.
- SparkFun MEMS Mic Breakout Board
-MCP3002 (Μετατροπέας αναλογικού σε ψηφιακό)
Breadboard & M-to-M Breadboard Jumper Wires
Βήμα 3: Διαμορφώστε το Raspberry Pi
Βήμα 1: Έλεγχος & εγκατάσταση ενημερώσεων Ο έλεγχος και η εγκατάσταση ενημερώσεων είναι πάντα ένας καλός τρόπος για να ξεκινήσετε. Εκτελέστε τις ακόλουθες εντολές στο παράθυρο τερματικού:
sudo apt-get ενημέρωση
sudo apt-get αναβάθμιση
sudo επανεκκίνηση
Βήμα 2: Ρυθμίστε τη διεπαφή SPI για το μικρόφωνο MEMS + MCP3002
Για να χρησιμοποιήσουμε το SPI (Serial Port Interface) για ανάγνωση στο μικρόφωνο MEMS μέσω του MCP3002, θα χρειαστούμε το Python Dev Package:
sudo apt-get install python-dev
Θα χρειαστούμε επίσης τη διεπαφή SPI (μπορεί να θέλετε να δημιουργήσετε έναν υποφάκελο για να το αποθηκεύσετε):
git κλώνος git: //github.com/doceme/py-spidev
sudo python setup.py install
Ακολουθεί η τεκμηρίωση SPI-Dev εάν αντιμετωπίζετε προβλήματα.
Βήμα 3: Αναπαραγωγή ήχων με το OMXPlayer
Το OMXPlayer είναι ένα πρόγραμμα αναπαραγωγής ήχου και βίντεο προφορτωμένο στο Raspbian OS. Λειτουργεί με τους περισσότερους τύπους αρχείων ήχου, όπως:.wav,.mp3 και.m4a. Αυτό θα χρησιμοποιήσουμε για να αναπαράγουμε ήχους όταν το Fido είναι πολύ δυνατό. Η βιβλιοθήκη Python για τον έλεγχο του OMXPlayer περιλαμβάνεται στο Raspbian (woo!).
Για να δοκιμάσετε το OMXPlayer από το τερματικό, πληκτρολογήστε τα εξής:
omxplayer /home/…/SongFilePath/SongFileName.mp3
Εάν αυτό δεν λειτουργεί, δοκιμάστε να το αναγκάσετε στην τοπική συσκευή εξόδου ήχου:
omxplayer -o local /home/…/SongFilePath/SongFileName.mp3
Βήμα 4: Διαμόρφωση διακομιστή CloudMQTT
Τώρα έχουμε δημιουργήσει έναν διακομιστή MQTT! Για να το κάνετε αυτό χρησιμοποιώντας το CloudMQTT, κάντε τα εξής:
- Δημιουργήστε έναν λογαριασμό CloudMQTT (το σχέδιο "Cute Cat" είναι δωρεάν).
- Δημιουργήστε μια νέα παρουσία MyCloud.
- Στην Κονσόλα, δημιουργήστε έναν νέο κανόνα ACL.
- Μπορείτε να παρακολουθείτε δημοσιευμένα μηνύματα στο περιβάλλον εργασίας χρήστη "Websocket".
Τέλος, εγκαταστήστε τη βιβλιοθήκη MQTT Paho Client Python:
pip εγκατάσταση paho-mqtt
Βήμα 4: Φτιάξτε το! Σκεύη, εξαρτήματα
Τα διαγράμματα Pinout για το Raspberry Pi και το MCP3002 βρίσκονται στις παραπάνω φωτογραφίες.
1. Εισαγάγετε ακίδες MCP3002 στο breadboard (δείτε το διάγραμμα pinout παραπάνω)
Το MCP3002 χρησιμοποιεί 4 ακίδες SPI για επικοινωνία: Serial Clock ("SCL"), Master Input Slave Output ("MISO"), Master Output Slave Input ("MOSI") και Chip Select ("CS"). Αυτές οι ακίδες αντιστοιχούν στο Raspberry Pi GPIO pin 11 (SCLK), GPIO pin 9 (MISO), GPIO Pin 10 (MOSI) και GPIO Pin 8 (CE0).
Κάντε τις ακόλουθες συνδέσεις με ακίδες MCP3002:
- Συνδέστε το Pin 1 στο Raspberry Pi GPIO Pin 8 (CE0)
- Συνδέστε το Pin 2 στην αναλογική έξοδο της πλακέτας διάσπασης μικροφώνου MEMS
- Συνδέστε το pin 4 στο GND
- Συνδέστε το Pin 5 στο Raspberry Pi GPIO Pin 10 (MOSI)
- Συνδέστε το Pin 6 στο Raspberry Pi GPIO pin 9 (MISO)
- Συνδέστε το Pin 7 στο Raspberry Pi GPIO Pin 11 (SCLK)
- Συνδέστε το Pin 8 στο Raspberry Pi 3.3V
2. Συγκολλήστε καλώδια στην πλακέτα διάσπασης μικροφώνου MEMS. Συνδεθείτε με το MCP3002 και το Raspberry Pi
- Συνδέστε το Vcc στο Raspberry Pi 3.3V.
- Συνδέστε το GND με το Raspberry Pi GND
- Συνδέστε το AUD στο MCP3002 Pin 2
3. Συνδέστε όλα τα καλώδια για το Raspberry Pi και ενεργοποιήστε τα πάντα
Βήμα 5: Φτιάξτε το! Λογισμικό
Ο στόχος μας με το Bark Back είναι διπλός: ενεργοποιήστε έναν ήχο αναπαραγωγής όταν ο σκύλος γαβγίζει και στείλτε τα δεδομένα σε έναν διακομιστή όπου μπορούμε να τον ελέγξουμε.
Εδώ είναι το πρόγραμμα Python ανοιχτού κώδικα για αυτό το έργο. Μη διστάσετε να (και παρακαλώ) να προσαρμόσετε και να τροποποιήσετε τον κώδικα.
Για να τεθεί σε λειτουργία το πρόγραμμα, πρέπει να συμπληρώσετε δύο πράγματα:
- songList: Γράψτε στη διαδρομή του αρχείου και το όνομα του αρχείου για καθένα από τα τραγούδια που θέλετε να παίξετε.
- creds: Εισαγάγετε τις πληροφορίες CloudMQTT σε αυτό το λεξικό.
Βήμα 1: Διαβάστε στο SparkFun MEMS Microfon breakout board
Διαβάστε την τιμή ADC (μεταξύ 0 και 1023) από την πλακέτα διάσπασης μικροφώνου MEMS (μέσω του MCP3002) χρησιμοποιώντας τη βιβλιοθήκη SPI και υπολογίστε το πλάτος κορυφής προς κορυφή σήματος.
Αντιστοιχίστε το πλάτος από κορυφή σε κορυφή σήματος σε μονάδα έντασης. Ο τρέχων κώδικας αντιστοιχίζει το εύρος ADC μεταξύ 0 και 700 (βάσει γρήγορων πειραματισμών) σε μονάδα έντασης μεταξύ 0 και 10. Για να ρυθμίσετε την ευαισθησία του μικροφώνου, ρυθμίστε το εύρος εισόδου ADC.
Για μια λεπτομερή επισκόπηση του μικροφώνου MEMS, ανατρέξτε σε αυτό το σεμινάριο.
Βήμα 2: Ενεργοποιήστε τη συσκευή αναπαραγωγής ήχου
Πρώτα θα χρειαστούμε τραγούδια για να παίξουμε! Μπορείτε να εγγράψετε γρήγορα ήχους στο GarageBand (ή στο smartphone σας) και να τους στείλετε στο Raspberry Pi. Στην Python, χρησιμοποιήστε τη βιβλιοθήκη υποεπεξεργασίας για να καλέσετε το omxplayer.
Στον κώδικα, εισαγάγετε τη διαδρομή αρχείου των τραγουδιών που θέλετε να αναπαράγετε στη μεταβλητή * songList * (γραμμή 26). Το τρέχον όριο έντασης ορίζεται σε 7 στην κύρια λειτουργία.
Βήμα 3: Στείλτε δεδομένα στον διακομιστή CloudMQTT
Χρησιμοποιήστε τη βιβλιοθήκη Paho Client Python για επικοινωνία με τους διακομιστές CloudMQTT. Συνοψίζοντας γενικά: Ρύθμιση διακομιστή πελάτη. Καθορισμός πρωτοκόλλων επικοινωνίας. συνδεθείτε με τα διαπιστευτήριά μας (γνωστά και ως creds). και εγγραφείτε και δημοσιεύστε τα δεδομένα μας. Τα περισσότερα από αυτά γίνονται στην κύρια συνάρτηση (γραμμές 129 - 149 και γραμμές 169 - 174).
Για να ελέγξετε τα ληφθέντα δεδομένα, μεταβείτε στην καρτέλα "Websocket UI" στην κονσόλα CloudMQTT.
Βήμα 6: Δοκιμή & Εγκατάσταση
Εκτελέστε το πρόγραμμα BarkBack.py στο Terminal ή στο Python IDE (μπορείτε επίσης να χρησιμοποιήσετε το SSH για να εκτελέσετε το πρόγραμμα αφού έχετε ήδη φύγει).
Βεβαιωθείτε ότι λαμβάνετε επίπεδα έντασης στην καρτέλα UI Websocket.
Δοκιμάστε το σύστημα ενεργοποιώντας το μικρόφωνο (χειροκρότημα, κραυγή, φλοιός κ.λπ.) για να βεβαιωθείτε ότι τα ηχεία αναπαράγουν όλους τους ήχους.
Μόλις όλα είναι σε λειτουργία, συνιστάται η συγκόλληση των εξαρτημάτων σε ένα PCB (Printed Circuit Board) εάν σκοπεύετε να εγκαταστήσετε το σύστημα για περισσότερες από λίγες ημέρες.
Δευτέρα στο διαγωνισμό μικροελεγκτών 2017
Πρώτο Βραβείο στον Διαγωνισμό Αισθητήρων 2017
Συνιστάται:
Leo: The Pet Cat: 7 βήματα (με εικόνες)
Leo: the Pet Cat: Γεια σας, αυτό είναι το πρώτο μου εκπαιδευτικό. Η πρώτη έκδοση του " Sony Aibo Robot (1999) " με τράβηξε προς τη ρομποτική στην ηλικία των τεσσάρων, από τότε, ήταν το όνειρό μου να φτιάξω ένα ρομπότ για κατοικίδια για μένα. Έτσι κατέληξα στο " Leo: the Pet Cat " w
Pet Bot: 6 βήματα (με εικόνες)
Pet Bot: Credit: Αυτό το έργο είναι εμπνευσμένο από το Beetlebot από το robomaniac. Ενημέρωση: Έχω μετονομάσει από τότε σε Pet Bot. (Το βίντεο εξακολουθεί να το δείχνει ως Catfish Bot) Διδάσκω Ρομποτική σε νέους κατασκευαστές στις πλατφόρμες ESP8266, Arduino και Raspberry PI και μία από τις προκλητικές
Pet Robot Ball: 10 βήματα (με εικόνες)
Pet Robot Ball: Το σκυλί μου λατρεύει να παίζει με παιχνίδια, ειδικά αυτά που μπορεί να κυνηγήσει! Έφτιαξα μια ρομποτική μπάλα που ενεργοποιείται και κυλάει αυτόματα όποτε αλληλεπιδρά με αυτήν, με ειδοποιεί μέσω του κινητού μου, το οποίο στη συνέχεια μπορώ να χρησιμοποιήσω για να το ελέγξω μέσω WiFi και πτερύγιο
IDC2018IOT Connected Pet Food, Water and Monitor System: 7 Βήματα
IDC2018IOT Connected Pet Food, Water and Monitor System: IntroductionΑν είστε φοιτητής υπό πίεση, εργατικό άτομο ή απλώς εκτός σπιτιού για περισσότερες από μερικές ώρες την ημέρα. Ως ιδιοκτήτες κατοικίδιων ζώων που φροντίζουν, θέλουμε να διασφαλίσουμε ότι τα αγαπημένα μας πρόσωπα θα παραμείνουν υγιή, τρέφονται και φυσικά ΔΕΝ ξαπλώνουν
IoT Outdoor Pet Door: 6 βήματα (με εικόνες)
IoT Outdoor Pet Door: Εμπνεύστηκα από αυτό το διδακτικό να δημιουργήσω μια αυτόματη πόρτα κοτέτσι. Όχι μόνο ήθελα την πόρτα του κοτέτσι σε ένα χρονόμετρο, αλλά ήθελα επίσης να συνδέσω την πόρτα στο διαδίκτυο, ώστε να μπορώ να την ελέγξω με το τηλέφωνό μου ή τον υπολογιστή μου. Αυτό το δ