ESP8266: système de surveillance température sans fil
ESP8266: système de surveillance température sans fil - Electronique, domotique, DIY
MarshPosté le 29-10-2017 à 21:15:57
Bonjour
je souhaiterai faire un système de surveillance de 2 températures (situés à des endroits différents). Ces températures seraient affichées sur un écran déporté. Le tout serait basé sur 3 Huzzah ESP8266: - 1 avec écran qui serait AccesPoint (IP 192.168.4.1)+ station (qui récupererait les 2 températures pour les afficher sur l'écran) - 1 relié à une sonde DS18B20 et serait webserver (IP 192.168.4.2) - 1 deuxième relié à une sonde DS18B20 et serait webserver (IP 192.168.4.3) Dans un premier temps je veux uniquement - configurer le 1er Huzzah en AP - configurer le 2eme Huzzah en webserver
vérifier qu'avec mon ordi, je peux, via une connection à l'AP (IP 192.168.4.1), me connecter au webserver (IP 192.168.4.2) et récupérer la temp.
L'AP marche (mon ordi se connecte dessus) le webserver marche et se connecte à l'AP
mais je ne parviens pas à me connecter au webserver avec mon ordi
merci à toute bonne volonté...
Le code de l' Accespoint (vient de la bibliothèque d'exemples)
Code :
/*
* Copyright (c) 2015, Majenko Technologies
* All rights reserved.
*/
/* Create a WiFi access point and provide a web server on it. */
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
/* Set these to your desired credentials. */
constchar *ssid = "ESPap";
constchar *password = "thereisnospoon";
ESP8266WebServer server(80);
/* Just a little test message. Go to http://192.168.4.1 in a web browser
* connected to this access point to see it.
*/
void handleRoot() {
server.send(200, "text/html", "<h1>You are connected</h1>" );
}
void setup() {
delay(1000);
Serial.begin(115200);
Serial.println();
Serial.print("Configuring access point..." );
/* You can remove the password parameter if you want the AP to be open. */
WiFi.softAP(ssid, password);
IPAddress myIP = WiFi.softAPIP();
Serial.print("AP IP address: " );
Serial.println(myIP);
server.on("/", handleRoot);
server.begin();
Serial.println("HTTP server started" );
}
void loop() {
server.handleClient();
IPAddress myIP = WiFi.softAPIP();
Serial.print("AP IP address: " );
Serial.println(myIP);
delay (1000);
}
Le code du webserver
Code :
//COM4
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
#include <OneWire.h> //Librairie du bus OneWire
#include <DallasTemperature.h> //Librairie du capteur
OneWire oneWire(5); //Bus One Wire sur la pin 5 de l'arduino
DallasTemperature sensors(&oneWire); //Utilistion du bus Onewire pour les capteurs
DeviceAddress sensorDeviceAddress; //Vérifie la compatibilité des capteurs avec la librairie
MDNSResponder mdns;
// Replace with your network credentials
constchar* ssid = "ESPap";
constchar* password = "thereisnospoon";
ESP8266WebServer server(80);
String webPage = "";
int gpio0_pin = 0;
float temperature = 0;
int i=0;
void setup(void){
// preparing GPIOs j ignore pourquoi sans ces 2 lignes pinMode et digitalWrite ça ne connecte pas sur le ssid
pinMode(gpio0_pin, OUTPUT);
digitalWrite(gpio0_pin, LOW);
delay(1000);
Serial.begin(115200);
WiFi.begin(ssid, password);
Serial.println("" );
// Wait for connection
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print("." );
}
Serial.println("" );
Serial.println("Connected to " );
Serial.println(ssid); // j ignore pourquoi ça ne s affiche pas
Serial.println("IP address: " );// j ignore pourquoi ça ne s affiche pas
Serial.println(WiFi.localIP());// j ignore pourquoi ça ne s affiche pas
Serial.println("" );// j ignore pourquoi ça ne s affiche pas
if (mdns.begin("esp8266", WiFi.localIP())) {
Serial.println("MDNS responder started" );
}
server.on("/", [](){
server.send(200, "text/html", webPage);
});
server.begin();
Serial.println("HTTP server started" );
Serial.begin(115200); //Permet la communication en serial
sensors.begin(); //Activation des capteurs
sensors.getAddress(sensorDeviceAddress, 0); //Demande l'adresse du capteur à l'index 0 du bus
Marsh Posté le 29-10-2017 à 21:15:57
Bonjour
je souhaiterai faire un système de surveillance de 2 températures (situés à des endroits différents). Ces températures seraient affichées sur un écran déporté.
Le tout serait basé sur 3 Huzzah ESP8266:
- 1 avec écran qui serait AccesPoint (IP 192.168.4.1)+ station (qui récupererait les 2 températures pour les afficher sur l'écran)
- 1 relié à une sonde DS18B20 et serait webserver (IP 192.168.4.2)
- 1 deuxième relié à une sonde DS18B20 et serait webserver (IP 192.168.4.3)
Dans un premier temps je veux uniquement
- configurer le 1er Huzzah en AP
- configurer le 2eme Huzzah en webserver
vérifier qu'avec mon ordi, je peux, via une connection à l'AP (IP 192.168.4.1), me connecter au webserver (IP 192.168.4.2) et récupérer la temp.
L'AP marche (mon ordi se connecte dessus)
le webserver marche et se connecte à l'AP
mais je ne parviens pas à me connecter au webserver avec mon ordi
merci à toute bonne volonté...
Le code de l' Accespoint (vient de la bibliothèque d'exemples)
Le code du webserver
Message édité par thienan le 29-10-2017 à 21:16:41