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

ThingSpeak, ESP32 και ασύρματη θερμοκρασία και υγρασία μεγάλης εμβέλειας: 5 βήματα
ThingSpeak, ESP32 και ασύρματη θερμοκρασία και υγρασία μεγάλης εμβέλειας: 5 βήματα

Βίντεο: ThingSpeak, ESP32 και ασύρματη θερμοκρασία και υγρασία μεγάλης εμβέλειας: 5 βήματα

Βίντεο: ThingSpeak, ESP32 και ασύρματη θερμοκρασία και υγρασία μεγάλης εμβέλειας: 5 βήματα
Βίντεο: thingSpeak registration 2024, Ιούλιος
Anonim
ThingSpeak, ESP32 και ασύρματη θερμοκρασία και υγρασία μεγάλης εμβέλειας
ThingSpeak, ESP32 και ασύρματη θερμοκρασία και υγρασία μεγάλης εμβέλειας

Σε αυτό το σεμινάριο, θα μετρήσουμε διαφορετικά δεδομένα θερμοκρασίας και υγρασίας χρησιμοποιώντας αισθητήρα θερμοκρασίας και υγρασίας. Θα μάθετε επίσης πώς να στέλνετε αυτά τα δεδομένα στο ThingSpeak. Για να μπορείτε να το αναλύσετε από οπουδήποτε για διαφορετικές εφαρμογές

Βήμα 1: Απαιτείται υλικό και λογισμικό

Απαιτείται υλικό και λογισμικό
Απαιτείται υλικό και λογισμικό
Απαιτείται υλικό και λογισμικό
Απαιτείται υλικό και λογισμικό

Σκεύη, εξαρτήματα:

  • ESP-32: Το ESP32 διευκολύνει τη χρήση του Arduino IDE και της Arduino Wire Language για εφαρμογές IoT. Αυτή η μονάδα ESp32 IoT συνδυάζει Wi-Fi, Bluetooth και Bluetooth BLE για μια ποικιλία διαφορετικών εφαρμογών. Αυτή η μονάδα έρχεται πλήρως εξοπλισμένη με 2 πυρήνες CPU που μπορούν να ελεγχθούν και να τροφοδοτηθούν μεμονωμένα και με ρυθμιζόμενη συχνότητα ρολογιού από 80 MHz έως 240 MHz. Αυτή η μονάδα ESP32 IoT WiFi BLE με ενσωματωμένο USB έχει σχεδιαστεί για να ταιριάζει σε όλα τα προϊόντα IoT ncd.io. Παρακολουθήστε αισθητήρες και ρελέ ελέγχου, FET, ελεγκτές PWM, σωληνοειδή, βαλβίδες, κινητήρες και πολλά άλλα από οπουδήποτε στον κόσμο χρησιμοποιώντας μια ιστοσελίδα ή έναν αποκλειστικό διακομιστή. Κατασκευάσαμε τη δική μας έκδοση του ESP32 για να ταιριάζει σε συσκευές NCD IoT, προσφέροντας περισσότερες επιλογές επέκτασης από οποιαδήποτε άλλη συσκευή στον κόσμο! Μια ενσωματωμένη θύρα USB επιτρέπει τον εύκολο προγραμματισμό του ESP32. Το ESP32 IoT WiFi BLE Module είναι μια απίστευτη πλατφόρμα για την ανάπτυξη εφαρμογών IoT. Αυτή η μονάδα ESP32 IoT WiFi BLE μπορεί να προγραμματιστεί χρησιμοποιώντας το Arduino IDE.
  • Αισθητήρας ασύρματης θερμοκρασίας και υγρασίας IoT μεγάλης εμβέλειας: Βιομηχανικός αισθητήρας υγρασίας ασύρματης θερμοκρασίας μεγάλης εμβέλειας. Βαθμός με ανάλυση αισθητήρα ± 1,7%RH ± 0,5 ° C. Έως 500, 000 μεταδόσεις από 2 μπαταρίες AA. Μέτρα -40 ° C έως 125 ° C με μπαταρίες που επιβιώνουν σε αυτές τις βαθμολογίες. Superior 2-Mile LOS Range & 28 μίλια με κεραίες υψηλής απόδοσης. Διεπαφή με Raspberry Pi, Microsoft Azure, Arduino και άλλα.
  • Ασύρματο πλέγμα μεγάλης εμβέλειας με διασύνδεση USB

Λογισμικό που χρησιμοποιείται

  • Arduino IDE
  • ThingSpeak

Χρησιμοποιείται βιβλιοθήκη

  • Βιβλιοθήκη PubSubClient
  • Wire.h

Arduino Client για MQTT

Αυτή η βιβλιοθήκη παρέχει έναν πελάτη για απλή δημοσίευση/εγγραφή μηνυμάτων με διακομιστή που υποστηρίζει MQTT

Για περισσότερες πληροφορίες σχετικά με το MQTT, επισκεφθείτε το mqtt.org.

Κατεβάστε

Μπορείτε να κατεβάσετε την τελευταία έκδοση της βιβλιοθήκης από το GitHub

Τεκμηρίωση

Η βιβλιοθήκη συνοδεύεται από πολλά παραδείγματα σκίτσων. Ανατρέξτε στο Αρχείο> Παραδείγματα> PubSubClient στην εφαρμογή Arduino. Πλήρης τεκμηρίωση API.

Συμβατό υλικό

Η βιβλιοθήκη χρησιμοποιεί το Arduino Ethernet Client API για αλληλεπίδραση με το υποκείμενο υλικό του δικτύου. Αυτό σημαίνει ότι λειτουργεί μόνο με έναν αυξανόμενο αριθμό σανίδων και ασπίδων, συμπεριλαμβανομένων:

  • Arduino Ethernet
  • Arduino Ethernet Shield
  • Arduino YUN - χρησιμοποιήστε το συμπεριλαμβανόμενο YunClient στη θέση του EthernetClient και φροντίστε να κάνετε πρώτα ένα Bridge.begin ()
  • Arduino WiFi Shield - εάν θέλετε να στείλετε πακέτα μεγαλύτερα από 90 byte με αυτήν την ασπίδα, ενεργοποιήστε την επιλογή MQTT_MAX_TRANSFER_SIZE στο PubSubClient.h.
  • SparkFun WiFly Shield - όταν χρησιμοποιείται με αυτήν τη βιβλιοθήκη
  • Intel Galileo/Edison
  • ESP8266
  • ESP32Η βιβλιοθήκη δεν μπορεί προς το παρόν να χρησιμοποιηθεί με υλικό που βασίζεται στο τσιπ ENC28J60 - όπως το Nanode ή το Nuelectronics Ethernet Shield. Για αυτούς, υπάρχει μια εναλλακτική βιβλιοθήκη διαθέσιμη.

Wire Library

Η βιβλιοθήκη Wire σάς επιτρέπει να επικοινωνείτε με συσκευές I2C, που συχνά ονομάζονται επίσης "2 wire" ή "TWI" (Two Wire Interface), και μπορείτε να τις κατεβάσετε από το Wire.h

Βασική Χρήση

  • Wire.begin () Ξεκινήστε να χρησιμοποιείτε το Wire σε κύρια λειτουργία, όπου θα ξεκινήσετε και θα ελέγξετε τις μεταφορές δεδομένων. Αυτή είναι η πιο κοινή χρήση όταν διασυνδέεστε με τα περισσότερα περιφερειακά τσιπ I2C.
  • Wire.begin (διεύθυνση) Ξεκινήστε να χρησιμοποιείτε το Wire σε κατάσταση slave, όπου θα απαντήσετε στη "διεύθυνση" όταν άλλα τσιπ I2C master ξεκινήσουν την επικοινωνία. Μεταδίδοντας
  • Wire.beginTransmission (διεύθυνση) Ξεκινήστε μια νέα μετάδοση σε μια συσκευή στη "διεύθυνση". Χρησιμοποιείται η κύρια λειτουργία.
  • Wire.write (δεδομένα) Αποστολή δεδομένων. Σε κύρια λειτουργία, πρέπει να καλέσετε πρώτα το beginTransmission.
  • Wire.endTransmission () Στην κύρια λειτουργία, αυτό τερματίζει τη μετάδοση και προκαλεί την αποστολή όλων των αποθηκευμένων δεδομένων.

Λήψη

  • Wire.requestFrom (διεύθυνση, καταμέτρηση) Διαβάστε "μέτρηση" byte από μια συσκευή στη διεύθυνση "διεύθυνση". Χρησιμοποιείται η κύρια λειτουργία.
  • Wire.available () Επιστρέφει τον αριθμό των διαθέσιμων byte καλώντας τη λήψη.
  • Wire.read () Λήψη 1 byte.

