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

ESP8266 Διακομιστής Web Weather Monitor (Χωρίς Arduino): 4 Βήματα
ESP8266 Διακομιστής Web Weather Monitor (Χωρίς Arduino): 4 Βήματα

Βίντεο: ESP8266 Διακομιστής Web Weather Monitor (Χωρίς Arduino): 4 Βήματα

Βίντεο: ESP8266 Διακομιστής Web Weather Monitor (Χωρίς Arduino): 4 Βήματα
Βίντεο: Esp8266 interfaced with Dht11 and displaying data in web server #esp8266 #nodemcu #sensor 2024, Ιούλιος
Anonim
ESP8266 Διακομιστής Web Weather Monitor (Χωρίς Arduino)
ESP8266 Διακομιστής Web Weather Monitor (Χωρίς Arduino)

Το «Διαδίκτυο των πραγμάτων» (IoT) γίνεται ένα ολοένα αυξανόμενο θέμα συνομιλίας μέρα με τη μέρα. Είναι μια έννοια που όχι μόνο έχει τη δυνατότητα να επηρεάσει τον τρόπο που ζούμε αλλά και τον τρόπο που εργαζόμαστε. Από βιομηχανικές μηχανές έως φορετές συσκευές - χρησιμοποιώντας ενσωματωμένους αισθητήρες για τη συλλογή δεδομένων και τη λήψη μέτρων σε αυτά τα δεδομένα σε ένα δίκτυο.

Έτσι, αποφασίσαμε να δημιουργήσουμε ένα πολύ απλό αλλά ενδιαφέρον έργο με την ιδέα - IoT.

Σήμερα, θα δημιουργήσουμε έναν βασικό διακομιστή ιστού για να παρακολουθούμε τον καιρό γύρω μας. Μπορούμε να δούμε τις τιμές της υγρασίας και της θερμοκρασίας στις κινητές συσκευές και τους φορητούς υπολογιστές μας. Όπως είπα, είναι μια απλή και βασική ιστοσελίδα για να σας δώσει ιδέα. Μπορείτε να αναβαθμίσετε και να τροποποιήσετε το έργο στις ανάγκες σας, όπως μπορείτε να συλλέξετε τα δεδομένα και να τα χρησιμοποιήσετε για μελλοντική χρήση, μπορείτε να δημιουργήσετε έναν αυτοματισμό στο σπίτι ελέγχοντας τις οικιακές συσκευές σας ή οτιδήποτε μπορείτε να φανταστείτε. Να θυμάστε πάντα - Η δύναμη της φαντασίας μας κάνει άπειρους (από τον John Muir).

Ας ξεκινήσουμε λοιπόν !!

Βήμα 1: Συγκεντρώστε τα εργαλεία σας

Συγκεντρώστε τα εργαλεία σας !!
Συγκεντρώστε τα εργαλεία σας !!
Συγκεντρώστε τα εργαλεία σας !!
Συγκεντρώστε τα εργαλεία σας !!
Συγκεντρώστε τα εργαλεία σας !!
Συγκεντρώστε τα εργαλεία σας !!
Συγκεντρώστε τα εργαλεία σας !!
Συγκεντρώστε τα εργαλεία σας !!

1 Αισθητήρας υγρασίας και θερμοκρασίας SHT25

Ο αισθητήρας υγρασίας και θερμοκρασίας υψηλής ακρίβειας SHT25 του Sensirion έχει γίνει βιομηχανικό πρότυπο όσον αφορά τον παράγοντα της μορφής και την ευφυΐα: Ενσωματωμένο σε ένα συγκολλητό πακέτο Dual Flat No lead (DFN) με εκτύπωση ποδιού 3 x 3mm και ύψος 1,1 mm που παρέχει βαθμονομημένο, γραμμωμένα σήματα αισθητήρων σε ψηφιακή μορφή, I2C.

1 Adafruit Huzzah ESP8266

Ο επεξεργαστής ESP8266 από το Espressif είναι ένας μικροελεγκτής 80 MHz με πλήρες front-end WiFi (τόσο ως πελάτης όσο και ως σημείο πρόσβασης) και στοίβα TCP/IP με υποστήριξη DNS επίσης. Το ESP8266 είναι μια απίστευτη πλατφόρμα για την ανάπτυξη εφαρμογών IoT. Το ESP8266 παρέχει μια ώριμη πλατφόρμα για την παρακολούθηση και τον έλεγχο εφαρμογών χρησιμοποιώντας τη γλώσσα Arduino Wire Language και το Arduino IDE.

1 προγραμματιστής USB ESP8266

Αυτός ο προσαρμογέας κεντρικού υπολογιστή ESP8266 σχεδιάστηκε ειδικά για την έκδοση Adafruit Huzzah του ESP8266, επιτρέποντας τη διεπαφή I²C.

