Πίνακας περιεχομένων:
- Βήμα 1: Στοιχεία που χρησιμοποιούνται στο έργο
- Βήμα 2: Σχεδιασμός κυκλωμάτων
- Βήμα 3: Μεταφόρτωση κώδικα στο κιτ NodeMCU χρησιμοποιώντας το ESPlorer
- Βήμα 4: Διαμόρφωση του διανομέα αισθητήρων
- Βήμα 5: Προσαρμογή της διαμόρφωσης
- Βήμα 6: Προσθήκη αισθητήρων στο Hub και στο PubNub
- Βήμα 7: Αρχικοποίηση συλλογής δεδομένων και αποστολή στο PubNub
- Βήμα 8: Απλή σελίδα HTML για προβολή δεδομένων σε πραγματικό χρόνο από το PubNub
- Βήμα 9: Αντιμετώπιση προβλημάτων & Συχνές ερωτήσεις
Βίντεο: IoT Enabled Sensor Data Collection Center With ESP8266 & PubNub: 9 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:38
Τα περισσότερα από τα σεμινάρια για το ESP8266 είναι είτε σε επίπεδο αρχάριου (που αναβοσβήνει από απόσταση ένα led) είτε είναι πολύ περίπλοκα για κάποιον που ψάχνει κάτι για να βελτιώσει και να αναβαθμίσει τις δεξιότητές του να αναβοσβήνει. Αυτό το διδακτικό στόχο έχει να γεφυρώσει αυτό το χάσμα για να δημιουργήσει έναν κόμβο αισθητήρων χρησιμοποιώντας το ESP8266 και δημοσιεύστε τα συλλεγμένα δεδομένα στο PubNub. Ο κύριος στόχος/στόχος είναι να ελαχιστοποιηθεί ο χρόνος που δαπανούν οι άνθρωποι για την κατασκευή του υλικού και να επικεντρωθεί ο χρόνος τους στην ανάλυση δεδομένων και την απεικόνιση με τα συλλεγμένα δεδομένα.
Για άτομα που δεν είναι εξοικειωμένα με το ESP8266/NodeMCU σας προτείνουμε να αποκτήσετε μια βασική κατανόηση του τρόπου αναβοσβήνει και προγραμματίζετε μέσω του ESPLORER. Υπάρχουν πολλά σεμινάρια/οδηγίες που προσφέρουν αυτό όπως το Get-Started-with-ESP8266-Using-AT -Εντολές-NodeMCU.
Στο τέλος αυτού του οδηγού θα μπορείτε να δημιουργήσετε τον δικό σας κόμβο συλλογής δεδομένων αισθητήρα και μια βασική οπτικοποίηση γραφημάτων σε πραγματικό χρόνο με τη βοήθεια του PubNub
Καλώς ορίσατε στο μάθημα ESP8266 -NodeMCU - 102 !!
Βήμα 1: Στοιχεία που χρησιμοποιούνται στο έργο
Τα ακόλουθα στοιχεία απαιτούνται για την ολοκλήρωση του έργου
- Ένας πίνακας ESP8266. Ο πίνακας που χρησιμοποιείται για αυτό το εκπαιδευτικό είναι το NodeMCU devKit v1.0 (εισαγάγετε εδώ τη σύνδεση της ενότητας 143)
- Οποιοσδήποτε αισθητήρας του οποίου τα δεδομένα πρέπει να συλλέγονται και να καταγράφονται. Εδώ χρησιμοποιείται ένα απλό ποτενσιόμετρο ως αναλογικός αισθητήρας
- Διακόπτης διαφάνειας
- Ένα καλώδιο micro to USB (τύπου αρσενικό) για να ανεβάσετε τον κώδικα στο NodeMCU devKit v1.0 και να τροφοδοτήσετε τη συσκευή
- 2 ενδεικτικά led για λειτουργία
- Κάποια αρσενικά σε αρσενικά καλώδια και σανίδα ψωμιού
-
Ένας λογαριασμός PubNub με κλειδί δημοσίευσης, κλειδί εγγραφής και κανάλι
Κατεβάστε τα παρακάτω αρχεία. Εάν δεν θέλετε να αλλάξετε τίποτα και το χρειάζεστε για να λειτουργήσει, κατεβάστε την προ-μεταγλωττισμένη έκδοση (εισαγάγετε εδώ τον φάκελο zip της μεταγλωττισμένης έκδοσης). Αν θέλετε να καταλάβετε πώς λειτουργεί και θέλει να λερώσει τα χέρια σας τότε μπορείτε επίσης να κατεβάσετε τον κύριο πηγαίο κώδικα (εισαγάγετε εδώ την έκδοση του πηγαίου κώδικα)
Βήμα 2: Σχεδιασμός κυκλωμάτων
Εάν έχετε αγοράσει (εισαγάγετε εδώ τον σύνδεσμο του τελικού προϊόντος), τότε μπορείτε να παραλείψετε αυτό το βήμα
Βήμα 3: Μεταφόρτωση κώδικα στο κιτ NodeMCU χρησιμοποιώντας το ESPlorer
Μόλις ανοίξετε την εφαρμογή ESPlorer, η αρχική οθόνη θα μοιάζει με την πρώτη εικόνα. Επιλέξτε τη θύρα COM από το αναπτυσσόμενο μενού στο επάνω μέρος. Εάν η θύρα COM δεν εμφανίζεται ακόμη και όταν η συσκευή είναι συνδεδεμένη, ανοίξτε ξανά την εφαρμογή.
Τώρα υπάρχουν δύο τρόποι για να προχωρήσετε και να ολοκληρώσετε αυτό το διδακτικό
Ολοκληρώστε το τμήμα υλικού του διανομέα αισθητήρα το συντομότερο δυνατό και προχωρήστε στο παιχνίδι με τα δεδομένα
Κατανοήστε τον τρόπο λειτουργίας του σεναρίου NodeMCU και lua και προσαρμόστε ανάλογα με τις ανάγκες σας
εάν (επιλογή == 1)
Ανεβάστε όλα τα προ-μεταγλωττισμένα αρχεία (.lc αρχεία) και προχωρήστε στο επόμενο βήμα
αλλιώς αν (επιλογή == 2)
Απλώς ανοίξτε τα αρχεία πηγαίου κώδικα (.lua) στο ESPlorer και ξεκινήστε να παίζετε με τον κώδικα. Μεταβείτε στο βήμα 5 για περιγραφή
Βήμα 4: Διαμόρφωση του διανομέα αισθητήρων
Τώρα σύρετε το διακόπτη προς τη λειτουργία ρύθμισης παραμέτρων και κάντε επανεκκίνηση της μονάδας. Ο δείκτης λειτουργίας ρύθμισης παραμέτρων πρέπει να ανάβει.
Όπως φαίνεται στην πρώτη εικόνα και το ασύρματο δίκτυο με το όνομα "configMode" θα δημιουργηθεί και θα είναι ορατό. Συνδεθείτε σε αυτό το δίκτυο με τον κωδικό πρόσβασης ως "password1234" από οποιονδήποτε υπολογιστή, lapotop ή κινητό.
Ανοίξτε οποιαδήποτε περιήγηση και εισαγάγετε την ακόλουθη διεύθυνση url
192.168.4.1/?username='wifi_network_name'&pwd='password'&apipubkey='publish_key'&apisubkey='subscribe_key'&channel='Channel_name'&sensorOneName='Sensor_1_name'&check=1
Αντικαταστήστε τις παραμέτρους σε εισαγωγικά με τις δικές σας τιμές κωδικού πρόσβασης ονόματος χρήστη wifi (με πρόσβαση στο Διαδίκτυο) και κλειδιά PubNub. Το τελικό url θα πρέπει να είναι περίπου όπως παρακάτω
192.168.4.1/?username=MyWiFi&pwd=123456&apipubkey=pub_kjabdc_56513akhbcqio3_ad&apisubkey=sub_ajkd23d_sf23_24'&channel=channel1&sensorOneName=sensor1&
Εάν ο διανομέας του αισθητήρα έχει ρυθμιστεί σωστά, το led mode config θα απενεργοποιηθεί και το led λειτουργίας δεδομένων θα ενεργοποιηθεί και το ασύρματο δίκτυο "configMode" θα εξαφανιστεί. Εάν θέλετε να καταλάβετε πώς λειτουργεί αυτό ή θέλετε να αλλάξετε ορισμένες παραμέτρους, ελέγξτε το επόμενο βήμα αλλιώς μεταβείτε στο βήμα 8
Βήμα 5: Προσαρμογή της διαμόρφωσης
Αυτό που συμβαίνει είναι ότι το ESP8266 λειτουργεί ως δρομολογητής και δημιουργεί ένα ασύρματο δίκτυο με το δεδομένο ssid, το όνομα χρήστη και τη διεύθυνση IP στα οποία μπορείτε να συνδεθείτε. Η διαμόρφωση γίνεται εισάγοντας τις παραμέτρους με τη μορφή που δίνεται παρακάτω και χτυπώντας την παρακάτω διεύθυνση URL από οποιοδήποτε πρόγραμμα περιήγησης οποιαδήποτε συσκευή συνδεδεμένη στο διαμορφωμένο ασύρματο δίκτυο.
192.168.4.1/?username='wifi_network_name'&pwd='password'&apipubkey='publish_key'&apisubkey='subscribe_key'&channel='Channel_name'&sensorOneName='Sensor_1_name'&check=1
Άνοιγμα αρχείου ap.lua στο ESPlorer. Αυτό το σενάριο είναι υπεύθυνο για την αρχική διαμόρφωση του διανομέα αισθητήρα. Δημιουργεί δύο αρχεία με βάση τα δεδομένα που δίνονται από τον χρήστη
- station.lua (περιέχει το ssid του δικτύου και τον κωδικό πρόσβασης που έχει πρόσβαση στο διαδίκτυο για την ανάρτηση των δεδομένων)
- api_file.lua (περιέχει τα κλειδιά PubNub, όνομα καναλιού με τα ονόματα των αισθητήρων)
Για να προσαρμόσετε τη διεύθυνση IP:
Το ip μπορεί να ρυθμιστεί σε οποιαδήποτε διεύθυνση vaild που πρέπει να αλλάξει στο url. Η προεπιλεγμένη διεύθυνση θα είναι "192.168.4.1". Όπως φαίνεται στην πρώτη εικόνα, οι πρώτες 3 γραμμές είναι υπεύθυνες για τη ρύθμιση της διεύθυνσης IP και της πύλης. Μπορείτε να ελέγξετε εάν η διεύθυνση είναι σωστή στέλνοντας την εντολή "= wifi.sta.getip ()"
Για να προσαρμόσετε το όνομα ssid
Το επόμενο σύνολο κώδικα στην ίδια εικόνα είναι υπεύθυνο για τη ρύθμιση του ssid και του κωδικού πρόσβασης για το ασύρματο δίκτυο.
Θυμηθείτε εάν έχετε κάνει οποιαδήποτε αλλαγή στο αρχείο.lua πρέπει να τα μεταγλωττίσετε για να αντικατοπτριστούν οι αλλαγές μετά την επανεκκίνηση
- Ανεβάστε το τροποποιημένο αρχείο.lua..για παράδειγμα το αρχείο ap.lua
- Στείλτε την εντολή "node.compile (ap.lua)" κάνοντας κλικ στο κουμπί αποστολής στο κάτω μέρος του ESPlorer
- Τώρα τα αρχεία lua σας έχουν μεταγλωττιστεί και θα δημιουργηθούν νέα αρχεία.lc
Βήμα 6: Προσθήκη αισθητήρων στο Hub και στο PubNub
Για να προσθέσετε περισσότερο αισθητήρα
Από προεπιλογή, ο κωδικός στέλνει μόνο ένα δεδομένα αισθητήρα που είναι συνδεδεμένο με τον αναλογικό πείρο 0. Μπορείτε να προσθέσετε περισσότερους αισθητήρες για ταυτόχρονη αποστολή δεδομένων. Ακολουθήστε τα παρακάτω βήματα
- Προσθέστε το όνομα του αισθητήρα στη διεύθυνση url όπως φαίνεται με έντονη γραφή. Λοιπόν, τώρα το url θα είναι όπως παρακάτω Όνομα_καναλιού '& sensorOneName =' Sensor_1_name '& sensorTwoName =' Sensor_2_name '& check = 1
- Το αντίστοιχο όνομα πρέπει να προστεθεί στο αρχείο ap.lua όπως φαίνεται στην εικόνα 1sensorTwo = _GET.sensorTwoName print (sensorTwo). (Αυτό γίνεται μόνο για προβολή και έλεγχο των δεδομένων)
- Το τελευταίο βήμα είναι να το προσθέσετε στο τμήμα δημιουργίας api_file στο τέλος όπως φαίνεται στην εικόνα 2 {"eon": {"'..sensorOne..'": / '.. adc.read (0).. \', "'..sensorTwo..'": / '.. gpio.read (2).. \'}} Επαναλάβετε το ίδιο βήμα για κάθε προσθήκη αισθητήρα. Θυμηθείτε να χρησιμοποιήσετε το gpio.read (pin#) για ψηφιακά και adc.read (pin#) για αναλογικά προς ψηφιακά σήματα
Θυμηθείτε εάν έχετε κάνει οποιαδήποτε αλλαγή στο αρχείο.lua πρέπει να τα μεταγλωττίσετε για να αντικατοπτριστούν οι αλλαγές μετά την επανεκκίνηση
- Ανεβάστε το τροποποιημένο αρχείο.lua..για παράδειγμα το αρχείο ap.lua
- Στείλτε την εντολή "node.compile (ap.lua)" κάνοντας κλικ στο κουμπί αποστολής στο κάτω μέρος του ESPlorer
- Τώρα τα αρχεία lua σας έχουν μεταγλωττιστεί και θα δημιουργηθούν νέα αρχεία.lc
Βήμα 7: Αρχικοποίηση συλλογής δεδομένων και αποστολή στο PubNub
Μόλις γίνει η διαμόρφωση σωστά, το led λειτουργίας δεδομένων θα ενεργοποιηθεί.
Βασικά αυτό σημαίνει ότι τα δεδομένα του αισθητήρα αποστέλλονται στο PubNub με βάση τις ρυθμίσεις διαμόρφωσης που είχατε δώσει στα προηγούμενα βήματα.
Από προεπιλογή, ο διανομέας θα στέλνει δεδομένα στο PubNub κάθε 5 δευτερόλεπτα. Εάν θέλετε να ρυθμίσετε τις παραμέτρους, ακολουθήστε τα παρακάτω βήματα
Για να προσαρμόσετε τη συχνότητα συλλογής δεδομένων:
- Ανοίξτε το main.lua στο ESPlorer
- Μεταβείτε στη γραμμή που επισημαίνεται στην εικόνα
- Η τιμή που αναφέρεται εκεί θα πρέπει να είναι σε χιλιοστά του δευτερολέπτου. Συνιστάται να έχετε τουλάχιστον ένα διάστημα 2 δευτερολέπτων για να αποφύγετε τυχόν απώλεια δεδομένων.
- Ανεβάστε το αρχείο main.lua για esp και μεταγλωττίστε το για να δημιουργήσετε αρχείο.lc
- Επανεκκινήστε τη μονάδα και επαληθεύστε
Βήμα 8: Απλή σελίδα HTML για προβολή δεδομένων σε πραγματικό χρόνο από το PubNub
Ανοίξτε το αρχείο Sample.html από τα ληφθέντα αρχεία. Αυτή είναι μόνο μια απλή σελίδα html για να δείτε το γράφημα σε πραγματικό χρόνο των συλλεγμένων δεδομένων.
Όπως φαίνεται στην εικόνα 1, απλά πρέπει να το διαμορφώσετε με τα δικά σας κλειδιά PubNub και το όνομα του καναλιού.
Μπορείτε επίσης να το προσθέσετε σε οποιονδήποτε ιστότοπο αναπτύξετε και να δημιουργήσετε ακόμα πιο εκπληκτική οπτικοποίηση. Ανατρέξτε στο PunNub EON για περισσότερες πληροφορίες.
Βήμα 9: Αντιμετώπιση προβλημάτων & Συχνές ερωτήσεις
Θα ενημερωθεί σύντομα
Συνιστάται:
Wifi Enabled OLED ESP32 Car Gauges: 3 βήματα (με εικόνες)
Wifi Enabled OLED ESP32 Car Gauges: Εισαγωγές πρώτα… Κατασκευάζω μετρητές αυτοκινήτου ως ένα είδος επανειλημμένου και απενεργοποιημένου χόμπι. Δείτε https: //www.instructables.com/id/Remote-Car-Monit … και https: //www.instructables.com/id/Remote-Car-Monit … για δύο ακόμη πιο πρόσφατα παραδείγματα. Μου αρέσει ιδιαίτερα
Toy Collection Reward Machine: 6 βήματα
Toy Collection Reward Machine: Εισαγωγή του μηχανήματος: Αυτό είναι ένα μηχάνημα ανταμοιβής συλλογής παιχνιδιών. Εάν βάλετε το παιχνίδι στο κουτί παιχνιδιών. Η μηχανή ανταμοιβής θα αισθανθεί ότι κάτι έχει τοποθετηθεί στο κουτί και στη συνέχεια δίνει φωτισμό και ήχο για ανταμοιβή. Τα παιδιά θα εμπνευστούν από
IoT Enabled Coffee Machine: 9 βήματα (με εικόνες)
IoT Enabled Coffee Machine: Αυτό το διδάξιμο συμμετέχει στον διαγωνισμό IoT - Αν σας αρέσει, ψηφίστε το! ΕΝΗΜΕΡΩΜΕΝΟ: Τώρα υποστηρίζει 2 -way comms και ενημερώσεις OTA Εδώ και λίγο καιρό είχα μια καφετιέρα Jura και πάντα ήθελα για να το αυτοματοποιήσω με κάποιο τρόπο. Έχω
RabbitPi - το Alexa Enabled, IFTTT Connected, Ear -Wiggling IoT Assistant: 12 βήματα
RabbitPi - το Alexa Enabled, IFTTT Connected, Ear -Wiggling IoT Assistant: Αυτό είναι ένα ξεπερασμένο 2005 Nabaztag " έξυπνο κουνέλι " ότι έχω μετατραπεί σε ένα σύγχρονο IoT Assistant χρησιμοποιώντας ένα Raspberry Pi 3 και ένα Adafruit Motor HAT, με ένα μικρόφωνο κάμερας και ένα ηχείο Philips Soundshooter που περιέχονται στο χαριτωμένο αρχικό cas
Alexa-Enabled Death Star Lamp: 17 βήματα (με εικόνες)
Alexa-Enabled Death Star Lamp: Φέρτε ένα απόσπασμα από τη σκοτεινή πλευρά στο σαλόνι σας με αυτόν τον μοναδικό λαμπτήρα με φωνητική ενεργοποίηση. Ένα λειτουργικό έργο τέχνης που είναι χρήσιμο και ευχάριστο να το κοιτάξεις. Ενεργοποίηση ή απενεργοποίηση; Όλες οι λάμπες το κάνουν! Αλλαγή φωτεινότητας; Πολύ κοινό! Μπορεί όμως το δικό σας