Βήμα 2: Ανεβάστε τον κώδικα στο ESP32 χρησιμοποιώντας το Arduino IDE

  • Πριν από τη μεταφόρτωση του κώδικα, μπορείτε να δείτε τη λειτουργία αυτού του αισθητήρα σε έναν δεδομένο σύνδεσμο.
  • Κατεβάστε και συμπεριλάβετε τη βιβλιοθήκη PubSubClient και τη βιβλιοθήκη Wire.h.
  • Πρέπει να εκχωρήσετε το κλειδί API, το SSID (όνομα WiFi) και τον κωδικό πρόσβασης του διαθέσιμου δικτύου.
  • Συγκεντρώστε και ανεβάστε τον κώδικα Temp-ThinSpeak.ino.
  • Για να επαληθεύσετε τη συνδεσιμότητα της συσκευής και τα δεδομένα που αποστέλλονται, ανοίξτε τη σειριακή οθόνη. Εάν δεν εμφανιστεί απάντηση, δοκιμάστε να αποσυνδέσετε το ESP32 και, στη συνέχεια, συνδέστε το ξανά. Βεβαιωθείτε ότι ο ρυθμός baud της Σειριακής οθόνης έχει οριστεί στον ίδιο ρυθμισμένο στον κωδικό 115200.

Βήμα 3: Έξοδος σειριακής οθόνης

Σειριακή έξοδος οθόνης
Σειριακή έξοδος οθόνης

Βήμα 4: Κάνοντας το ThingSpeak να λειτουργήσει

Λειτουργώντας το ThingSpeak
Λειτουργώντας το ThingSpeak
Λειτουργώντας το ThingSpeak
Λειτουργώντας το ThingSpeak
Λειτουργώντας το ThingSpeak
Λειτουργώντας το ThingSpeak
  • Δημιουργήστε το λογαριασμό στο ThnigSpeak.
  • Δημιουργήστε ένα νέο κανάλι, κάνοντας κλικ στα κανάλια.
  • Κάντε κλικ στα Κανάλια μου.
  • Κάντε κλικ στο Νέο κανάλι.
  • Μέσα στο νέο κανάλι, ονομάστε το κανάλι.
  • Ονομάστε το πεδίο μέσα στο κανάλι, το πεδίο είναι η μεταβλητή στην οποία δημοσιεύονται τα δεδομένα.
  • Τώρα αποθηκεύστε το κανάλι.
  • Τώρα μπορείτε να βρείτε τα κλειδιά API στον πίνακα ελέγχου. Μεταβείτε στη βρύση της αρχικής σελίδας και βρείτε το «Γράψτε το κλειδί Api», το οποίο πρέπει να ενημερωθεί πριν ανεβάσετε τον κωδικό στο ESP32.
  • Μόλις δημιουργηθεί το κανάλι, θα μπορείτε να δείτε τη θερμοκρασία και τα δεδομένα υγρασίας σε ιδιωτική προβολή με τα πεδία που δημιουργήσατε μέσα στο κανάλι.
  • Για να σχεδιάσετε ένα γράφημα μεταξύ δεδομένων Temp και υγρασίας, μπορείτε να χρησιμοποιήσετε την οπτικοποίηση MATLAB.
  • Για αυτό μεταβείτε στην εφαρμογή, κάντε κλικ στο MATLAB Visualization.
  • Μέσα επιλέγει Custom, σε αυτό, έχουμε επιλεγμένη θερμοκρασία γραφήματος και ταχύτητα ανέμου σε δύο διαφορετικούς άξονες y 8 ως παράδειγμα. Κάντε κλικ τώρα στη δημιουργία.
  • Ο κώδικας MATLAB θα δημιουργηθεί αυτόματα καθώς δημιουργείτε οπτικοποίηση, αλλά πρέπει να επεξεργαστείτε το αναγνωριστικό πεδίου, να διαβάσετε το αναγνωριστικό καναλιού, να ελέγξετε το ακόλουθο σχήμα.
  • Στη συνέχεια, αποθηκεύστε και εκτελέστε τον κώδικα.
  • Θα έβλεπες την πλοκή.

Συνιστάται: