• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Wysyłanie danych na serwer w ESP8266
#1
Question 
Witam, jest to mój pierwszy post na forum, dlatego proszę o wyrozumiałość jeśli jest on w złej zakładce itd. Przejdę do rzeczy. Posiadam płytkę RobotDyn z układem Atmega oraz esp8266 (Oba układy na tej samej płytce). Jakiś czas temu napisałem programy do starowania światłem poprzez przekaźniki. Komunikację między esp i Atmegą mam też w miarę opanowaną. Na ESP postawiłem serwer, za pomocą którego wysyłam do Atmegi informacje z telefonu (przez WiFi) o tym, które przekaźniki włączyć itd. Napisałem również aplikację na androida do tego celu. Jednak, chciałbym aby dane odnośnie tego, który przekaźnik jest włączony były aktualizowane na wszystkich telefonach. Aby to zrobić muszę wstawić na serwer esp informację odnośnie tego, które przekaźniki są włączone (oraz aktualizować tą informację za każdym razem gdy coś się zmieni). Problem polega na tym, że nie wiem jak to zrobić. Może ktoś z was drodzy użytkownicy ma jakiś pomysł? A może jest inny sposób? (Pytam wyłącznie o kod do ESP) 

Kod:
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>

MDNSResponder mdns;

// Replace with your network credentials
const char* ssid = "B593-5478"; //B593-5478
const char* password ="658B9D5B29F";



ESP8266WebServer server(80);
IPAddress ip(192, 168, 1, 155);
IPAddress gateway(192, 168, 1, 1);
IPAddress subnet(255, 255, 255, 0);
IPAddress dns(192, 168, 1, 1);


String webPage = "";
int zmienna1;
int zmienna2;
int zmienna3;
int zmienna4;

void setup(void){

 
  webPage += "<h1>ESP8266 Web Server</h1> <p>Dolne-ogrod  <a href=\"socket1On\"><button>ON</button></a>&nbsp;<a href=\"socket1Off\"><button>OFF</button></a></p>";
  webPage += "<p>Gorne-ogrod  <a href=\"socket2On\"><button>ON</button></a>&nbsp; <a href=\"socket2Off\"><button>OFF</button></a></p>";
  webPage += "<p>Altana  <a href=\"socket3On\"><button>ON</button></a>&nbsp; <a href=\"socket3Off\"><button>OFF</button></a></p>";
  webPage += "<p>Obwod_4  <a href=\"socket4On\"><button>ON</button></a>&nbsp; <a href=\"socket4Off\"><button>OFF</button></a></p>";
  webPage += "<p>Wylacznik_awaryjny  <a href=\"WYL\"><button>OFF</button>";
 

 
 Serial.begin(9600);
 WiFi.mode(WIFI_STA);
 WiFi.config(ip, gateway, subnet);
 WiFi.begin(ssid, password);
 // Wait for connection
 while (WiFi.status() != WL_CONNECTED) {
   delay(500);
   Serial.print(".");
 }
 Serial.println("");
 Serial.print("Connected to ");
 Serial.println(ssid);
 Serial.print("IP address: ");
 Serial.println(WiFi.localIP());

 if (mdns.begin("esp8266", WiFi.localIP())) {
   Serial.println("MDNS responder started");
 }


 
 delay(200);


 server.on("/", [](){
   server.send(200, "text/html", webPage);
 });
 server.on("/socket1On", [](){
   server.send(200, "text/html", webPage);
   Serial.write("OB1_ON");
   zmienna1 = 1;
   delay(200);
 });
 server.on("/socket1Off", [](){
   server.send(200, "text/html", webPage);
   Serial.write("OB1_OFF");
   zmienna1 = 0;
   delay(200);
 });
 
 server.on("/socket2On", [](){
   server.send(200, "text/html", webPage);
   Serial.write("OB2_ON");
   zmienna2 = 1;
   delay(200);
 });
 server.on("/socket2Off", [](){
   server.send(200, "text/html", webPage);
   Serial.write("OB2_OFF");
   zmienna2 = 0;
   delay(200);
 });

 server.on("/socket3On", [](){
   server.send(200, "text/html", webPage);
   Serial.write("OB3_ON");
   zmienna3 = 1;
   delay(200);
 });
 server.on("/socket3Off", [](){
   server.send(200, "text/html", webPage);
   Serial.write("OB3_OFF");
   zmienna3 = 0;
   delay(200);
 });

 server.on("/socket4On", [](){
   server.send(200, "text/html", webPage);
   Serial.write("OB4_ON");
   zmienna4 = 1;
   delay(200);
 });
 
 server.on("/socket4Off", [](){
   server.send(200, "text/html", webPage);
   Serial.write("OB4_OFF");
   zmienna4 = 0;
   delay(200);
 });

 server.on("/WYL", [](){
   server.send(200, "text/html", webPage);
   Serial.write("ALL_OFF");
   delay(200);
 });
 
 server.begin();
 Serial.println("HTTP server started");

 
}

 

void loop(void){
IPAddress ip(192, 168, 1, 155);
IPAddress gateway(192, 168, 1, 1);
IPAddress subnet(255, 255, 255, 0);
IPAddress dns(192, 168, 1, 1);
 server.handleClient();
     
}
 
#2
Poradziłem sobie w następujący sposób:

Kod:
server.on("/", [](){
   server.send(200, "text/html", webPage);
 });
 server.on("/socket1On", [](){
   zmienna1 = "OB1=1";
   server.send(200, "text/html", webPage+zmienna1+" "+zmienna2+" "+zmienna3+" "+zmienna4);
   Serial.write("OB1_ON");
   delay(200);
 });
 server.on("/socket1Off", [](){
   zmienna1 = "OB1=0";
   server.send(200, "text/html", webPage+zmienna1+" "+zmienna2+" "+zmienna3+" "+zmienna4);
   Serial.write("OB1_OFF");
   delay(200);
 });
 
 server.on("/socket2On", [](){
   zmienna2 = "OB2=1";
   server.send(200, "text/html", webPage+zmienna1+" "+zmienna2+" "+zmienna3+" "+zmienna4);
   Serial.write("OB2_ON");
   delay(200);
 });
 server.on("/socket2Off", [](){
   zmienna2 = "OB2=0";
   server.send(200, "text/html", webPage+zmienna1+" "+zmienna2+" "+zmienna3+" "+zmienna4);
   Serial.write("OB2_OFF");
   delay(200);
 });

 server.on("/socket3On", [](){
   zmienna3 = "OB3=1";
   server.send(200, "text/html", webPage+zmienna1+" "+zmienna2+" "+zmienna3+" "+zmienna4);
   Serial.write("OB3_ON");
   delay(200);
 });
 server.on("/socket3Off", [](){
   zmienna3 = "OB3=0";
   server.send(200, "text/html", webPage+zmienna1+" "+zmienna2+" "+zmienna3+" "+zmienna4);
   Serial.write("OB3_OFF");
   delay(200);
 });

 server.on("/socket4On", [](){
   zmienna4 = "OB4=1";
   server.send(200, "text/html", webPage+zmienna1+" "+zmienna2+" "+zmienna3+" "+zmienna4);
   Serial.write("OB4_ON");
   delay(200);
 });
 
 server.on("/socket4Off", [](){
   zmienna4 = "OB4=0";
   server.send(200, "text/html", webPage+zmienna1+" "+zmienna2+" "+zmienna3+" "+zmienna4);
   Serial.write("OB4_OFF");
   delay(200);
 });

Temat uważam za zamknięty.
 
  


Skocz do:


Przeglądający: 1 gości