1 καλώδιο σύνδεσης I2C

Βήμα 2: Σύνδεση υλικού

Σύνδεση υλικού
Σύνδεση υλικού
Σύνδεση υλικού
Σύνδεση υλικού
Σύνδεση υλικού
Σύνδεση υλικού

Πάρτε το ESP8266 και σπρώξτε το απαλά πάνω από τον προγραμματιστή USB. Στη συνέχεια, συνδέστε το ένα άκρο του καλωδίου I2C στον αισθητήρα SHT25 και το άλλο άκρο στον προγραμματιστή USB. Και τελειώσατε. Ναι, καλά διαβάσατε. Χωρίς πονοκέφαλο, ακούγεται δροσερό. Σωστά !!

Με τη βοήθεια του ESP8266 USB Programmer, είναι πολύ εύκολο να προγραμματίσετε το ESP. Το μόνο που χρειάζεται να κάνετε είναι να συνδέσετε τον αισθητήρα σε προγραμματιστή USB και είστε έτοιμοι. Προτιμούμε να χρησιμοποιούμε αυτήν τη γκάμα προϊόντων, επειδή διευκολύνει πολύ τη σύνδεση του υλικού. Χωρίς αυτούς τους προγραμματιστές USB plug and play, υπάρχει μεγάλος κίνδυνος να κάνετε λάθος σύνδεση. Μια κακή καλωδίωση μπορεί να σκοτώσει το wifi σας καθώς και τον αισθητήρα σας.

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

Εδώ μπορείτε να ελέγξετε ολόκληρη τη γκάμα προϊόντων από αυτά.

Σημείωση: Κατά την πραγματοποίηση συνδέσεων, βεβαιωθείτε ότι το καφέ καλώδιο του καλωδίου σύνδεσης είναι συνδεδεμένο στον ακροδέκτη γείωσης του αισθητήρα και το ίδιο για τον προγραμματιστή USB.

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

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

Μπορείτε να κατεβάσετε τον κωδικό ESP8266 για το SHT25 από το αποθετήριο github

Πριν προχωρήσετε στον κώδικα, βεβαιωθείτε ότι έχετε διαβάσει τις οδηγίες που δίνονται στο αρχείο Readme και ρυθμίστε το ESP8266 σύμφωνα με αυτό. Θα χρειαστούν μόλις 5 λεπτά για τη ρύθμιση του ESP.

Τώρα, κατεβάστε (ή git pull) τον κώδικα και ανοίξτε τον στο Arduino IDE.

Συγκεντρώστε και ανεβάστε τον κώδικα και δείτε την έξοδο στο Serial Monitor.

Σημείωση: Πριν από τη μεταφόρτωση, βεβαιωθείτε ότι έχετε εισαγάγει το δίκτυο SSID και τον κωδικό πρόσβασης στον κώδικα.

Αντιγράψτε τη διεύθυνση IP του ESP8266 από τη Σειριακή οθόνη και επικολλήστε την στο πρόγραμμα περιήγησής σας.

Θα δείτε έναν διακομιστή ιστού με ένδειξη υγρασίας και θερμοκρασίας. Η έξοδος του αισθητήρα στο Serial Monitor και στον Web Server εμφανίζεται στην παραπάνω εικόνα.

Για μεγαλύτερη άνεση, μπορείτε να αντιγράψετε τον κωδικό ESP που λειτουργεί για αυτόν τον αισθητήρα από εδώ:

#περιλαμβάνω

#περιλαμβάνω

#περιλαμβάνω

#περιλαμβάνω

// Η διεύθυνση SHT25 I2C είναι 0x40 (64)

#define Addr 0x40

const char* ssid = "το δίκτυο ssid σας";

const char* password = "ο κωδικός σας"; υγρασία επίπλευσης, cTemp, fTemp;

Διακομιστής ESP8266WebServer (80);

void handleroot ()

{unsigned int data [2];

// Έναρξη μετάδοσης I2C

Wire.beginTransmission (Addr); // Αποστολή εντολής μέτρησης υγρασίας, NO HOLD master Wire.write (0xF5); // Διακοπή μετάδοσης I2C Wire.endTransmission (); καθυστέρηση (500)?

// Ζητήστε 2 byte δεδομένων

Wire.requestFrom (Addr, 2)?

// Διαβάστε 2 byte δεδομένων

// υγρασία msb, υγρασία lsb if (Wire.available () == 2) {data [0] = Wire.read (); δεδομένα [1] = Wire.read ();

// Μετατρέψτε τα δεδομένα

υγρασία = (((δεδομένα [0] * 256.0 + δεδομένα [1]) * 125.0) / 65536.0) - 6;

// Έξοδος δεδομένων σε σειριακή οθόνη

Serial.print ("Σχετική υγρασία:"); Serial.print (υγρασία)? Serial.println (" %RH"); }

