Hallo Community,
befasse mich seit Heute das erste mal mit dem NodeMCU. Ich habe ein kleines Projekt dafür in Planung:
In meinem Angelverein sind wir dran über 2 Pumpen Wasser umzuwälzen. Ist mal Wurst, wie das Mechanisch Funktioniert.
Nun sind die 2 Pumpen mit Rohren verbunden. Es ist möglich keine, eine oder beide Pumpen laufen zu lassen. Die Elektro-Hardware befindet sich auf einer Insel, sodas über Lampen oder ähnliches es nicht möglich ist zu sehen, ob nun eine oder beide pumpen laufen.
Im Schaltschrank der Anlage sind noch 2 Relais frei, mit denen ich 2 Eingänge schalten kann, und diese will ich auf einem Webserver Anzeigen lassen. Leider habe ich so gar keine Ahnung von html und noch weniger, wie mir das ding dann Digitale Inputs anzeigt.
Durch Tutorials, und studieren der Bibliotheken habe ich Folgenden Code bisher zusammengestupft(Nicht wundern. Nutze das VisualMicro AddIn für Visual Studio. und wenn ich die ESP8266WIFI bib einbinde, prügelt er mir alles rein. Muss man noch aufräumen...oder lassen
)
Der Code Funktioniert bisher Soweit, dass der Accsess Point startet, und ich auf die IP-Adresse zugreifen kann. Er zeit mir auch werte an.
Wenn ich auf die www.test.de zugreife funktioniert es erst mal nicht. Wenn ich allerdings den NodeMCU per mikrotaster am board Resette, findet es mir den DNS Eintrag und leitet mich auf meine kleine Seite.
Gehe ich nun aus des WLan raus, was ja eigentlich sinn ist, gehe an den Tümpel, logge mich im Wlan ein und geb die Adresse ein, leitet er mich nicht weiter...("Err_Connection_Refused")
Habe das gefühl, es liegt an diesem eintrag:
Habe aber damit leider keine Erfahrung. Kann mir jemand behilflich sein, bei meinem Problem?
Danke schonmal im Vorraus
grüße
Daniel
befasse mich seit Heute das erste mal mit dem NodeMCU. Ich habe ein kleines Projekt dafür in Planung:
In meinem Angelverein sind wir dran über 2 Pumpen Wasser umzuwälzen. Ist mal Wurst, wie das Mechanisch Funktioniert.
Nun sind die 2 Pumpen mit Rohren verbunden. Es ist möglich keine, eine oder beide Pumpen laufen zu lassen. Die Elektro-Hardware befindet sich auf einer Insel, sodas über Lampen oder ähnliches es nicht möglich ist zu sehen, ob nun eine oder beide pumpen laufen.
Im Schaltschrank der Anlage sind noch 2 Relais frei, mit denen ich 2 Eingänge schalten kann, und diese will ich auf einem Webserver Anzeigen lassen. Leider habe ich so gar keine Ahnung von html und noch weniger, wie mir das ding dann Digitale Inputs anzeigt.
Durch Tutorials, und studieren der Bibliotheken habe ich Folgenden Code bisher zusammengestupft(Nicht wundern. Nutze das VisualMicro AddIn für Visual Studio. und wenn ich die ESP8266WIFI bib einbinde, prügelt er mir alles rein. Muss man noch aufräumen...oder lassen
![Lächeln :) :)](/forum/styles/smilies/smile.gif)
C++:
/*
Name: NodeMCU Webserver anzeige Digitalpins und DNS Server.ino
Created: 21.05.2018 19:24:35
Author: freak1051
*/
// the setup function runs once when you press reset or power the board
const char* ssid = "GEHEIMESSID";
const char* pass = "GEHEIMESPW";
const byte DNS_PORT = 53;
bool Pumpe1 = false;
bool Pumpe2 = false;
String page = "";
#include <WiFiUdp.h>
#include <WiFiServerSecure.h>
#include <WiFiServer.h>
#include <WiFiClientSecure.h>
#include <WiFiClient.h>
#include <ESP8266WiFiType.h>
#include <ESP8266WiFiSTA.h>
#include <ESP8266WiFiScan.h>
#include <ESP8266WiFiMulti.h>
#include <ESP8266WiFiGeneric.h>
#include <ESP8266WiFiAP.h>
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <DNSServer.h>
IPAddress local_IP(192, 168, 1, 2);
IPAddress gateway(192, 168, 16, 1);
IPAddress subnet(255, 255, 255, 0);
ESP8266WebServer server(80);
DNSServer dnsServer;
void setup(void)
{
Serial.begin(115200);
Serial.println();
pinMode(D1, INPUT_PULLUP);
pinMode(D2, INPUT_PULLUP);
//**************************************************************************************
//*** Start AP with pre-configured ip, gw and subnet. Must be reboot, by first change
//**************************************************************************************
Serial.print("Setting soft-AP configuration ... ");
Serial.println(WiFi.softAPConfig(local_IP, local_IP, subnet) ? "Ready" : "Failed!");
Serial.print("Setting soft-AP ... ");
Serial.println(WiFi.softAP(ssid, pass) ? "Ready" : "Failed!");
Serial.print("Soft-AP IP address = ");
Serial.println(WiFi.softAPIP());
//**************************************************************************************
//*** Start the Webserver
//**************************************************************************************
dnsServer.setTTL(300);
dnsServer.setErrorReplyCode(DNSReplyCode::ServerFailure);
dnsServer.start(DNS_PORT, "www.test.de", local_IP);
//**************************************************************************************
//*** Start the Webserver
//**************************************************************************************
server.on("/", []()
{
page = "<h1>ANGELVEREIN</h1><h1>MUSTERSTADT</h1><h2>Pumpenkontrolle</h2><h3>Pumpe1:</h3><h4>" + String(Pumpe1) + "</h4> <h3>Pumpe2:</h3><h4>" + String(Pumpe2) + "</h4>";
server.send(200, "text/html", page);
});
server.begin();
Serial.println("Web server started!");
}
void loop(void)
{
Pumpe1 = !digitalRead(D1);
Pumpe2 = !digitalRead(D2);
delay(1000);
dnsServer.processNextRequest();
server.handleClient();
}
Der Code Funktioniert bisher Soweit, dass der Accsess Point startet, und ich auf die IP-Adresse zugreifen kann. Er zeit mir auch werte an.
Wenn ich auf die www.test.de zugreife funktioniert es erst mal nicht. Wenn ich allerdings den NodeMCU per mikrotaster am board Resette, findet es mir den DNS Eintrag und leitet mich auf meine kleine Seite.
Gehe ich nun aus des WLan raus, was ja eigentlich sinn ist, gehe an den Tümpel, logge mich im Wlan ein und geb die Adresse ein, leitet er mich nicht weiter...("Err_Connection_Refused")
Habe das gefühl, es liegt an diesem eintrag:
C++:
dnsServer.setTTL(300)
Habe aber damit leider keine Erfahrung. Kann mir jemand behilflich sein, bei meinem Problem?
Danke schonmal im Vorraus
grüße
Daniel