Πίνακας περιεχομένων:
- Βήμα 1: Η έννοια, η συνδεσιμότητα και τα στοιχεία
- Βήμα 2: Βάλτε το Arduino IDE να λειτουργήσει
- Βήμα 3: Σύνδεση αισθητήρα θερμοκρασίας, LED και PIR
- Βήμα 4: Ρύθμιση του διακομιστή ιστοσελίδων Cloud
- Βήμα 5: Ρύθμιση της βάσης δεδομένων για τη διατήρηση των δεδομένων θερμοκρασίας
- Βήμα 6: Δημιουργήστε τον Πίνακα "θερμοκρασία"
- Βήμα 7: Ανεβάστε το Σκίτσο αισθητήρα θερμοκρασίας στο ESP8266 σας
- Βήμα 8: Πρόσβαση στον αισθητήρα θερμοκρασίας και κίνησης
- Βήμα 9: Εγκαταστήστε το HomeBridge for HomeKit στο Raspberry Pi (προαιρετικό)
- Βήμα 10: Σύνδεση Homebridge με το iPhone σας
- Βήμα 11: Βάλτε το Homebridge να λειτουργεί στο παρασκήνιο
Βίντεο: Ασύρματος αισθητήρας θερμοκρασίας και κίνησης IoT: 11 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Εμπνεύστηκα από τα πολλά έργα IoT που βρίσκονται στο Instructables, οπότε στη διαδικασία εκμάθησης προσπαθώ να συνδυάσω κάποια χρήσιμη εφαρμογή που είναι σχετική. Ως επέκταση στα προηγούμενα Instructables που σχετίζονται με τον αισθητήρα θερμοκρασίας IoT, τώρα πρόσθεσα περισσότερες δυνατότητες στο υποσύστημα. Οι πρόσθετες λειτουργίες είναι:
- Σύνδεση NTP για να έχετε χρόνο
- LED που μπορεί να ελεγχθεί από απόσταση
- Αισθητήρας PIR για ανίχνευση κίνησης
- Συνδεδεμένο Raspberry PI που εκτελεί homekit για να επιτρέπεται η σύνδεση στο iPhone "Home"
Βήμα 1: Η έννοια, η συνδεσιμότητα και τα στοιχεία
Η ιδέα όπως φαίνεται παραπάνω είναι να επιτρέπεται η παρακολούθηση της θερμοκρασίας από απόσταση με την πρόσθετη δυνατότητα ανίχνευσης κίνησης εάν κάποιος βρίσκεται στο σπίτι και να επιτρέπεται η ειδοποίηση μέσω LED. Η πρόσβαση στη μονάδα μπορεί να γίνει τοπικά στο LAN ή απομακρυσμένα μέσω διακομιστή ιστού. Μπορείτε επίσης να συνδέσετε πίτα βατόμουρου (προαιρετικά) με εγκατεστημένο αξεσουάρ Homekit για να επιτρέψετε τη σύνδεση με την εφαρμογή iPhone "Home".
Όπως και στην προηγούμενη έκδοση, τα ακόλουθα στοιχεία απαιτούνται σε αυτό το έργο, σημειώστε ότι ο παρακάτω σύνδεσμος είναι σύνδεσμος συνεργατών, οπότε αν δεν θέλετε να συνεισφέρετε, απλώς μεταβείτε απευθείας.
- Πίνακας NodeMcu Lua ESP8266 dev. Παίρνω το δικό μου από το banggood.
- Αισθητήρας θερμοκρασίας LM35
- Αισθητήρας PIR
- LED
- Πίνακας πρωτότυπου
- Arduino IDE
- Εργασία διακομιστή ιστού με ενεργοποιημένη τη δέσμη ενεργειών διακομιστή php
- Raspberry pi (προαιρετικό)
Βήμα 2: Βάλτε το Arduino IDE να λειτουργήσει
Για λεπτομέρειες σχετικά με αυτό το βήμα, ανατρέξτε στις προηγούμενες οδηγίες μου Βήμα 2. στον αισθητήρα θερμοκρασίας IoT με ESP8266.
Βήμα 3: Σύνδεση αισθητήρα θερμοκρασίας, LED και PIR
Ο αισθητήρας θερμοκρασίας LM35 έχει 3 πόδια, το πρώτο σκέλος είναι VCC, μπορείτε να το συνδέσετε στο 3.3V (η έξοδος της πλακέτας ESP8266 είναι 3.3V). Το μεσαίο πόδι είναι Vout (από όπου διαβάζεται η θερμοκρασία, μπορείτε να το συνδέσετε στην αναλογική είσοδο του πείρου ESP8266 AD0, αυτό βρίσκεται στην επάνω δεξιά πλευρά του πίνακα όπως φαίνεται στην εικόνα. Και το δεξί πόδι πρέπει να είναι συνδεδεμένο με το έδαφος.
Ο αισθητήρας PIR αποτελείται επίσης από 3 πόδια, μπορείτε να δείτε ένα μικρό σημάδι +, 0, - στο PCB δίπλα στο πόδι. Συνδέστε λοιπόν το "+" σε 3,3V, "-" στη γείωση και το μεσαίο πείρο "0" στο pin D6 του ESP8266.
Το LED είχε μόνο 2 πόδια, "+" (Anode), το μεγαλύτερο πόδι συνδέστε το με τον πείρο D5 του ESP8266 και "-" (Cathode) τα μικρότερα πόδια πρέπει να συνδεθούν με τη γείωση (GND).
Βήμα 4: Ρύθμιση του διακομιστή ιστοσελίδων Cloud
Υπάρχει μια συγκεκριμένη υπόθεση για αυτό το βήμα:
Έχετε ήδη έναν διακομιστή ιστού που λειτουργεί, φιλοξενείται σε έναν κατάλληλο τομέα. Και είστε εξοικειωμένοι με τη μεταφορά αρχείων στον διακομιστή ιστού σας μέσω FTP χρησιμοποιώντας το Filezilla ή κάποιο άλλο πρόγραμμα FTP.
Ανεβάστε το συνημμένο αρχείο zip στη ρίζα του ιστότοπού σας. Ας υποθέσουμε ότι για αυτήν την άσκηση ο ιστότοπός σας είναι "https://arduinotestbed.com"
Ας υποθέσουμε ότι όλο το αρχείο βρίσκεται στη ρίζα του διακομιστή ιστού, εάν το έχετε αποθηκεύσει σε άλλο φάκελο, προσαρμόστε ανάλογα τη θέση του αρχείου τόσο στο αρχείο ArduinoData3.php όσο και στο σκίτσο του Arduino. Εάν δεν είστε σίγουροι, ενημερώστε με και θα προσπαθήσω με τον καλύτερο δυνατό τρόπο να βοηθήσω.
Βήμα 5: Ρύθμιση της βάσης δεδομένων για τη διατήρηση των δεδομένων θερμοκρασίας
χρησιμοποιούμε βάση δεδομένων sqllite για αυτήν την άσκηση. Το Sqllite είναι η βάση δεδομένων με βάση το αρχείο που δεν απαιτεί διακομιστή. Η βάση δεδομένων βρίσκεται τοπικά στον διακομιστή ιστού σας. Εάν ανησυχείτε για την ασφάλεια, θα πρέπει να τροποποιήσετε τον κώδικα για να χρησιμοποιήσετε έναν κατάλληλο διακομιστή βάσης δεδομένων όπως το mysql ή το MSSQL.
Πριν ξεκινήσετε, πρέπει να αλλάξετε τον κωδικό πρόσβασης της βάσης δεδομένων που βρίσκεται στο αρχείο phpliteadmin.php. Ανοίξτε λοιπόν αυτό το αρχείο στον διακομιστή ιστού σας και επεξεργαστείτε τις πληροφορίες κωδικού πρόσβασης στη γραμμή 91 στον κωδικό πρόσβασης που θέλετε.
Στη συνέχεια, δείξτε στο phpliteadmin.php στον διακομιστή ιστού σας. Χρησιμοποιώντας το παράδειγμά μας, προηγουμένως πρέπει να υποδείξετε τη διεύθυνση
Επειδή δεν υπάρχει βάση δεδομένων στο διακομιστή, θα εμφανιστεί η οθόνη για τη δημιουργία της βάσης δεδομένων. Εισαγάγετε "temperature.db" στο νέο πλαίσιο εισαγωγής βάσης δεδομένων και κάντε κλικ στο κουμπί "Δημιουργία". Στη συνέχεια, η βάση δεδομένων θα δημιουργηθεί με επιτυχία. Σε αυτό το σημείο η βάση δεδομένων είναι ακόμα κενή, οπότε θα χρειαστείτε το script sql για να δημιουργήσετε τη δομή του πίνακα βάσης δεδομένων για να φιλοξενήσετε τα δεδομένα.
Βήμα 6: Δημιουργήστε τον Πίνακα "θερμοκρασία"
Για να δημιουργήσετε τον πίνακα, κάντε κλικ στην καρτέλα "SQL" και επικολλήστε στο ακόλουθο ερώτημα sql.
ΑΡΧΗ ΣΥΝΑΛΛΑΓΗΣ?
-----Δομή πίνακα για τη θερμοκρασία ---- ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ «θερμοκρασία» («ID» INTEGER PRIMARY KEY NOT NULL, υγρασία INT NOT NULL, θερμοκρασία REAL, timestamp DATETIME DEFAULT CURRENT_TIMESTAMP, «θερμάστρα» BOOLEAN, «goaltemp» ΠΡΑΓΜΑΤΙΚΟΣ); ΔΙΑΠΡΑΤΤΩ;
Στη συνέχεια, κάντε κλικ στο κουμπί "Μετάβαση" στο κάτω μέρος. Ο πίνακας πρέπει να δημιουργηθεί με επιτυχία.
Εάν ανανεώσετε τη σελίδα, θα πρέπει τώρα να δείτε τον πίνακα "θερμοκρασία" κάτω από τη βάση δεδομένων temperature.db στην αριστερή πλευρά. Αν κάνετε κλικ στον πίνακα θερμοκρασίας, εάν εξακολουθείτε να μην έχετε δεδομένα.
Τώρα που έχουμε δημιουργήσει τη βάση δεδομένων, μπορείτε να δείξετε το ακόλουθο url
arduinotestbed.com/ArduinoData3.php
Θα βλέπατε τον επιλογέα θερμοκρασίας να δείχνει εικονικά δεδομένα, τον αισθητήρα κίνησης και τον πίνακα ελέγχου για να γυρίσετε το LED. Το κάτω μέρος του γραφήματος θα εξακολουθεί να είναι κενό επειδή δεν υπάρχουν ακόμη δεδομένα.
Βήμα 7: Ανεβάστε το Σκίτσο αισθητήρα θερμοκρασίας στο ESP8266 σας
Τώρα αντιγράψτε όλο το συνημμένο αρχείο και ανοίξτε το "ESP8266TempPIRSensor.ino" η διεπαφή Arduino θα δημιουργήσει το φάκελο για εσάς. Μετακινήστε τα υπόλοιπα αρχεία στο νέο φάκελο που δημιουργήθηκε από τη διεπαφή Arduino.
Τροποποιήστε τον καθορισμένο διακομιστή ιστού και τη θέση του αρχείου data_store3.php, εάν είναι απαραίτητο. Στη συνέχεια, ανεβάστε το σκίτσο στο ESP8266.
Εάν όλα πάνε καλά, θα πρέπει να μεταφορτωθεί με επιτυχία και την πρώτη φορά που το ESP θα μεταβεί σε λειτουργία AP. Μπορείτε να χρησιμοποιήσετε το φορητό υπολογιστή ή το κινητό σας τηλέφωνο για να συνδεθείτε σε αυτό. Θα πρέπει να μπορείτε να βρείτε το AP με το όνομα "ESP-TEMP".- Προσπαθήστε να συνδεθείτε στο ESP-TEMP χρησιμοποιώντας το φορητό υπολογιστή του κινητού σας τηλεφώνου- Μάθετε ποια είναι η διεύθυνση IP στην οποία έχετε εκχωρήσει, κάνοντας το Εντολή "ipconfig" στα παράθυρα ή εντολή "ifconfig" σε linux ή mac. -Εάν χρησιμοποιείτε iphone, κάντε κλικ στο κουμπί i δίπλα στο ESP-TEMP στο οποίο είστε συνδεδεμένοι έχει το ip 192.168.4.1, οπότε μπορείτε απλώς να μεταβείτε στη διεύθυνση https://192.168.4.1 και θα πρέπει να εμφανιστεί η σελίδα ρυθμίσεων όπου μπορείτε να εισαγάγετε το ssid του δρομολογητή wifi και το κλειδί psk. μόλις τα πληκτρολογήσετε και τα δύο και σημειώσετε το πλαίσιο ελέγχου "Update Wifi Config", κάντε κλικ στο "update" για να ενημερώσετε τη ρύθμιση στο ESP8266.
Εάν θέλετε να ενεργοποιήσετε τον εντοπισμό σφαλμάτων στη Σειριακή οθόνη, θα πρέπει να μην σχολιάσετε το
#define DEBUG
γραμμή στο ρολόι.h και σχολίασε το
//#undef DEBUG
γραμμή. στη συνέχεια κάντε κλικ στο Εργαλεία-> Σειριακή οθόνη. Το παράθυρο σειριακής οθόνης θα σας δείξει την πρόοδο της σύνδεσης wifi και θα εμφανίσει την τοπική διεύθυνση IP του ESP8266. Η εσωτερική μπλε λυχνία LED θα αναβοσβήνει μία φορά όταν πραγματοποιηθεί η ένδειξη θερμοκρασίας. Θα ενεργοποιηθεί επίσης όταν εντοπιστεί κίνηση.
Βήμα 8: Πρόσβαση στον αισθητήρα θερμοκρασίας και κίνησης
Θα πρέπει τώρα να μπορείτε να δείξετε για άλλη μια φορά τον τοπικό διακομιστή ιστού του ESP8266. Και αυτό θα δείξει τον χρόνο, τη θερμοκρασία και τον αισθητήρα κίνησης.
Τώρα μπορείτε επίσης να δείξετε τον εξωτερικό διακομιστή ιστού σας, σε αυτό το παράδειγμα είναι
Μπορείτε να σύρετε το κουμπί κάτω από τον πίνακα ελέγχου για να αλλάξετε τη λυχνία LED. Το χρησιμοποιώ για να ειδοποιήσω τα παιδιά μου όταν επιστρέφω σπίτι από τη δουλειά.
Ο αισθητήρας κίνησης ενημερώνεται κάθε δευτερόλεπτο περίπου, οπότε θα πρέπει να ανανεώνετε τη σελίδα πιο συχνά για να δείτε αν ανιχνεύεται κίνηση. Προς το παρόν, η αυτόματη ανανέωση έχει οριστεί στα 60 δευτερόλεπτα. Η θερμοκρασία διαρκεί ανάγνωση κάθε δύο λεπτά, αλλά μπορείτε επίσης να το προσαρμόσετε στην ώρα που σας ταιριάζει.
Συγχαρητήρια αν τα καταφέρατε μέχρι εδώ !!, δώστε ένα χτύπημα στο πίσω μέρος και απολαύστε τη δημιουργία σας. Το επόμενο βήμα είναι προαιρετικό, μόνο αν θέλετε να μπορείτε να ελέγχετε το LED και να παρακολουθείτε τη θερμοκρασία καθώς και τον αισθητήρα κίνησης από συσκευές Apple.
Βήμα 9: Εγκαταστήστε το HomeBridge for HomeKit στο Raspberry Pi (προαιρετικό)
Εμπνεύστηκα από τις οδηγίες του GalenW1 που μου επιτρέπουν να μάθω τόσα πολλά για το HomeBridge.
Για να εγκαταστήσετε το HomeBridge for HomeKit σε ένα Raspberry Pi, μπορείτε να χρησιμοποιήσετε τις οδηγίες που ακολουθούν
github.com/nfarina/homebridge
Το HomeBridge σάς επιτρέπει να συνδέσετε την εφαρμογή Home στο Iphone με τους αισθητήρες που μόλις δημιουργήσατε στα προηγούμενα βήματα.
Ένα από τα οποία έχετε εγκαταστήσει το HomeBridge, πρέπει να εγκαταστήσετε μερικές προσθήκες:
- Αισθητήρας θερμοκρασίας
- Αισθητήρας κίνησης
- Διακόπτης
sudo npm install -g homebridge-http-temperature
sudo npm install -g homebridge -MotionSensor
sudo npm install -g homebridge-http-simple-switch
Μόλις εγκατασταθεί η προσθήκη, θα χρειαστεί να διαμορφώσετε το αρχείο config.json που βρίσκεται παρακάτω
sudo vi /home/pi/.homebridge/config.json
μπορείτε να προσαρμόσετε το περιεχόμενο του αρχείου config.json σύμφωνα με το παρακάτω, βεβαιωθείτε ότι το url δείχνει τη σωστή τοποθεσία.
Βήμα 10: Σύνδεση Homebridge με το iPhone σας
Τώρα που έχουν διαμορφωθεί όλα τα αξεσουάρ, μπορείτε να εκτελέσετε το homebridge χρησιμοποιώντας την ακόλουθη εντολή
homebridge
Θα πρέπει να δείτε την οθόνη όπως παραπάνω. Μπορείτε να ακολουθήσετε το ακόλουθο βήμα για να προσθέσετε το Homebridge στο homekit σας.
- Τώρα ξεκινήστε την εφαρμογή "Home" στο iPhone σας
- Κάντε κλικ στο κουμπί "Προσθήκη αξεσουάρ"
- θα εμφανιστεί η οθόνη για τη σάρωση του κώδικα, μπορείτε να χρησιμοποιήσετε την κάμερα του τηλεφώνου σας για να σαρώσετε τον κώδικα από την οθόνη Raspberry Pi ή να προσθέσετε τον κώδικα χειροκίνητα.
Λάβετε υπόψη ότι τόσο το Iphone όσο και το Raspberry Pi πρέπει να βρίσκονται στον ίδιο ασύρματο δρομολογητή για να λειτουργούν.
- Μόλις συνδεθείτε, θα σας ζητηθεί η οθόνη που λέει ότι τα αξεσουάρ σας δεν είναι πιστοποιημένα, κάντε κλικ στο κουμπί "Προσθήκη ούτως ή άλλως" για να συνεχίσετε
- Στη συνέχεια θα έχετε την επιλογή να διαμορφώσετε καθένα από τα αξεσουάρ, σε αυτήν την περίπτωση έχουμε τον διακόπτη φωτός, τον αισθητήρα κίνησης και τον αισθητήρα θερμοκρασίας.
- Στην τελική οθόνη θα εμφανίζονται όλα τα εξαρτήματα που είναι συνδεδεμένα.
Μόλις συνδεθεί, μπορείτε να χρησιμοποιήσετε το Siri για να ελέγξετε τον αισθητήρα κίνησης, τη θερμοκρασία και να ανάψετε και να σβήσετε το φως.
Βήμα 11: Βάλτε το Homebridge να λειτουργεί στο παρασκήνιο
Συγχαρητήρια!! το έχεις κάνει Ως μπόνους, μπορείτε να εκτελέσετε homebridge στο παρασκήνιο χρησιμοποιώντας την ακόλουθη εντολή:
homebridge &
Τώρα μπορείτε να διασκεδάσετε με το Siri και να απολαύσετε τον κόπο σας.
Σας ευχαριστούμε που το ακολουθήσατε μέχρι το τέλος. Αν σας αρέσει αυτό, παρακαλώ αφήστε μερικά σχόλια ή ψηφίστε με.
Συνιστάται:
Αισθητήρας θερμοκρασίας και υγρασίας με LCD και ανίχνευση ήχου: 4 βήματα
Αισθητήρας θερμοκρασίας και υγρασίας με LCD και ανίχνευση ήχου: Γεια σας παιδιά !!! Εντάξει αυτό το έργο ήταν το τελευταίο μου έτος. Ο σκοπός αυτού του έργου ήταν η παρακολούθηση της θερμοκρασίας και της υγρασίας του δωματίου στο εργαστήρι του Πανεπιστημίου μου επειδή κάποια ηλεκτρονική συσκευή δυσλειτουργούσε λόγω της δυσμενούς θερμοκρασίας και της θερμοκρασίας
Παρακολούθηση ποιότητας αέρα με MQ135 και εξωτερικός αισθητήρας θερμοκρασίας και υγρασίας πάνω από MQTT: 4 βήματα
Παρακολούθηση ποιότητας αέρα με MQ135 και εξωτερικός αισθητήρας θερμοκρασίας και υγρασίας πάνω από MQTT: Αυτό είναι για δοκιμαστικούς σκοπούς
Αισθητήρας θερμοκρασίας και υγρασίας με οθόνη Arduino και LCD: 4 βήματα
Αισθητήρας θερμοκρασίας και υγρασίας με οθόνη Arduino και LCD: Γεια σας παιδιά, καλώς ήρθατε στο Artuino. Όπως είδατε, ξεκίνησα το An InstructableToday θα κάνουμε μια θερμοκρασία & Μετρητής υγρασίας με τη μονάδα DHT11. Ας ξεκινήσουμε Σκεφτείτε να εγγραφείτε και να κάνετε like στο βίντεο
ESP32 NTP Θερμόμετρο μαγειρέματος θερμοκρασίας ανιχνευτή θερμοκρασίας με διόρθωση και συναγερμό θερμοκρασίας Steinhart-Hart .: 7 βήματα (με εικόνες)
ESP32 NTP Θερμόμετρο Θερμόμετρο μαγειρέματος με διόρθωση και συναγερμό θερμοκρασίας Steinhart-Hart .: Ακόμα στο ταξίδι για να ολοκληρώσετε ένα «επερχόμενο έργο», ", ESP32 NTP Temperature Probe Cooking Thermometer With Steinhart-Hart Correction and Temperature Alarm " είναι ένας οδηγός που δείχνει πώς προσθέτω έναν αισθητήρα θερμοκρασίας NTP, piezo b
Ένδειξη θερμοκρασίας και υγρασίας και συλλογή δεδομένων με Arduino και επεξεργασία: 13 βήματα (με εικόνες)
Εμφάνιση θερμοκρασίας και υγρασίας και συλλογή δεδομένων με Arduino και επεξεργασία: Εισαγωγή: Πρόκειται για ένα έργο που χρησιμοποιεί έναν πίνακα Arduino, έναν αισθητήρα (DHT11), έναν υπολογιστή Windows και ένα πρόγραμμα επεξεργασίας (δωρεάν λήψη) για την εμφάνιση δεδομένων θερμοκρασίας, υγρασίας σε ψηφιακή και φόρμα γραφήματος, εμφάνιση ώρας και ημερομηνίας και εκτέλεση χρόνου αντίστροφης μέτρησης