Πίνακας περιεχομένων:
- Βήμα 1: Απαιτήσεις
- Βήμα 2: Ρύθμιση υλικού
- Βήμα 3: Ρύθμιση του Arduino IDE
- Βήμα 4: Κατανόηση του κώδικα
- Βήμα 5: Συνδεθείτε στο Ubidots
- Βήμα 6: Δημιουργία πίνακα ελέγχου σε Ubidots
- Βήμα 7: Περίληψη
Βίντεο: Πώς να χτίσετε έναν μετεωρολογικό σταθμό χρησιμοποιώντας το XinaBox και το Ubidots μέσω HTTP: 7 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:36
Μάθετε πώς να φτιάξετε τον δικό σας Μετεωρολογικό Σταθμό στο Ubidots, χρησιμοποιώντας το XinaBox xChips (IP01, CW01 και SW01)
Η μονάδα ESP8266 Core and Wi-Fi (xChip CW01) επιτρέπει στους χρήστες να στέλνουν δεδομένα από τα αρθρωτά xChips της XinaBox στο cloud. Αυτά τα δεδομένα μπορούν να παρακολουθούνται εξ αποστάσεως στο Ubidots, όπου οι χρήστες μπορούν να επωφεληθούν από τη γκάμα των εργαλείων IoT.
Ο xChip SW01 Advanced Weather Sensor (Bosch BME280) μετρά τη θερμοκρασία, την υγρασία και την ατμοσφαιρική πίεση, από τα οποία μπορούν επίσης να υπολογιστούν το υψόμετρο, η βάση του νέφους και το σημείο δρόσου.
Σε αυτό το σεμινάριο χρησιμοποιούμε πρωτόκολλο HTTP για την αποστολή δεδομένων αισθητήρων στο Ubidots. Αυτό θα μπορούσε επίσης να γίνει χρησιμοποιώντας πρωτόκολλο MQTT.
Μέχρι το τέλος αυτού του οδηγού, θα μπορείτε να παρακολουθείτε και να μετράτε τις καιρικές συνθήκες στη συσκευή σας XinaBox από οπουδήποτε απομακρυσμένα χρησιμοποιώντας το Ubidots.
Βήμα 1: Απαιτήσεις
- 1x CW01 - πυρήνας WiFi (ESP8266/ESP -12F)
- 1x IP01 - Διασύνδεση προγραμματισμού USB (FT232R)
- 1x SW01 - Advanced Weather Sensor (BME280)
- 1x XC10 - 10 συσκευασίες xBUS Συνδετήρες
- Arduino IDE
- Λογαριασμός Ubidots
Βήμα 2: Ρύθμιση υλικού
Συνδέστε τα CW01, SW01 και IP01 μαζί χρησιμοποιώντας τις υποδοχές XC10 xBUS. Μπορείτε να το συνδέσετε όπως φαίνεται στο παρακάτω διάγραμμα. Ανατρέξτε σε αυτόν τον οδηγό σχετικά με τον τρόπο γενικής συναρμολόγησης των xChips.
Στη συνέχεια, συνδέστε τη συσκευή και τον υπολογιστή σας μέσω USB του IP01. Για αυτό, θα χρειαστεί να χρησιμοποιήσετε το λογισμικό xFlasher για να αναβοσβήνει ο κώδικας μόλις είναι έτοιμος. Δείτε αυτόν τον οδηγό για τη χρήση του xFlasher.
Βήμα 3: Ρύθμιση του Arduino IDE
1. Εγκαταστήστε το Arduino IDE 1.8.8
2. Εγκαταστήστε αυτές τις βιβλιοθήκες στο Arduino: ESP8266 Arduino, Ubidots ESP8266, xCore, xSW01.
ΣΗΜΕΙΩΣΗ: Εάν δεν είστε εξοικειωμένοι με τον τρόπο εγκατάστασης βιβλιοθηκών, ανατρέξτε στον σύνδεσμο: Εγκατάσταση βιβλιοθηκών Arduino
3. Με εγκατεστημένη την πλατφόρμα ESP8266, επιλέξτε τη συσκευή ESP8266 με την οποία εργάζεστε. Στην περίπτωση, εργαζόμαστε με ένα "CW01 (μονάδα ESP12F)". Για να επιλέξετε την πλακέτα σας από το Arduino IDE, επιλέξτε Εργαλεία> Πίνακας "NodeMCU 1.0 (μονάδα ESP12E)".
ΣΗΜΕΙΩΣΗ: Τα ESP12F και ESP12E είναι εναλλάξιμα για το σκοπό αυτό.
Βήμα 4: Κατανόηση του κώδικα
Συμπεριλαμβανομένων των βιβλιοθηκών:
#include "UbidotsMicroESP8266.h"
#συμπεριλάβω #συμπεριλάβω
Εισαγάγετε τα διαπιστευτήρια Wi-Fi και Ubidots:
#define TOKEN "Your-Token" // Βάλτε εδώ το Ubidots TOKEN σας
#define WIFISSID "Your-SSID" // Βάλτε εδώ το Wi-Fi SSID σας #define PASSWORD "password-of-ssid" // Βάλτε εδώ τον κωδικό πρόσβασης Wi-Fi
Το μοναδικό σας Ubidots TOKEN προέρχεται από τον λογαριασμό σας στο Ubidots. Ανατρέξτε στον παρακάτω σύνδεσμο για να μάθετε πού μπορείτε να βρείτε το Ubidots TOKEN.
Μία φορά ρύθμιση, δείτε τα σχόλια για αυτοεξήγηση:
void setup () {
// Εντοπισμός σφαλμάτων στο 115200 χρησιμοποιώντας σειριακή οθόνη Serial.begin (115200); // Σύνδεση με το client.wifiConnection Access Point (WIFISSID, PASSWORD); // Η επικοινωνία I2C ξεκινά Wire.begin (); // Εκκινήστε τον αισθητήρα SW01 SW01.begin (); // Παρουσίαση κάποιας καθυστέρησης, καθυστέρησης 2-3 δευτερολέπτων (DELAY_TIME). }
Βιδώστε τη λειτουργία, για να τη διατηρείτε σε λειτουργία και να ενημερώνεται συνεχώς:
void loop () {
// Δημιουργήστε μια μεταβλητή για να αποθηκεύσετε τα δεδομένα που διαβάζονται από SW01 float tempC, υγρασία, πίεση, alt. // Δημιουργία μεταβλητών συσκευής tempC = 0; υγρασία = 0; πίεση = 0; alt=0; // Αισθητήρας δημοσκόπησης για τη συλλογή δεδομένων SW01.poll (); // Αποθήκευση δεδομένων σε μεταβλητές συσκευής tempC = SW01.getTempC (); // Θερμοκρασία σε Κελσίου Serial.println ("Θερμοκρασία:"); Serial.print (tempC); Serial.println (" *C"); Serial.println (); υγρασία = SW01.getHumidity (); Serial.println ("Υγρασία:"); Serial.print (υγρασία)? Serial.println (" %"); Serial.println (); πίεση = SW01.getPressure (); Serial.println ("Πίεση:"); Serial.print (πίεση); Serial.println ("Pa"); Serial.println (); alt=SW01.getAltitude (101325); Serial.println ("Υψόμετρο:"); Serial.print (alt); Serial.println ("m"); Serial.println (); // Δημιουργία μεταβλητών ubidots client.add ("Θερμοκρασία (*C)", tempC); καθυστέρηση (500)? client.add ("Υγρασία (%)", υγρασία); καθυστέρηση (500)? client.add ("Πίεση (Pa)", πίεση); καθυστέρηση (500)? client.add ("Υψόμετρο (m)", alt); // Αποστολή όλων των κουκκίδων client.sendAll (true); // καθυστέρηση ανάγνωσης αισθητήρα για σταθεροποίηση της καθυστέρησης (DELAY_TIME). }
Ο πλήρης κωδικός:
#include "UbidotsMicroESP8266.h"
#include #include #define TOKEN "Your-Token" // Βάλτε εδώ τα Ubidots TOKEN #define WIFISSID "Your-SSID" // Βάλτε εδώ το Wi-Fi SSID σας #define PASSWORD "password-of-ssid" // Βάλτε εδώ τον κωδικό πρόσβασης Wi-Fi πελάτη Ubidots (TOKEN). const int DELAY_TIME = 2000; xSW01 SW01; // Δημιουργία αντικειμένου του αισθητήρα SW01 void setup () {Serial.begin (115200); client.wifiConnection (WIFISSID, PASSWORD); Wire.begin (); // Εκκινήστε τον αισθητήρα SW01 SW01.begin (); καθυστέρηση (DELAY_TIME) } void loop () {// Δημιουργήστε μια μεταβλητή για να αποθηκεύσετε τα δεδομένα που διαβάζονται από SW01 float tempC, υγρασία, πίεση, alt. tempC = 0; υγρασία = 0; πίεση = 0; alt=0; // Αισθητήρας δημοσκόπησης για τη συλλογή δεδομένων SW01.poll (); // Αποθήκευση δεδομένων σε μεταβλητές μνήμης tempC = SW01.getTempC (); // Θερμοκρασία σε Κελσίου Serial.println ("Θερμοκρασία:"); Serial.print (tempC); Serial.println (" *C"); Serial.println (); υγρασία = SW01.getHumidity (); Serial.println ("Υγρασία:"); Serial.print (υγρασία)? Serial.println (" %"); Serial.println (); πίεση = SW01.getPressure (); Serial.println ("Πίεση:"); Serial.print (πίεση); Serial.println ("Pa"); Serial.println (); alt=SW01.getAltitude (101325); Serial.println ("Υψόμετρο:"); Serial.print (alt); Serial.println ("m"); Serial.println (); // Δημιουργία μεταβλητών ubidots client.add ("Θερμοκρασία (*C)", tempC); καθυστέρηση (500)? client.add ("Υγρασία (%)", υγρασία); καθυστέρηση (500)? client.add ("Πίεση (Pa)", πίεση); καθυστέρηση (500)? client.add ("Υψόμετρο (m)", alt); // Αποστολή όλων των κουκκίδων client.sendAll (true); // καθυστέρηση ανάγνωσης αισθητήρα για σταθεροποίηση της καθυστέρησης (DELAY_TIME). }
Βήμα 5: Συνδεθείτε στο Ubidots
1. Ανοίξτε τον λογαριασμό σας στο Ubidots. Θα δείτε μια συσκευή με το όνομα "ESP8266" με 4 μεταβλητές (δείτε την παρακάτω εικόνα).
Οπτικοποίηση συσκευής
Οπτικοποίηση μεταβλητών
Εάν θέλετε να αλλάξετε το όνομα της συσκευής, χρησιμοποιήστε τον κωδικό:
client.setDataSourceName ("New_name");
Βήμα 6: Δημιουργία πίνακα ελέγχου σε Ubidots
Οι πίνακες ελέγχου (στατικοί και δυναμικοί) είναι διεπαφές χρήστη για την οργάνωση και παρουσίαση των δεδομένων μιας συσκευής και των πληροφοριών που προέρχονται από τα δεδομένα. Οι πίνακες ελέγχου περιέχουν γραφικά στοιχεία που εμφανίζουν τα δεδομένα ως γραφήματα, δείκτες, στοιχεία ελέγχου, πίνακες, γραφήματα και άλλα μεγέθη, σχήματα και φόρμες.
Για να δημιουργήσετε έναν νέο Πίνακα ελέγχου στον λογαριασμό σας στο Ubidots, ανατρέξτε στο ακόλουθο σεμινάριο Ubidots για να μάθετε πώς να το κάνετε.
Ακριβώς ως αναφορά, μόλις δημιουργηθεί ο Πίνακας ελέγχου Ubidots, θα πρέπει να έχετε κάτι παρόμοιο με την παρακάτω εικόνα:
ΣΥΜΒΟΥΛΗ PRO: Υπάρχει επίσης μια σειρά από εργαλεία γραφικών παραστάσεων και αναφοράς. Αν θέλετε να μάθετε περισσότερα σχετικά με αυτό, σας συνιστούμε να ελέγξετε αυτόν τον οδηγό.
Βήμα 7: Περίληψη
Σε αυτό το σεμινάριο, έχουμε δείξει πώς να κωδικοποιείτε και να συνδέετε έναν μετεωρολογικό σταθμό XinaBox στο Ubidots. Αυτό επιτρέπει την απομακρυσμένη παρακολούθηση και μπορεί να ολοκληρωθεί μέσα σε 10-15 λεπτά.
Άλλοι αναγνώστες βρήκαν επίσης χρήσιμο…
- UbiFunctions: Ενσωματώστε δεδομένα από την πλατφόρμα AmbientWeather στο Ubidots
- Analytics: Βασικές συνθετικές μεταβλητές
- Έλεγχος θερμοκρασίας με Ubidots MQTT και NodeMcu
Συνιστάται:
Δημιουργήστε έναν μετεωρολογικό σταθμό Raspberry Pi SUPER: 8 βήματα (με εικόνες)
Κατασκευάστε έναν μετεωρολογικό σταθμό Raspberry Pi SUPER: Ας το παραδεχτούμε, εμείς οι άνθρωποι μιλάμε πολύ για τον καιρό ⛅️. Ο μέσος άνθρωπος μιλά για τον καιρό τέσσερις φορές την ημέρα, κατά μέσο όρο 8 λεπτά και 21 δευτερόλεπτα. Κάντε τα μαθηματικά και αυτό συνολικά είναι 10 μήνες της ζωής σας που θα ξοδέψετε για να
Πώς να φτιάξετε έναν μετεωρολογικό σταθμό Arduino: 4 βήματα
Πώς να φτιάξετε έναν μετεωρολογικό σταθμό Arduino: Σε αυτό το έργο, θα φτιάξουμε έναν μετεωρολογικό σταθμό που μετρά τη θερμοκρασία και την υγρασία του αέρα χρησιμοποιώντας το Arduino, το οποίο εμφανίζει την τιμή της τρέχουσας θερμοκρασίας και υγρασίας σε μια οθόνη LCD
Πώς να φτιάξετε απλό μετεωρολογικό σταθμό χρησιμοποιώντας το Arduino: 6 βήματα (με εικόνες)
Πώς να φτιάξετε απλό μετεωρολογικό σταθμό χρησιμοποιώντας το Arduino: Γεια σας παιδιά, σε αυτό το Instructable θα εξηγήσω πώς να κάνετε απλό μετεωρολογικό σταθμό για να ανιχνεύει τη θερμοκρασία και την υγρασία χρησιμοποιώντας τον αισθητήρα DHT11 και το Arduino, τα αισθητά δεδομένα θα εμφανίζονται στην οθόνη LCD. Πριν ξεκινήσετε αυτό το διδακτικό πρέπει να το γνωρίζετε
Πώς να φτιάξετε έναν μετεωρολογικό σταθμό Raspberry Pi: 5 βήματα
Πώς να φτιάξετε έναν μετεωρολογικό σταθμό Raspberry Pi: Σε αυτό το σεμινάριο θα παρακολουθήσω τη διαδικασία εγκατάστασης ενός SenseHAT και εισαγωγής του κωδικού που απαιτείται για τη μετατροπή του SenseHAT σε έναν πλήρως λειτουργικό μετεωρολογικό σταθμό ικανό να καταγράφει θερμοκρασία, πίεση και υγρασία
Πώς να χτίσετε έναν ηλιακό σταθμό: 11 βήματα (με εικόνες)
Πώς να φτιάξετε έναν ηλιακό σταθμό παραγωγής ενέργειας: Αυτό το εγχειρίδιο αφορά τον τρόπο κατασκευής μιας μπαταρίας που φορτίζει από τον ήλιο. Το έφτιαξα το περασμένο καλοκαίρι για να έχω μια φορητή συσκευή που θα μπορούσα να λειτουργώ και να φορτίζω τα gadget μου