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

Μετεωρολογικός σταθμός DIY χρησιμοποιώντας DHT11, BMP180, Nodemcu Με Arduino IDE Over Blynk Server: 4 βήματα
Μετεωρολογικός σταθμός DIY χρησιμοποιώντας DHT11, BMP180, Nodemcu Με Arduino IDE Over Blynk Server: 4 βήματα

Βίντεο: Μετεωρολογικός σταθμός DIY χρησιμοποιώντας DHT11, BMP180, Nodemcu Με Arduino IDE Over Blynk Server: 4 βήματα

Βίντεο: Μετεωρολογικός σταθμός DIY χρησιμοποιώντας DHT11, BMP180, Nodemcu Με Arduino IDE Over Blynk Server: 4 βήματα
Βίντεο: Arduino Nano, BME280 и SSD1306 OLED-метеостанция 2024, Ιούλιος
Anonim
Μετεωρολογικός σταθμός DIY χρησιμοποιώντας DHT11, BMP180, Nodemcu με Arduino IDE μέσω διακομιστή Blynk
Μετεωρολογικός σταθμός DIY χρησιμοποιώντας DHT11, BMP180, Nodemcu με Arduino IDE μέσω διακομιστή Blynk
Μετεωρολογικός σταθμός DIY χρησιμοποιώντας DHT11, BMP180, Nodemcu με Arduino IDE μέσω διακομιστή Blynk
Μετεωρολογικός σταθμός DIY χρησιμοποιώντας DHT11, BMP180, Nodemcu με Arduino IDE μέσω διακομιστή Blynk
Μετεωρολογικός σταθμός DIY χρησιμοποιώντας DHT11, BMP180, Nodemcu με Arduino IDE μέσω διακομιστή Blynk
Μετεωρολογικός σταθμός DIY χρησιμοποιώντας DHT11, BMP180, Nodemcu με Arduino IDE μέσω διακομιστή Blynk
Μετεωρολογικός σταθμός DIY χρησιμοποιώντας DHT11, BMP180, Nodemcu με Arduino IDE μέσω διακομιστή Blynk
Μετεωρολογικός σταθμός DIY χρησιμοποιώντας DHT11, BMP180, Nodemcu με Arduino IDE μέσω διακομιστή Blynk

Github: DIY_Weather_Station

Hackster.io: Μετεωρολογικός Σταθμός

Θα είδατε το Weather Application σωστά; Όπως, όταν το ανοίγετε γνωρίζετε τις καιρικές συνθήκες όπως Θερμοκρασία, Υγρασία κ.λπ. Αυτές οι ενδείξεις είναι η μέση τιμή μιας μεγάλης περιοχής, οπότε αν θέλετε να μάθετε τις ακριβείς παραμέτρους που σχετίζονται με το δωμάτιό σας, δεν μπορείτε απλά βασιστείτε στην εφαρμογή καιρού. Για το σκοπό αυτό, ας προχωρήσουμε στην κατασκευή του Μετεωρολογικού Σταθμού που είναι οικονομικά αποδοτικός και είναι επίσης αξιόπιστος και μας δίνει την ακριβή αξία.

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

Σχετικά με τον Nodemcu:

Το NodeMCU είναι μια πλατφόρμα IoT ανοιχτού κώδικα.

Περιλαμβάνει υλικολογισμικό που λειτουργεί με το ESP8266 Wi-Fi SoC της Espressif Systems και υλικό που βασίζεται στην ενότητα ESP-12.

Ο όρος "NodeMCU" από προεπιλογή αναφέρεται στο υλικολογισμικό και όχι στα κιτ ανάπτυξης λογισμικού. Το υλικολογισμικό χρησιμοποιεί τη γλώσσα δέσμης ενεργειών Lua. Βασίζεται στο έργο eLua και βασίζεται στο Espressif Non-OS SDK για ESP8266. Χρησιμοποιεί πολλά έργα ανοιχτού κώδικα, όπως το lua-cjson και spiffs.

Αισθητήρες και απαιτήσεις λογισμικού:

1. Nodemcu (esp8266-12e v1.0)

2. DHT11

3. BMP180

4. Arduino IDE

Βήμα 1: Γνωρίστε τους αισθητήρες σας

Γνωρίστε τους αισθητήρες σας
Γνωρίστε τους αισθητήρες σας

BMP180:

Περιγραφή:

Το BMP180 αποτελείται από έναν πιεζοηλεκτρικό αισθητήρα, έναν μετατροπέα αναλογικού σε ψηφιακό και μια μονάδα ελέγχου με E2PROM και μια σειριακή διασύνδεση I2C. Το BMP180 παρέχει την αντιστάθμιστη τιμή πίεσης και θερμοκρασίας. Το E2PROM έχει αποθηκεύσει 176 bit μεμονωμένων δεδομένων βαθμονόμησης. Αυτό χρησιμοποιείται για την αντιστάθμιση της μετατόπισης, της εξάρτησης από τη θερμοκρασία και άλλων παραμέτρων του αισθητήρα.

  • UP = δεδομένα πίεσης (16 έως 19 bit)
  • UT = δεδομένα θερμοκρασίας (16 bit)

Τεχνικές προδιαγραφές:

  • Vin: 3 έως 5VDC
  • Λογική: Συμβατό με 3 έως 5V
  • Εύρος ανίχνευσης πίεσης: 300-1100 hPa (9000m έως -500m πάνω από την επιφάνεια της θάλασσας)
  • Έως 0,03hPa / ανάλυση 0,25m-εύρος λειτουργίας 40 έως +85 ° C, ακρίβεια θερμοκρασίας +-2 ° C
  • Αυτός ο πίνακας/τσιπ χρησιμοποιεί διεύθυνση 7-bit I2C 0x77.

