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

Αισθητήρες επέκτασης Nodemcu ESP8266 για Weewx: 8 βήματα (με εικόνες)
Αισθητήρες επέκτασης Nodemcu ESP8266 για Weewx: 8 βήματα (με εικόνες)

Βίντεο: Αισθητήρες επέκτασης Nodemcu ESP8266 για Weewx: 8 βήματα (με εικόνες)

Βίντεο: Αισθητήρες επέκτασης Nodemcu ESP8266 για Weewx: 8 βήματα (με εικόνες)
Βίντεο: Water level monitoring system with Nodemcu ESP8266 with new blynk app 2024, Ιούλιος
Anonim
Αισθητήρες επέκτασης Nodemcu ESP8266 για Weewx
Αισθητήρες επέκτασης Nodemcu ESP8266 για Weewx

Αυτό είναι ένα οδηγό για την προσθήκη αισθητήρων στο λογισμικό μετεωρολογικών σταθμών weewx.

Εάν δεν έχετε weewx, μπορείτε να μάθετε κάποια πράγματα σε αυτό το σεμινάριο.

χρειάζεστε κάποιες βασικές γνώσεις για τον κώδικα Arduino και πώς να ανεβάζετε σε μια συσκευή.

Μπορείτε να βρείτε weewx πληροφορίες εδώ:

Αυτό που χτίζετε είναι 2 συσκευές:

1 Συσκευή αποστολής θερμοκρασίας και υγρασίας στο λογισμικό weewx.

1 Συσκευή αποστολή θερμοκρασιών εδάφους διαφορετικών βαθών εδάφους στο λογισμικό weewx.

Η πρώτη μας συσκευή είναι ένας αισθητήρας BME 280.

Η δεύτερη συσκευή μας είναι μια αλυσίδα 3 αισθητήρων DS18B20 Temperatur. (Μπορείτε να προσθέσετε περισσότερα αν θέλετε).

Ας αρχίσουμε:

Βήμα 1: Τι χρειάζεστε…

Ο, τι χρειάζεσαι…
Ο, τι χρειάζεσαι…
Ο, τι χρειάζεσαι…
Ο, τι χρειάζεσαι…
Ο, τι χρειάζεσαι…
Ο, τι χρειάζεσαι…

Weewx σε λειτουργία + πρόσβαση σε διακομιστή weewx. (για παράδειγμα ένα βατόμουρο PI 3).

2 μονάδες Nodemcu ESP8266

3 ή περισσότεροι αισθητήρες DS18B20

1 Αισθητήρας BME 280

1 σωλήνας αλουμινίου ή παρόμοιος με διάμετρο 10mm και 1mm πάχος τοιχώματος και περ. Μήκος 1 μέτρο

1 Αδιάβροχη θήκη με σφιγκτήρα καλωδίου και παξιμάδι ασφάλισης.

1 Πηγή ισχύος 5V (Φορτωτής κινητής τηλεφωνίας για παράδειγμα).

Κάποια σύρματα και υλικά συγκόλλησης.

Βρίσκετε αισθητήρες BME280 και μονάδες Nodemcu στο ebay.

Για σωλήνες αλουμινίου επιλέγω ένα τοπικό κατάστημα υλικού

Για την DS18B20 και την αδιάβροχη θήκη χρησιμοποιώ το www.reichelt.de

www.reichelt.de/DS-18B20/3/index.html?ACTI…

www.reichelt.de/EL-FK-110/3/index.html?ACT…

και η ομάδα καλωδίων με παξιμάδια ασφάλισης

www.reichelt.de/Kabelverschraubungen-Bopla…

Για το bme280 μπορείτε προαιρετικά να χρησιμοποιήσετε ένα δοχείο διακλάδωσης

www.reichelt.de/Installationsmaterial/EL-D…

Βήμα 2: Ξεκινήστε με την εγκατάσταση υλικού αισθητήρα BME 280

Ξεκινήστε με τη ρύθμιση υλικού αισθητήρα BME 280
Ξεκινήστε με τη ρύθμιση υλικού αισθητήρα BME 280

Συγκολλήστε τη λωρίδα στο BME280.

Στη συνέχεια, συνδέστε το BME στο Nodemcu:

BME VIN έως 3,3V

BME GND σε GND

SCL έως D4

SDA έως D3

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

Βήμα 3: Κωδικός BME 280 Nodemcu ESP8266

BME 280 Nodemcu ESP8266 Κωδ
BME 280 Nodemcu ESP8266 Κωδ
BME 280 Nodemcu ESP8266 Κωδ
BME 280 Nodemcu ESP8266 Κωδ
BME 280 Nodemcu ESP8266 Κωδ
BME 280 Nodemcu ESP8266 Κωδ

Για τον κώδικα μπορείτε να χρησιμοποιήσετε τα αποθετήρια github μου:

github.com/Landixus/BME280_TO_SERVER_WEEWX

Το αρχείο ino χρειάζεται κάποια ένθετα από εσάς:

Η διεύθυνση IP του διακομιστή weewx ή της διεύθυνσης URL σας

και τη διαδρομή όπου έχετε το αρχείο php, βεβαιωθείτε ότι η περιοχή είναι εγγράψιμη.

επιλέγω το public_html dir επειδή είναι διακομιστής σπιτιού.

εάν θέλετε να κλωνοποιήσετε τα αποθετήρια git και να έχετε εγκατεστημένο το git στον διακομιστή σας, μπορείτε να κλωνοποιήσετε με την εντολή:

"git clone" https://github.com/Landixus/BME280_TO_SERVER_WEEWX"

Τώρα πρέπει να κάνουμε κάποια πράγματα στον διακομιστή weewx.

Πρέπει να κάνετε τις διαδρομές προς τις ρυθμίσεις σας!

σε

/home/weewx/public_html

δημιουργία δεδομένων φακέλου

στο φάκελο δεδομένων δημιουργήστε ένα bme.txt για παράδειγμα με:

nano bme.txt

το αρχείο πρέπει να είναι κενό.

καταστήστε εγγράψιμο με:

chmod -R 777 bme.txt

(δεν το κάνετε ποτέ σε διακομιστή που είναι προσβάσιμος στο Διαδίκτυο!)

στο φάκελο

/home/weewx/public_html

βάλατε το bme.php του github repo μου.

Το κόλπο είναι ότι το αρχείο INO στέλνει τιμές στο bme.php και το bme.php γράφει τα δεδομένα στο bme.txt

Στη συνέχεια πρέπει να προσθέσουμε την υπηρεσία σε weewx

βάλτε το bme.py στο φάκελο

/home/weewx/bin/user

ανοίξτε το weewx.conf στο φάκελο

/home/weewx

είναι πάντα καλό να έχετε αντίγραφο ασφαλείας πριν επεξεργαστείτε αυτό το αρχείο!

κατεβείτε στη γραμμή Engine και κάντε τη γραμμή να μοιάζει με τη δική μου:

[Μηχανή]

# Αυτή η ενότητα καθορίζει τις υπηρεσίες που πρέπει να εκτελεστούν. Αυτοί είναι

# ομαδοποιούνται ανά τύπο και τη σειρά υπηρεσιών σε κάθε ομάδα

# καθορίζει τη σειρά με την οποία θα εκτελούνται οι υπηρεσίες.

data_services = user.pond. PondService, user.bme.bme

επανεκκίνηση του weewx με:

sudo /etc/init.d/weewx στάση

sudo /etc/init.d/weewx έναρξη

με την εντολή

ουρά -f/var/log/syslog

μπορείτε να αναζητήσετε στο αρχείο καταγραφής για σφάλματα ή επιτυχία, να αναζητήσετε έξοδο bme: βρέθηκε τιμή…

Δώστε στον διακομιστή σας λίγα λεπτά για να δημιουργήσει, στο "my" weewx.conf κάθε 5 λεπτά έρχεται μια έξοδος.

Εάν έχετε μήνυμα σφάλματος, ελέγξτε τις διαδρομές σας.

Εάν έχετε τιμές, μπορείτε να μεταβείτε για να τις εμφανίσετε στην ιστοσελίδα:

ανοιχτό δέρμα. conff μέσα

/home/weewx/skins/Standard

παω σε:

# Αυτό είναι μάλλον συγκεκριμένο για τον σταθμό μου! Πρόσθεσε

extraTemp3 = BME1 TemperatureextraHumid1 = BME1 Υγρασία

αποθηκεύστε το αρχείο και ανοίξτε στον ίδιο φάκελο

index.html.tmpl

αναζητήστε μια γραμμή:

#if $ day.extraTemp..

#τέλος εαν

μετά το πρώτο #τέλος, αν βρείτε, τοποθετήστε τον αισθητήρα BME με:

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

δεν υπάρχει ανάγκη επανεκκίνησης του weewx.

Τώρα πρέπει να τροφοδοτήσετε το NODEMCU ESP8266 με το αρχείο Arduino.

Μην ξεχάσετε να ρυθμίσετε το wifi και τις διευθύνσεις σας στο αρχείο.

Μετά τη φόρτωση, ελέγξτε τη σειριακή έξοδο για σφάλματα.

Μετά από μια σύντομη περίοδο θα πρέπει να δείτε τις τιμές στον ιστότοπό σας weewx.

Βήμα 4: Επιτυχής συσκευή αισθητήρα BME280 + Αντιμετώπιση προβλημάτων

Success BME280 Sensor Device + Αντιμετώπιση προβλημάτων
Success BME280 Sensor Device + Αντιμετώπιση προβλημάτων
Success BME280 Sensor Device + Αντιμετώπιση προβλημάτων
Success BME280 Sensor Device + Αντιμετώπιση προβλημάτων

Μερικές συμβουλές για εσάς:

Ανοίξτε περισσότερες από 1 κονσόλες μέσω στόκου

στην 1 κονσόλα κάντε τις αλλαγές σας και στην άλλη κονσόλα διαβάστε το syslog σας ζωντανά με:

ουρά -f/var/log/syslog

Αν έχετε σφάλμα, κοιτάξτε πρώτα το αρχείο καταγραφής σας.

Η έξοδός σας πρέπει να μοιάζει με τη δική μου:

Βήμα 5: Ρύθμιση υλικού Soilsensor

Ρύθμιση υλικού Soilsensor
Ρύθμιση υλικού Soilsensor
Ρύθμιση υλικού Soilsensor
Ρύθμιση υλικού Soilsensor
Ρύθμιση υλικού Soilsensor
Ρύθμιση υλικού Soilsensor

Για τον αισθητήρα DS18B20 πρέπει να φτιάξουμε ένα σύστημα διαύλου με μερικά καλώδια και συγκόλληση.

Ελέγξτε το DS18B20

ΔΕΔΟΜΕΝΑ, GND, VCC

Μεταξύ VCC και DATA χρειάζεστε αντίσταση 4.7K. Αρκεί αν έχετε την αντίσταση στο πρώτο DS18B20

Τα άλλα DS18B20 είναι παράλληλα μεταξύ τους.

Μετρήστε το μήκος για τις ανάγκες σας. Συγκολλήστε μια αλυσίδα μαζί, έχω ασφαλίσει τις ακίδες με συρρικνωμένο σωλήνα.

Για ΔΟΚΙΜΗ συνδέετε τα δεδομένα στο D3 και το VCC στο VCC (3.3V) και το GND στο GND.

Για την επιλογή βαθύ ύπνου πρέπει να συνδέσετε μια γέφυρα μεταξύ RST και D0 (GPIO16)

Δεν πρέπει να βάζετε την αλυσίδα στο σωλήνα αλουμινίου τώρα, κάντε τις δοκιμές σας πριν!

Βήμα 6: Κωδικός DS18B20 Nodemcu ESP8266

Κωδικός DS18B20 Nodemcu ESP8266
Κωδικός DS18B20 Nodemcu ESP8266

Για τον κώδικα μπορείτε να χρησιμοποιήσετε τα αποθετήρια GITHUB μου:

github.com/Landixus/multipleDS18B20WeeWX

Επίσης, το αρχείο ino χρειάζεται κάποια ένθετα από εσάς: Η διεύθυνση IP του διακομιστή weewx ή η διεύθυνση URL και η διαδρομή όπου έχετε τοποθετήσει το αρχείο php, βεβαιωθείτε ότι η περιοχή είναι εγγράψιμη, επιλέγω το public_html dir επειδή είναι διακομιστής οικίας.

Εάν θέλετε να κλωνοποιήσετε τα αποθετήρια git και να έχετε εγκατεστημένο το git στον διακομιστή σας, μπορείτε να κλωνοποιήσετε με την εντολή git clone

Τώρα πρέπει να κάνουμε κάποια πράγματα που όλα λειτουργούν στον διακομιστή weewx.

Πρέπει να κάνετε τις διαδρομές προς τις ρυθμίσεις σας στο

/home/weewx/public_html

δημιουργήστε ένα φάκελο "δεδομένα" στο φάκελο δεδομένων δημιουργήστε ένα ds18b20.txt για παράδειγμα nano ds18b20.txt το txt θα πρέπει να είναι κενό. κάντε το εγγράψιμο με chmod -R 777 ds18b20.txt (δεν το κάνετε ποτέ σε διακομιστή που είναι προσβάσιμος στο Διαδίκτυο!) στο φάκελο/home/weewx/public_html βάζετε το ground.php του github rep μου. Το κόλπο είναι ότι το αρχείο INO στέλνει τιμές στο ground.php και το ground.php γράφει τα δεδομένα στο ds18b20.txt στο επόμενο πρέπει να προσθέσουμε την υπηρεσία στο weewx βάζουμε το ds18b20.py στο φάκελο/home/weewx/bin/ χρήστης

ανοίξτε το weewx.conf στο φάκελο /home /weewx

είναι πάντα καλό να έχετε αντίγραφο ασφαλείας πριν επεξεργαστείτε αυτό το αρχείο!

κατεβείτε στη γραμμή:

[Μηχανή]

# ομαδοποιούνται ανά τύπο και τη σειρά των υπηρεσιών σε κάθε ομάδα

# καθορίζει τη σειρά με την οποία θα εκτελούνται οι υπηρεσίες.

prep_services = weewx.engine. StdTimeSynch, data_services = user.pond. PondService, user.bme.bme, user.ds18b20.ds18b20 προσθέστε το inline μετά από κόμμα

Το "user.ds18b20.ds18b20" θα πρέπει να μοιάζει με το πάνω μέρος ^^

επανεκκίνηση του weewx με:

sudo /etc/init.d/weewx στάση

sudo /etc/init.d/weewx έναρξη

με την εντολή tail -f/var/log/syslog μπορείτε να αναζητήσετε στο αρχείο καταγραφής για σφάλματα ή επιτυχία αναζητήστε έξοδο ds18b20: found value of Δώστε στον διακομιστή σας μερικά λεπτά για δημιουργία, στο weewx.conf μου κάθε 5 λεπτά βγαίνετε βάζω. Εάν έχετε μήνυμα σφάλματος, ελέγξτε τις διαδρομές σας. Εάν έχετε τιμές, μπορείτε να μεταβείτε για να το εμφανίσετε στη σελίδα: άνοιγμα

skin.conf in/home/weewx/skins/Standard πηγαίνετε στο:

# Αυτό είναι μάλλον συγκεκριμένο για τον σταθμό μου!

Προσθήκη

χώμαTemp1 = DS18B201

χώμαTemp2 = DS18B202

χώμαTemp3 = DS18B203

αποθηκεύστε το αρχείο και ανοίξτε στον ίδιο φάκελο index.html.tmpl αναζητήστε μια γραμμή:

#if $ day.extraTemp..…

#τέλος εαν

μετά το πρώτο #τέλος αν βρείτε βάλτε τον αισθητήρα GroundSensor με:

^^ συγγνώμη αλλά δεν είναι δυνατό να το θέσουμε ως κείμενο: (αποθηκεύστε το αρχείο και βγείτε. δεν χρειάζεται επανεκκίνηση του weewx. Τώρα πρέπει να τροφοδοτήσετε το NODEMCU ESP8266 με το αρχείο Arduino.

Μην ξεχάσετε να ρυθμίσετε το wifi και τις διευθύνσεις σας στο αρχείο. Μετά τη φόρτωση, ελέγξτε τη σειριακή έξοδο για σφάλματα.

Μετά από μια σύντομη περίοδο θα πρέπει να δείτε τις τιμές στον ιστότοπό σας weewx.

Βήμα 7: Επιτυχία Soensensor και Αντιμετώπιση προβλημάτων

Success Soilsensor και Αντιμετώπιση προβλημάτων
Success Soilsensor και Αντιμετώπιση προβλημάτων

Εάν εργάζεστε και βλέπετε τιμές, βγείτε έξω και βάλτε το σωλήνα αλουμινίου στο έδαφος.

Ένας καλός τρόπος είναι να βάλετε ζεστή κόλλα σε 1 πλευρά του σωλήνα και στη συνέχεια να πιέσετε τον σωλήνα μαζί, τότε έχετε ωραία κορυφή για να το φέρετε πιο εύκολα στο έδαφος.

Βάλτε πρώτα το σωλήνα σας στο έδαφος, μπορείτε να σφυρίξετε μαλακά με μια ξύλινη σανίδα.

Εάν ο σωλήνας είναι αρκετά βαθύς, μπορείτε να βάλετε την αλυσίδα ds18b20 και τα καλώδια τροφοδοσίας στο αδιάβροχο κουτί.

Βεβαιωθείτε ότι το wifi σας λειτουργεί σε αυτό το μέρος!

Αν δεν ξέρετε τι βαθύ αισθητήρα είναι, υπάρχουν 2 δυνατότητες.

Δοκιμαστική φάση έβαλα 1 ds18b20 ανάμεσα στο δάχτυλό σας, η θερμοκρασία ανεβαίνει υψηλότερα για αυτό.

Όταν ο σωλήνας είναι ήδη στο έδαφος, τότε κανονικά είναι η Υψηλότερη τιμή το βαθύτερο σημείο.

Βήμα 8: Τέλος

Φινίρισμα
Φινίρισμα

Μόνο το τέλος

Δημοσιεύστε τις ερωτήσεις σας και δείξτε τις βασικές σας θερμοκρασίες στα σχόλια!

Για περισσότερη βοήθεια, εγγραφείτε στις weewx ομάδες Google στο:

groups.google.com/forum/#!forum/weewx-user

Συνιστάται: