Πίνακας περιεχομένων:

IoT Enabled Sensor Data Collection Center With ESP8266 & PubNub: 9 βήματα (με εικόνες)
IoT Enabled Sensor Data Collection Center With ESP8266 & PubNub: 9 βήματα (με εικόνες)

Βίντεο: IoT Enabled Sensor Data Collection Center With ESP8266 & PubNub: 9 βήματα (με εικόνες)

Βίντεο: IoT Enabled Sensor Data Collection Center With ESP8266 & PubNub: 9 βήματα (με εικόνες)
Βίντεο: SKR 1.4 - TMC2209 v1.2 2024, Νοέμβριος
Anonim
Κέντρο συλλογής δεδομένων αισθητήρα ενεργοποιημένου IoT με ESP8266 & PubNub
Κέντρο συλλογής δεδομένων αισθητήρα ενεργοποιημένου IoT με ESP8266 & PubNub
Κέντρο συλλογής δεδομένων αισθητήρα ενεργοποιημένου IoT με ESP8266 & PubNub
Κέντρο συλλογής δεδομένων αισθητήρα ενεργοποιημένου IoT με ESP8266 & PubNub

Τα περισσότερα από τα σεμινάρια για το 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

Μεταφόρτωση κώδικα στο κιτ NodeMCU χρησιμοποιώντας το ESPlorer
Μεταφόρτωση κώδικα στο κιτ NodeMCU χρησιμοποιώντας το ESPlorer
Μεταφόρτωση κώδικα στο κιτ NodeMCU χρησιμοποιώντας το ESPlorer
Μεταφόρτωση κώδικα στο κιτ 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 πρέπει να τα μεταγλωττίσετε για να αντικατοπτριστούν οι αλλαγές μετά την επανεκκίνηση

  1. Ανεβάστε το τροποποιημένο αρχείο.lua..για παράδειγμα το αρχείο ap.lua
  2. Στείλτε την εντολή "node.compile (ap.lua)" κάνοντας κλικ στο κουμπί αποστολής στο κάτω μέρος του ESPlorer
  3. Τώρα τα αρχεία lua σας έχουν μεταγλωττιστεί και θα δημιουργηθούν νέα αρχεία.lc

Βήμα 6: Προσθήκη αισθητήρων στο Hub και στο PubNub

Προσθήκη αισθητήρων στο Hub και στο PubNub
Προσθήκη αισθητήρων στο Hub και στο PubNub
Προσθήκη αισθητήρων στο Hub και στο PubNub
Προσθήκη αισθητήρων στο Hub και στο PubNub

Για να προσθέσετε περισσότερο αισθητήρα

Από προεπιλογή, ο κωδικός στέλνει μόνο ένα δεδομένα αισθητήρα που είναι συνδεδεμένο με τον αναλογικό πείρο 0. Μπορείτε να προσθέσετε περισσότερους αισθητήρες για ταυτόχρονη αποστολή δεδομένων. Ακολουθήστε τα παρακάτω βήματα

  1. Προσθέστε το όνομα του αισθητήρα στη διεύθυνση url όπως φαίνεται με έντονη γραφή. Λοιπόν, τώρα το url θα είναι όπως παρακάτω Όνομα_καναλιού '& sensorOneName =' Sensor_1_name '& sensorTwoName =' Sensor_2_name '& check = 1
  2. Το αντίστοιχο όνομα πρέπει να προστεθεί στο αρχείο ap.lua όπως φαίνεται στην εικόνα 1sensorTwo = _GET.sensorTwoName print (sensorTwo). (Αυτό γίνεται μόνο για προβολή και έλεγχο των δεδομένων)
  3. Το τελευταίο βήμα είναι να το προσθέσετε στο τμήμα δημιουργίας api_file στο τέλος όπως φαίνεται στην εικόνα 2 {"eon": {"'..sensorOne..'": / '.. adc.read (0).. \', "'..sensorTwo..'": / '.. gpio.read (2).. \'}} Επαναλάβετε το ίδιο βήμα για κάθε προσθήκη αισθητήρα. Θυμηθείτε να χρησιμοποιήσετε το gpio.read (pin#) για ψηφιακά και adc.read (pin#) για αναλογικά προς ψηφιακά σήματα

Θυμηθείτε εάν έχετε κάνει οποιαδήποτε αλλαγή στο αρχείο.lua πρέπει να τα μεταγλωττίσετε για να αντικατοπτριστούν οι αλλαγές μετά την επανεκκίνηση

  1. Ανεβάστε το τροποποιημένο αρχείο.lua..για παράδειγμα το αρχείο ap.lua
  2. Στείλτε την εντολή "node.compile (ap.lua)" κάνοντας κλικ στο κουμπί αποστολής στο κάτω μέρος του ESPlorer
  3. Τώρα τα αρχεία lua σας έχουν μεταγλωττιστεί και θα δημιουργηθούν νέα αρχεία.lc

Βήμα 7: Αρχικοποίηση συλλογής δεδομένων και αποστολή στο PubNub

Αρχικοποίηση συλλογής δεδομένων και αποστολή στο PubNub
Αρχικοποίηση συλλογής δεδομένων και αποστολή στο PubNub

Μόλις γίνει η διαμόρφωση σωστά, το led λειτουργίας δεδομένων θα ενεργοποιηθεί.

Βασικά αυτό σημαίνει ότι τα δεδομένα του αισθητήρα αποστέλλονται στο PubNub με βάση τις ρυθμίσεις διαμόρφωσης που είχατε δώσει στα προηγούμενα βήματα.

Από προεπιλογή, ο διανομέας θα στέλνει δεδομένα στο PubNub κάθε 5 δευτερόλεπτα. Εάν θέλετε να ρυθμίσετε τις παραμέτρους, ακολουθήστε τα παρακάτω βήματα

Για να προσαρμόσετε τη συχνότητα συλλογής δεδομένων:

  • Ανοίξτε το main.lua στο ESPlorer
  • Μεταβείτε στη γραμμή που επισημαίνεται στην εικόνα
  • Η τιμή που αναφέρεται εκεί θα πρέπει να είναι σε χιλιοστά του δευτερολέπτου. Συνιστάται να έχετε τουλάχιστον ένα διάστημα 2 δευτερολέπτων για να αποφύγετε τυχόν απώλεια δεδομένων.
  • Ανεβάστε το αρχείο main.lua για esp και μεταγλωττίστε το για να δημιουργήσετε αρχείο.lc
  • Επανεκκινήστε τη μονάδα και επαληθεύστε

Βήμα 8: Απλή σελίδα HTML για προβολή δεδομένων σε πραγματικό χρόνο από το PubNub

Απλή σελίδα HTML για προβολή δεδομένων σε πραγματικό χρόνο από το PubNub
Απλή σελίδα HTML για προβολή δεδομένων σε πραγματικό χρόνο από το PubNub
Απλή σελίδα HTML για προβολή δεδομένων σε πραγματικό χρόνο από το PubNub
Απλή σελίδα HTML για προβολή δεδομένων σε πραγματικό χρόνο από το PubNub

Ανοίξτε το αρχείο Sample.html από τα ληφθέντα αρχεία. Αυτή είναι μόνο μια απλή σελίδα html για να δείτε το γράφημα σε πραγματικό χρόνο των συλλεγμένων δεδομένων.

Όπως φαίνεται στην εικόνα 1, απλά πρέπει να το διαμορφώσετε με τα δικά σας κλειδιά PubNub και το όνομα του καναλιού.

Μπορείτε επίσης να το προσθέσετε σε οποιονδήποτε ιστότοπο αναπτύξετε και να δημιουργήσετε ακόμα πιο εκπληκτική οπτικοποίηση. Ανατρέξτε στο PunNub EON για περισσότερες πληροφορίες.

Βήμα 9: Αντιμετώπιση προβλημάτων & Συχνές ερωτήσεις

Θα ενημερωθεί σύντομα

Συνιστάται: