Πίνακας περιεχομένων:
- Βήμα 1: Δημιουργήστε και ρυθμίστε τα κανάλια Thingspeak σας
- Βήμα 2: Ρυθμίστε το Arduino IDE, Βιβλιοθήκες και διαμορφώστε το BME280
- Βήμα 3: Προγραμματίστε το ESP8266 Με το Arduino IDE
- Βήμα 4: Επιστρέψτε στο Thingspeak για να κάνετε κάποια αλλαγή δεδομένων
- Βήμα 5: Επεξεργαστείτε το παρεχόμενο αρχείο HTML
Βίντεο: ESP8266 NodeMCU Με μετρητές BME280 & Διάγραμμα: 5 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:38
Fancy Gauges and Chart για τον πίνακα ανάπτυξης ESP8266 NodeMCU με αισθητήρα θερμοκρασίας, υγρασίας και πίεσης BME280. Το Thingspeak θα αποθηκεύσει όλα τα δεδομένα σας στο cloud για ανάκτηση ανά πάσα στιγμή για τα επόμενα χρόνια (ελπίζουμε). Οι μετρητές και το γράφημα συμπληρώνονται από τα δεδομένα που είναι αποθηκευμένα στο thingspeak και ενημερώνονται αυτόματα κάθε 5 λεπτά.
Απαιτούμενα είδη:
ESP8266 NodeMCU Development board (3,79 $ από Banggood.com Hong Kong)
Bosch BME280 ($ 5,63 από Banggood.com Χονγκ Κονγκ)
Breadboard Jumpers ($ 3.09 από το Banggood.com Hong Kong)
Breadboard (2,28 $ από το Banggood.com Hong Kong)
Τροφοδοσία, Δωρεάν αν έχετε φορτιστή τηλεφώνου micro USB
Καλώδιο Micro USB, δωρεάν αν το έχετε ήδη
Arduino IDE, δωρεάν λήψη
Αποκτήστε τα αρχεία κώδικα.ino &. HTML εδώ
Βήμα 1: Δημιουργήστε και ρυθμίστε τα κανάλια Thingspeak σας
1. Δημιουργήστε έναν δωρεάν λογαριασμό Thingspeak και νέο κανάλι στη διεύθυνση https://thingspeak.com, Καλέστε το κανάλι "ESP8266-NodeMCU-12E-BME280"
2. Το νέο κανάλι θα πρέπει να έχει 3 πεδία που ονομάζονται Θερμοκρασία Υγρασία Πίεση με τη συγκεκριμένη σειρά (Σημείωση κεφαλαίου γράμματος πρώτου γράμματος).
3. Σημειώστε το νέο σας "αναγνωριστικό καναλιού" XXXXXX στην ενότητα "Ρυθμίσεις καναλιού"
4. Κάντε κλικ στο σύνδεσμο "Κλειδιά API" και λάβετε υπόψη τα "API Write" και "Read API Keys" XXXXXXXXXXXXXXXX. Επίσης, κάντε αυτό ένα δημόσιο κανάλι υπό κοινή χρήση.
5. Δημιουργήστε ένα δεύτερο κανάλι Thingspeak που θα περιέχει τα δεδομένα "Σήμερα" (από τα μεσάνυχτα) High Low δεδομένων. Ονομάστε το "BME280 Daily High Low Low Data"
6. Αυτό το νέο κανάλι θα πρέπει να έχει 6 πεδία με όνομα Tmax Tmin Hmax Hmin Pmax Pmin με τη συγκεκριμένη σειρά (Σημείωση κεφαλαίου γράμματος πρώτου γράμματος).
7. Σημειώστε τα "BME280 Daily High Low Data" "ID του καναλιού", "Read" & "Write API keys" όπως ακριβώς και στα παραπάνω βήματα.
Βήμα 2: Ρυθμίστε το Arduino IDE, Βιβλιοθήκες και διαμορφώστε το BME280
8. Ακολουθήστε τις οδηγίες για την εγκατάσταση του πυρήνα Arduino IDE & ESP8266 στη διεύθυνση
9. Πυροδοτήστε το Arduino IDE, ώστε να μπορέσουμε να εγκαταστήσουμε τις τέσσερις βιβλιοθήκες που θα χρειαστούμε.
10. Θα χρειαστείτε τη βιβλιοθήκη "Adafruit Unified Sensor Driver", εγκαταστήστε την στο "Library Manager" στο Arduino IDE. Μενού Σκίτσο Συμπεριλάβετε Βιβλιοθήκη Διαχείριση Βιβλιοθηκών πραγματοποιήστε αναζήτηση βάσει Type = "Recommended" Θέμα = "Αισθητήρες" και στη συνέχεια τοποθετήστε τις λέξεις Adafruit Unified Sensor Driver στο πλαίσιο αναζήτησης. Αυτό που θέλετε λέει "Adafruit Unified Sensor Driver by Adafruit"
11. Επιπλέον, θα χρειαστεί επίσης η "Βιβλιοθήκη Adafruit BME280" να την εγκαταστήσει στο "Library Manager" στο Arduino IDE. Μενού Σκίτσο Συμπεριλάβετε Βιβλιοθήκη Διαχείριση Βιβλιοθηκών πραγματοποιήστε αναζήτηση με Τύπο = "Προτείνεται" Θέμα = "Αισθητήρες" και στη συνέχεια τοποθετήστε τις λέξεις Adafruit BME280 Library στο πλαίσιο αναζήτησης. Αυτό που θέλετε λέει "Adafruit BME280 Library by Adafruit"
12. Μια άλλη βιβλιοθήκη που χρειάζεστε είναι το Wire.h, εγκαταστήστε το στο "Library Library" στο Arduino IDE. Μενού, Σκίτσο Συμπεριλάβετε βιβλιοθήκη Διαχείριση βιβλιοθηκών Κάντε μια αναζήτηση με Τύπο = "Συνεισφορά" Θέμα = "Εισαγωγή/Έξοδος Σήματος" και στη συνέχεια τοποθετήστε τη λέξη Wire στο πλαίσιο αναζήτησης. Αυτό που θέλετε λέει "Wire Built-in by Arduino" Πιθανότατα στο κάτω μέρος της επιλογής.
13. Μια ακόμη βιβλιοθήκη, το ESP8266WiFi, εγκαταστήστε το στο "Library Manager" στο Arduino IDE. Μενού, Σκίτσο Συμπεριλάβετε βιβλιοθήκη Διαχείριση βιβλιοθηκών Κάντε μια αναζήτηση με Τύπο = "Συνεισφορά" Θέμα = "Επικοινωνία" και στη συνέχεια τοποθετήστε τη λέξη ESP8266wifi στο πλαίσιο αναζήτησης. Αυτό που θέλετε λέει "ESP8266wifi Built-in by Ivan Grokhotkov"
14. Η διεύθυνση I2C για BME280 είναι κωδικοποιημένη στο αρχείο Adafruit_BME280.h (αναζητήστε τη γραμμή #ορίστε BME280_ADDRESS 0x77) μέσα στο φάκελο Adafruit_BME280_Library. Οι μονάδες αισθητήρα BME της Adafruit είναι ενσύρματες για χρήση της διεύθυνσης I2C του 0x77. Αλλά το BME280 μπορεί να έχει μια ελαφρώς διαφορετική διεύθυνση I2C (0x76) εάν η εξωτερική καρφίτσα του SDO είναι γειωμένη. Εάν χρησιμοποιείτε τις ενότητες αισθητήρων από τρίτο μέρος, είναι πιθανό ότι η διεύθυνσή της δεν θα ταιριάζει με την προεπιλεγμένη τιμή στη βιβλιοθήκη του Adafruit. Για παράδειγμα, για τις περισσότερες μονάδες αισθητήρων BME280 που διατίθενται στο eBay ή στο Aliexpress η διεύθυνση I2C τους είναι 0x76. Εάν δεν λάβετε απάντηση από τον αισθητήρα χρησιμοποιώντας την προεπιλεγμένη διεύθυνση που έχει οριστεί στο αρχείο Adafruit_BME280.h, ίσως χρειαστεί να την αλλάξετε σε 0x76.
BME280 & ESP8266 Σημεία σύνδεσης. ESP8266 3.3V σε BME280 Vin, ESP8266 GND σε BME280 GND, ESP8266 D4 σε BME280 SCL, ESP8266 D3 σε BME280 SDA. 15. Ανοίξτε το παρεχόμενο αρχείο ESP8266-NodeMCU-12E-BME280.html σε πρόγραμμα επεξεργασίας κειμένου και εισαγάγετε το "ESP8266-NodeMCU-12E-BME280" (Το πρώτο κανάλι που δημιουργήσατε) "Αναγνωριστικό καναλιού" & "Ανάγνωση κλειδιού API" για μεταβλητές κλειδί1 & chan1. Εισαγάγετε επίσης τα "Κλειδί API ανάγνωσης" και "Αναγνωριστικό καναλιού" για "BME280 Daily High Low Data" (Το δεύτερο κανάλι που δημιουργήσατε) για τα κλειδιά2 και chan2. Επιπλέον, καταχωρίστε τη ζώνη ώρας που αντισταθμίζεται από το UTC. Όπως στο -5 για μένα. Όλες οι τιμές πρέπει να βρίσκονται μέσα στα παρεχόμενα μεμονωμένα εισαγωγικά 'XXXXX'. Αποθηκεύστε και εξέλθετε από τον επεξεργαστή κειμένου.
Συνδέστε το ESP8266 με το καλώδιο USB στον υπολογιστή σας και, στη συνέχεια, επιλέξτε τη σειριακή θύρα που θα είναι η θύρα USB.
Οι χρήστες Linux μπορεί να χρειαστεί να αλλάξουν την ιδιοκτησία της θύρας USB για να επικοινωνήσουν με το /dev /ttyUSB0 όπως στο 'sudo chown yourusername /dev /ttyUSB0' ή ό, τι έχετε επιλέξει ως θύρα σας κατά τη ρύθμιση.
Βήμα 3: Προγραμματίστε το ESP8266 Με το Arduino IDE
16. Στη συνέχεια θα προγραμματίσουμε το ESP8266. Συνδέστε ένα καλώδιο USB μεταξύ του ESP8266 και του υπολογιστή σας.
Φορτώστε το παρεχόμενο αρχείο New_BME_Sensor.ino στο Arduino IDE. Ο αισθητήρας BME280 πρέπει να είναι συνδεδεμένος με D3 (SDA) & D4 (SCL) στο ESP8266. Εισαγάγετε το "ESP8266-NodeMCU-12E-BME280" (Το πρώτο κανάλι που δημιουργήσατε) "Γράψτε κλειδί" "Ασύρματο SSID" & "Κωδικός πρόσβασης" στη σωστή ενότητα του σκίτσου. Στη συνέχεια, κάντε κλικ στο στοιχείο μενού "Σκίτσο" & "Μεταφόρτωση". Αφού ανεβάσετε το σκίτσο (Η πρόοδος φτάνει το 100%) στο ESP8266, μπορείτε να ανοίξετε τη σειριακή οθόνη (το εικονίδιο πάνω δεξιά μοιάζει με γυαλί μεγέθυνσης) και να δείτε τα δεδομένα σας να εκτυπώνονται μετά από 5 λεπτά, κάθε 5 λεπτά. Τα δεδομένα αποστέλλονται στην ουσία σε διαστήματα 5 λεπτών, οπότε θα χρειαστεί λίγος χρόνος για να έχετε σημαντικά δεδομένα γραφήματος, αλλά θα πρέπει να έχετε μετρήσεις μετρητή μετά από 5 λεπτά.
Βεβαιωθείτε ότι έχετε λάβει σωστές ενδείξεις από το BME280 στη σειριακή οθόνη.
Η πρώτη μέτρηση θα είναι πιθανώς ένα μη έγκυρο nan.
Περιμένετε μερικά λεπτά μέχρι την επόμενη ανάγνωση και επαληθεύστε ότι οι ενδείξεις φαίνονται καλές.
Βήμα 4: Επιστρέψτε στο Thingspeak για να κάνετε κάποια αλλαγή δεδομένων
17. Τώρα, ενώ τα δεδομένα μεταφορτώνονται σιγά -σιγά στο thingspeak σας επιτρέπει να κάνετε κάποιες τροποποιήσεις για να λάβετε κάποια επιπλέον δεδομένα από αυτά που ανεβαίνουν. Επιστρέψτε στον ιστότοπο thingspeak και στη σελίδα καναλιού Thingspeak "BME280 Daily High Low Data" (Το δεύτερο κανάλι που δημιουργήσατε) κάντε κλικ στο πράσινο κουμπί "Ανάλυση MATLAB". Επιλέξτε Πρότυπο "Προσαρμοσμένο (Χωρίς κωδικό εκκίνησης)"
18. Ονομάστε την ανάλυση MATLAB "Υπολογίστε το ελάχιστο μέγιστο από τα μεσάνυχτα".
19. Αντιγράψτε τον κώδικα MATLAB Analysis.txt στον παρεχόμενο χώρο. Εισαγάγετε το "αναγνωριστικό καναλιού" για το "ESP8266-NodeMCU-12E-BME280" (Το πρώτο κανάλι που δημιουργήσατε) στο "readChannelID". Εισαγάγετε το "BME280 Daily High Low Data" (Το δεύτερο κανάλι που δημιουργήσατε) Γράψτε "Αναγνωριστικό καναλιού" & "Κλειδί εγγραφής" στο writeNewChannelID & writeAPIKey με σεβασμό. Ξέρω ότι ακούγεται μπερδεμένο (διαβάστε το ξανά). Κάντε κλικ στην επιλογή αποθήκευση και εκτέλεση. Εάν το κάνατε σωστά και το κανάλι ανάγνωσης είναι δημόσιο, δεν θα δείτε σφάλματα και εκτυπώνει με επιτυχία τις τιμές. Σημείωση, Ενδέχεται να δείτε ένα σφάλμα εάν δεν έχουν μεταφορτωθεί ακόμη δεδομένα σε αυτό το κανάλι. Παρά το σφάλμα συνεχίστε. Εάν θέλετε, μπορείτε να επισκεφθείτε ξανά Κάντε κλικ στην επιλογή αποθήκευση και εκτελέστε για να βεβαιωθείτε ότι λειτουργεί μόλις μεταφορτωθούν τα δεδομένα.
20. Στη συνέχεια, πρέπει να δημιουργήσουμε ένα "Time Control" για να ενεργοποιήσουμε αυτόν τον κωδικό κάθε 5 λεπτά και τα δεδομένα μας γράφονται στο κανάλι "BME280 Daily High Low Data" (Το δεύτερο κανάλι που δημιουργήσατε). Από την κύρια σελίδα του "BME280 Daily High Low Data" (Το δεύτερο κανάλι που δημιουργήσατε) επιλέξτε Εφαρμογές στο επάνω μέρος. Στις ενέργειες επιλέξτε "TimeControl" και έπειτα το πράσινο κουμπί "New TimeControl". Ονομάστε το "Αποστολή υψηλών χαμηλών θερμοκρασιών ESP8266". Επιλέξτε τη ζώνη ώρας σας εάν χρειάζεται και επιλέξτε "Επαναλαμβανόμενη" στην περιοχή Συχνότητα. Επιλέξτε Λεπτό στην Επανάληψη. Ρυθμίστε να εκτελείται κάθε 5 λεπτά. Η ενέργεια πρέπει να είναι Ανάλυση MATLAB και "Κωδικός προς εκτέλεση" είναι "Υπολογίστε το ελάχιστο μέγιστο από τα μεσάνυχτα". Εξοικονομήστε χρόνοControl.
Βήμα 5: Επεξεργαστείτε το παρεχόμενο αρχείο HTML
Επεξεργαστείτε τα αρχεία HTML και αναζητήστε σχόλια που λένε "******** Change Me 1 of 8 *********" Αλλάξτε αυτά στην προτίμησή σας.
Σημειώσεις:
Ορισμένα από τα πεδία κειμένου και το εβδομαδιαίο γράφημα δεν θα συμπληρωθούν σωστά μέχρι να έχετε μια ολόκληρη ημέρα και μια ολόκληρη εβδομάδα δεδομένων για την ενότητα και το γράφημα 24 ωρών και εβδομάδων. Μόλις έχετε μια δέσμη δεδομένων, μπορείτε να κάνετε μεγέθυνση στα γραφήματα με τον τροχό του ποντικιού (δεξί κλικ για επαναφορά). Μπορείτε επίσης να έχετε έναν τέταρτο μετρητή (όπως φαίνεται στα στιγμιότυπα οθόνης) από έναν άλλο αισθητήρα από άλλο κανάλι, αλλά έχω βγάλει τις σχετικές μερίδες. Εάν αισθάνεστε άγρια, συνδέστε το. Υπάρχουν επίσης ορισμένα ζητήματα χρονισμού που πρέπει να γνωρίζετε. Πιθανότατα δεν θα έχετε τα απόλυτα πιο τρέχοντα δεδομένα, αλλά θα πρέπει πάντα να είναι λιγότερο από 5 λεπτά. Αυτό προέρχεται από την ενεργοποίηση του ελέγχου χρονισμού, από την αποστολή των δεδομένων από το ESP8266 και από τη φόρτωση / ανανέωση της ιστοσελίδας.
Ανοίξτε το παρεχόμενο αρχείο ESP8266-NodeMCU-12E-BME280.html στο πρόγραμμα περιήγησής σας και θα πρέπει να δείτε τους μετρητές και το γράφημα να συμπληρώνονται.
Αποκτήστε τα αρχεία κώδικα.ino &. HTML εδώ
Συνιστάται:
Πώς να χρησιμοποιήσετε τον μετρητή στο διάγραμμα σκάλας; - Delta WPLSoft: 15 Βήματα
Πώς να χρησιμοποιήσετε τον μετρητή στο διάγραμμα σκάλας; | Delta WPLSoft: Σε αυτό το σεμινάριο, δείχνουμε πώς να χρησιμοποιούμε μετρητές σε εφαρμογές σε πραγματικό χρόνο ως παράδειγμα
Διάγραμμα κυκλώματος ανιχνευτή τάσης μη επαφής AC: 6 βήματα
Διάγραμμα κυκλώματος ανιχνευτή τάσης χωρίς επαφή: Το κύκλωμα αναγνώρισης τάσης εναλλασσόμενου ρεύματος είναι ένα κύριο κύκλωμα βασισμένο σε τρανζίστορ εντελώς NPN όπως το BC747, BC548. Το κύκλωμα εξαρτάται από 3 διαφορετικά στάδια. Μετά από αυτό, το σήμα αδυναμίας δόθηκε σταθερό και Αυτό το κύκλωμα μπορεί να τρέξει το Drove ακριβώς όπως το κουδούνι. Εδώ εγώ
556 Time παρέχει είσοδο ρολογιού σε μετρητές 2 δεκαετιών που θα οδηγήσουν 20 LEDS: 6 βήματα
Ο χρόνος 556 παρέχει είσοδο ρολογιού σε μετρητές 2 δεκαετιών που θα οδηγήσουν 20 LED: Αυτό το Instructable θα δείξει πώς ένας χρονοδιακόπτης 556 θα παρέχει εισροές ρολογιού σε μετρητές 2 δεκαετιών. Οι μετρητές δεκαετίας θα οδηγήσουν 20 LED. Τα LED θα αναβοσβήνουν με μια ακολουθία 10
Ξεκινήστε με Kicad - Σχηματικό διάγραμμα: 9 βήματα
Ξεκινήστε με το Kicad - Διαγραμματικό διάγραμμα: Το Kicad είναι μια ελεύθερη και ανοιχτή εναλλακτική λύση για τα συστήματα CAD για εμπορικά PCB, μην με παρεξηγήσετε EAGLE και τα παρόμοια είναι πολύ καλά, αλλά η δωρεάν έκδοση του EAGLE μερικές φορές υπολείπεται και η μαθητική έκδοση διαρκεί μόνο 3 χρόνια, έτσι το Kicad είναι ένα εξαιρετικό
Μέτρηση ροής με μετρητές ροής νερού (υπερήχων): 5 βήματα (με εικόνες)
Μέτρηση ροής με μετρητές ροής νερού (Υπερήχων): Το νερό είναι ένας κρίσιμος πόρος για τον πλανήτη μας. Οι άνθρωποι χρειαζόμαστε νερό κάθε μέρα. Και το νερό είναι απαραίτητο για μια ποικιλία βιομηχανιών και εμείς οι άνθρωποι το χρειαζόμαστε καθημερινά. Καθώς το νερό έχει γίνει πιο πολύτιμο και λιγοστό, η ανάγκη για αποτελεσματική παρακολούθηση και τον άνθρωπο