DHT11:

Περιγραφή:

  • Ο DHT11 είναι ένας βασικός, εξαιρετικά χαμηλού κόστους ψηφιακός αισθητήρας θερμοκρασίας και υγρασίας.
  • Χρησιμοποιεί έναν χωρητικό αισθητήρα υγρασίας και ένα θερμίστορ για τη μέτρηση του περιβάλλοντος αέρα και εκπέμπει ένα ψηφιακό σήμα στην ακίδα δεδομένων (δεν απαιτούνται αναλογικές ακίδες εισόδου). Είναι αρκετά απλό στη χρήση, αλλά απαιτεί προσεκτικό χρονισμό για την αρπαγή δεδομένων.
  • Το μόνο πραγματικό μειονέκτημα αυτού του αισθητήρα είναι ότι μπορείτε να λαμβάνετε νέα δεδομένα από αυτόν μόνο μία φορά κάθε 2 δευτερόλεπτα, οπότε όταν χρησιμοποιείτε τη βιβλιοθήκη μας, οι ενδείξεις των αισθητήρων μπορεί να είναι παλαιές έως και 2 δευτερόλεπτα.

Τεχνικές προδιαγραφές:

  • Ισχύς 3 έως 5V και I/O
  • Καλό για μετρήσεις θερμοκρασίας 0-50 ° C accuracy ακρίβεια ° 2 ° C
  • Καλό για ενδείξεις υγρασίας 20-80% με ακρίβεια 5%
  • 2,5 mA μέγιστη τρέχουσα χρήση κατά τη μετατροπή (ενώ ζητάτε δεδομένα)

Βήμα 2: Συνδεσιμότητα

Συνδεσιμότητα
Συνδεσιμότητα

DHT11 με Nodemcu:

Καρφίτσα 1 - 3.3V

Καρφίτσα 2 - D4

Καρφίτσα 3 - NC

Καρφίτσα 4 - Gnd

BMP180 με Nodemcu:

Vin - 3,3V

Gnd - Gnd

SCL - D6

SDA - D7

Βήμα 3: Ρύθμιση του Blynk

Image
Image
Ρύθμιση Blynk
Ρύθμιση Blynk

Τι είναι το Blynk;

Το Blynk είναι μια πλατφόρμα με εφαρμογές iOS και Android που ελέγχουν το Arduino, το Raspberry Pi και τα παρόμοια μέσω Διαδικτύου.

Είναι ένας ψηφιακός πίνακας ελέγχου όπου μπορείτε να δημιουργήσετε μια γραφική διεπαφή για το έργο σας, σύροντας και αποθέτοντας widgets. Είναι πολύ απλό να ρυθμίσετε τα πάντα και θα αρχίσετε να μπερδεύετε σε λιγότερο από 5 λεπτά. Το Blynk δεν είναι δεμένο με κάποιο συγκεκριμένο σανίδι ή ασπίδα. Αντ 'αυτού, υποστηρίζει υλικό της επιλογής σας. Είτε το Arduino είτε το Raspberry Pi είναι συνδεδεμένο στο Διαδίκτυο μέσω Wi-Fi, Ethernet ή αυτού του νέου τσιπ ESP8266, το Blynk θα σας κάνει να είστε online και έτοιμοι για το Διαδίκτυο των πραγμάτων σας.

Για περισσότερες πληροφορίες σχετικά με τη ρύθμιση του Blynk: Λεπτομερής ρύθμιση Blynk

Βήμα 4: Κωδικός

Κώδικας
Κώδικας

// Τα σχόλια για κάθε γραμμή δίνονται στο παρακάτω αρχείο.ino

#include #define BLYNK_PRINT Serial #include #include #include #include #include Adafruit_BMP085 bmp; #define I2C_SCL 12 #define I2C_SDA 13 float dst, bt, bp, ba? char dstmp [20], btmp [20], bprs [20], balt [20]; bool bmp085_present = true; char auth = "Βάλτε εδώ το κλειδί ελέγχου ταυτότητας από την εφαρμογή Blynk"; char ssid = "Το WiFi SSID σας"; char pass = "Ο κωδικός πρόσβασής σας"; #define DHTPIN 2 #define DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE); // Καθορισμός του πείρου και του χρονοδιακόπτη dhttype BlynkTimer. void sendSensor () {if (! bmp.begin ()) {Serial.println ("Δεν βρέθηκε έγκυρος αισθητήρας BMP085, ελέγξτε την καλωδίωση!"); ενώ (1) {}} float h = dht.readHumidity (); float t = dht.readTemperature (); if (isnan (h) || isnan (t)) {Serial.println ("Η ανάγνωση από τον αισθητήρα DHT απέτυχε!"); ΕΠΙΣΤΡΟΦΗ; } διπλή γάμμα = log (h / 100) + ((17,62*t) / (243,5 + t)); διπλό dp = 243,5*γάμμα / (17,62-γάμμα); float bp = bmp.readPressure ()/100; float ba = bmp.readAltitude (); float bt = bmp.readTemperature (); float dst = bmp.readSealevelPressure ()/100; Blynk.virtualWrite (V5, h); Blynk.virtualWrite (V6, t); Blynk.virtualWrite (V10, bp); Blynk.virtualWrite (V11, ba); Blynk.virtualWrite (V12, bt); Blynk.virtualWrite (V13, dst); Blynk.virtualWrite (V14, dp); } void setup () {Serial.begin (9600); Blynk.begin (auth, ssid, pass); dht.begin (); Wire.begin (I2C_SDA, I2C_SCL); καθυστέρηση (10)? timer.setInterval (1000L, sendSensor); } void loop () {Blynk.run (); timer.run (); }

Συνιστάται: