• Κανένα προϊόν στο καλάθι σας.

Δημιουργία web server με nodemcu

Σύνδεση client στον server και ανάγνωση της θερμοκρασίας χωρίς την χρήση σειριακής θύρας του Arduino IDE

Πως να φτιάξεις έναν web server με nodemcu;

Πολλοί έχουν αναρωτηθεί για το πως μπορούν να φτιάξουν εφαρμογές με τεχνολογία Internet of Things. Σήμερα θα σας παρουσιάσω μία τέτοια εφαρμογή, η οποία είναι συνέχεια του προηγούμενου βίντεο με το nodemcu.

Στο δεύτερο μέρος παρουσιάζουμε τον τρόπο με τον οποίο μπορείτε να χρησιμοποιήσετε το nodemcu (arduino clone + ESP8266) για να δημιουργήσετε έναν web server.

Ο web server, σε συνδυασμό με τον αισθητήρα θερμοκρασίας / υγρασίας DHT11 θα δώσουν την δυνατότητα να διαβάζουμε δεδομένα μέσα από έναν φυλλομετρητή ιστού(browser).

Για να εμφανιστούν τα δεδομένα στον browser, θα χρειαστεί να γράψουμε μερικές γραμμές κώδικα HTML. Περισσότερα για τον κώδικα HTML και πως συντάσσεται μπορείτε να βρείτε εδώ.

Χρησιμοποιήσαμε το ίδιο ακριβώς κύκλωμα με την προηγούμενη άσκηση που αφορούσε το nodemcu το οποίο μπορείτε να βρείτε εδώ.


Η φιλοσοφία του web server

Το nodemcu χάρη στο ενσωματωμένο ESP8266 που διαθέτει, μας δίνει την δυνατότητα να συνδεόμαστε σε ένα υπάρχον δίκτυο WiFi ή να δημιουργήσουμε ένα access point και να συνδέουμε άλλες συσκευές στο nodemcu.

esp8266 web server
ESP8266

Για την συγκεκριμένη άσκηση επιλέξαμε να συνδέσουμε το nodemcu στο υπάρχον ασύρματο δίκτυο και στη συνέχεια να συνδεθούμε από μία φορητή συσκευή (tablet) ή έναν σταθερό υπολογιστή -βασική προϋπόθεση και οι δύο συσκευές να βρίσκονται στο ίδιο δίκτυο.

Για να συμβεί αυτό, πρέπει να ενσωματώσουμε και να χρησιμοποιήσουμε τις βιβλιοθήκες που αφορούν το esp8266. Θα πρέπει να έχουμε διαθέσιμα και τα στοιχεία σύνδεσης στο ασύρματο δίκτυο στο οποίο θέλουμε να συνδεθούμε καθώς θα πρέπει να δηλώσουμε μεταβλητές με το ssid και το password.

Ο κώδικας

Βασιστήκαμε εν μέρη στο προηγούμενο πρόγραμμα που διάβαζε και τύπωνε την θερμοκρασία στην σειριακή θύρα. Προσθέσαμε την λειτουργικότητα που αφορά το ESP8266 και δημιουργήσαμε την σύνδεση με το WiFi και ένα αντικείμενο server ώστε να μπορεί ένας client να συνδεθεί σε αυτόν.

Την σειριακή θύρα και τα διάφορα ενημερωτικά μηνύματα, μπορείτε να τα διαγράψετε μόλις μάθετε την IP του server, εφ’ όσον δεν σας απασχολεί. Στο παρακάτω βίντεο τα αφήνουμε μιας και πρόκειται κυρίως για εκπαιδευτικό υλικό.

#include <DHT.h>
#define DHTTYPE DHT11
#define dht_dpin 0
DHT dht(dht_dpin, DHTTYPE);

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
const char* ssid ="OTEf3d660";
const char* password ="662d1E800";
ESP8266WebServer server(80);
String page="";
float t;

void setup() {
  dht.begin();
  delay(1000);
  Serial.begin(115200);
  WiFi.begin(ssid,password);
  while (WiFi.status() !=WL_CONNECTED){
  delay(500);
  Serial.print(".");
}
Serial.print("Connected to: ");
Serial.println(ssid);
Serial.print("IP address is ");
Serial.println(WiFi.localIP());
server.on("/", [](){
  page ="<h1>DHT Sensor to Nodemcu Web Server</h1><h2>Thermokrasia:</h3><h3>"+String(t)+"</h3>";
  server.send(200,"text/html",page);
});
server.begin();
Serial.println("Web Server Started!");
}

void loop() {
  t = dht.readTemperature();
  delay(3000);
  server.handleClient();
}

Ο κώδικας που υλοποιεί την άσκηση εξηγείται αναλυτικά (πιο αναλυτικά δεν μπορώ :p ) στο παρακάτω βίντεο.

Η φιλοσοφία του κώδικα στο nodemcu είναι να ελέγχει σε κάθε κύκλο αν έχει συνδεθεί κάποιος client μέσω του browser και να εμφανίζει τον κώδικα HTML σε συνδυασμό με την μέτρηση θερμοκρασίας.


Αν σας αρέσουν τα βίντεο του Getcert, εγγραφείτε στο κανάλι και κάντε κλικ στο καμπανάκι που βρίσκεται ακριβώς δίπλα για να ενημερώνεστε για κάθε νέο βίντεο που ανεβαίνει.

10 Σεπτεμβρίου 2018

0 responses on "Δημιουργία web server με nodemcu"

Leave a Message

Η ηλ. διεύθυνση σας δεν δημοσιεύεται.

Template Design © VibeThemes. All rights reserved.