// Έναρξη μετάδοσης I2C

Wire.beginTransmission (Addr); // Αποστολή εντολής μέτρησης θερμοκρασίας, NO HOLD master Wire.write (0xF3); // Διακοπή μετάδοσης I2C Wire.endTransmission (); καθυστέρηση (500)?

// Ζητήστε 2 byte δεδομένων

Wire.requestFrom (Addr, 2)?

// Διαβάστε 2 byte δεδομένων

// temp msb, temp lsb if (Wire.available () == 2) {data [0] = Wire.read (); δεδομένα [1] = Wire.read ();

// Μετατρέψτε τα δεδομένα

cTemp = (((δεδομένα [0] * 256,0 + δεδομένα [1]) * 175,72) / 65536,0) - 46,85; fTemp = (cTemp * 1.8) + 32;

// Έξοδος δεδομένων σε σειριακή οθόνη

Serial.print ("Θερμοκρασία σε Κελσίου:"); Serial.print (cTemp); Serial.println ("C"); Serial.print ("Θερμοκρασία σε Φαρενάιτ:"); Serial.print (fTemp); Serial.println ("F"); } // Έξοδος δεδομένων στον διακομιστή ιστού server.sendContent ("<meta http-equ = 'refresh' content = '5" ""

ΕΛΕΓΧΕΤΕ ΤΑ ΠΑΝΤΑ

www.controleverything.com

Μικρή μονάδα αισθητήρα SHT25 I2C

"); server.sendContent ("

Σχετική υγρασία = " + Χορδή (υγρασία) +" %RH "); server.sendContent ("

Θερμοκρασία σε Κελσίου = " + String (cTemp) +" C "); server.sendContent ("

Θερμοκρασία σε Φαρενάιτ = " + String (fTemp) +" F "); καθυστέρηση (300);}

void setup ()

{// Αρχικοποίηση επικοινωνίας I2C ως MASTER Wire.begin (2, 14); // Αρχικοποίηση σειριακής επικοινωνίας, καθορισμός ρυθμού baud = 115200 Serial.begin (115200);

// Σύνδεση σε δίκτυο WiFi

WiFi.begin (ssid, κωδικός πρόσβασης);

// Περιμένετε τη σύνδεση

while (WiFi.status ()! = WL_CONNECTED) {καθυστέρηση (500); Serial.print ("."); } Serial.println (""); Serial.print ("Συνδέθηκε με"); Serial.println (ssid);

// Λάβετε τη διεύθυνση IP του ESP8266

Serial.print ("Διεύθυνση IP:"); Serial.println (WiFi.localIP ());

// Ξεκινήστε τον διακομιστή

server.on ("/", handleroot); server.begin (); Serial.println ("Ο διακομιστής HTTP ξεκίνησε"); }

κενός βρόχος ()

{server.handleClient (); }

Βήμα 4: Συμπέρασμα

Η σειρά αισθητήρων υγρασίας και θερμοκρασίας SHT25 ανεβάζει την τεχνολογία αισθητήρων σε νέο επίπεδο με απαράμιλλη απόδοση αισθητήρα, ποικιλία παραλλαγών και νέα χαρακτηριστικά. Κατάλληλο για μεγάλη ποικιλία αγορών, όπως οικιακές συσκευές, ιατρικές, IoT, HVAC ή βιομηχανικές. Με τη βοήθεια του ESP8266, μπορούμε να αυξήσουμε τη χωρητικότητά του σε μεγαλύτερο μήκος. Μπορούμε να ελέγξουμε τις συσκευές μας και να παρακολουθήσουμε την απόδοση εκεί από τους φορητούς υπολογιστές και τις κινητές συσκευές μας. Μπορούμε να αποθηκεύσουμε και να διαχειριστούμε τα δεδομένα στο διαδίκτυο και να τα μελετήσουμε ανά πάσα στιγμή για τροποποιήσεις.

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

Ελπίζω να σας αρέσει η προσπάθεια και να σκεφτείτε περισσότερες δυνατότητες με αυτήν. Όπως είπα παραπάνω, η φαντασία είναι το κλειδί.:)

Για περισσότερες πληροφορίες σχετικά με τα SHT25 και ESP8266, ανατρέξτε στους παρακάτω συνδέσμους:

  • SHT25 Φύλλο δεδομένων αισθητήρα υγρασίας και θερμοκρασίας
  • Φύλλο δεδομένων ESP8266

Για περισσότερες πληροφορίες, επισκεφθείτε το ControlEverything.

Συνιστάται: