Fórum témák

» Több friss téma
Lapozás: OK   39 / 137
(#) sanyisay válasza BI-AMP hozzászólására (») Aug 6, 2017 / 1
 
Portnyitásra egy tipp:

ESP TCP elérés LAN címen, otthonról, böngésző címsorból.
  1. 192.168.2.1:portszám/oldal?adat=1&adat2=2

portszám ne 80 legyen.
Routeredben megnézed hogy mi a WAN IP címed, ez az amin kívülről eléred a routered és azon keresztül a hállózatot. Ezt az internet szolgáltatód adja.
Ezt itt is ellenőrizheted.
Bővebben: Link
Ha nem egyezik a kettő és DIGI a szolgáltatód, akkor ezt kell elolvasnod és tenned.
Bővebben: Link

Ezek után a Routereden nyitni kell egy portot az esp-nek.
Ott három adatot kell megadnod, ESP LAN IP címe, portszáma, valamint hogy TCP kapcsolat lesz.
onnantól kezdve kívülről az ESP elérési címe

  1. WAN IP:portszám/oldal?adat=1&adat2=2


A bonyolult a dologban csak annyi, hogy minden routeren másképp kell portot nyitni.
Neked kell ismerned a routered hogy lehet Port forward ot csinálni.

Ezután ha nem fix IP címmel rendelkezel, naponta vagy sűrűbben váltogathatja a szolgáltató külső IP címed. Ez megint egy router beállítással megoldható ha tudja routered valamiféle dinamikus dns megoldást.
Egy régi cikk

ESP vel is tudod ellenőrizni a kölső IP címed, így az ép aktuálisat utánad tudja küldeni.

Hát röviden ennyi.
(#) BI-AMP válasza sanyisay hozzászólására (») Aug 6, 2017 /
 
Ez alapján megcsináltam Bővebben: Link. Most már működik a Blynk segítségével tudom ki-be kapcsolni, és működik külső hálózatról is.
Hamarosan lesznek további kérdéseim is. Köszönöm a segítséget!
(#) andyka hozzászólása Aug 7, 2017 /
 
Mindezeket megcsináltam én is. Van egy ESP8266-wemos mini ami rendesen működik is.
A gondom az hogy nem tudok egy másikat üzembe állítani. Belülről külső IP:port -al működik, de kívülről IP:public_port mar nem. Amikor rá akarok csatlakozni mintha lefagyna az ESP, megáll minden rajta (egy TM1637 LED modul). A LED modul frissítése nincs abba a függvénybe ami lefut internet kapcsolodaskor.
Mit ronthattam el? Mit vizsgaljak át ? Miből adódik az ilyesmi gond ?
(#) sanyisay válasza andyka hozzászólására (») Aug 7, 2017 /
 
Akkor ezek szerint megtaláltad a hibát a kódodban, ami miatt nem érted el kívülről.
Egy tipp:
Minden esp külön portot kapott?
Idézet:

Belülről külső IP:port -al működik, de kívülről IP:public_port”

Ezt így mondjuk nem tudtam értelmezni.
Port az port, nincs belső vagy külső.
IP van külső és belső. A külső a router IP címe. A belső a hálózatodon csüngő készülékeid címe NAT mögött.
Bővebben: Link
Amikor kintről meghívod a routert a portal határozod meg hogy melyik NAT mögött lévő készüléket szeretnéd elérni.

Foglalt portok számai.
Bővebben: Link
Ezeket is célszerű kerülni.
Valamint ellenőrizni az UPnP port nyitásokat ha már ott jár az ember hátha ott van az ütközés. Mondjuk ajánlott azt is kikapcsolni és inkább kézzel portokat nyitogatni.

Ui. Minden egyéb készüléken ami portnyitást igényel (szerverek, torrent, stb) célszerű az alapbeállításokban megadott portotszámot lecserélni a külső támadások csökkentése miatt.
A hozzászólás módosítva: Aug 7, 2017
(#) andyka válasza sanyisay hozzászólására (») Aug 7, 2017 /
 
Nem. Nem találtam meg a hibát. A routerem megkivanja a privat es public port beallitast. Pontositaskent van egy ESP-m felprogramozva ami rendesen mukodik allandoan (non-stop) kulso 443 es belso 83-as porton. Egy masik felprogramozva 82-es portra mint webserver amit 84-es public portrol erek el.
Egy harmadik ESP-n dolgozgatok, de a megfelelo router allitasok -
uj port- es ip-kiosztasok, utan sem erem el ezt kintrol csak hazon belülről. Mint irtam, amikor probalok rakapcsolodni "lefagy" az ESP mint a windows ahogy szokott. Ha megszakitom a kerest, abbahagyom a kapcsolodasi kiserletet akkor megy tovabb.
(#) sanyisay válasza andyka hozzászólására (») Aug 7, 2017 /
 
Mondjuk az jó ölet hogy enged külső és belsőportot állítani. Hát ilyen routrem még nem volt.
Az nem lehet hogy túl sok kliens kapcsolódik egyszerre a 3. ESP hez? Akkor nagyon be szokott lassulni. Nálam mondjuk ez Websocket tesztelés közben jött elő.
(#) sanyisay válasza andyka hozzászólására (») Aug 8, 2017 /
 
Az elején olyan hiba is volt nálam hogy a kliens (weboldal) túl sűrűn hívta meg az ESP-t, attól is bezavarodott. Utána jöttem rá mire jó a websocket. Mondjuk ez a hiba kiszűrhető belső hálóról is ,ha több böngésző oldalt nyitsz meg belső eléréssel.
(#) andyka válasza sanyisay hozzászólására (») Aug 8, 2017 /
 
Csak egy ESP van allandoan csatolva a ruterre. A frissites az a html kodbol 60s -re van irva, szerintem ez kizart.
Csak a login oldal jon be. Ha tovabb akarok lepni akkor kovetkezik be a hiba (megjegyzem a login lap copy-paste a mukodo kodrol).
Az erdekes az hogy azt a kodot amelyik mar mukodik egy masik ESP-n azt is hiaba probalom, nem tudom azt sem kivulrol elerni.
Mint irtam egy par oldallal korabban mar egyszer majdnem folhoz csaptam a routert egy egesz nap probalkozas utan, amikor, vegu is rajottem hogy mit valtoztattam: csak az ardu IDE -t, 1.6.8-rol, 1.8.3-ra. Miutan visszatertem a korabbi verziora akkor oldodott meg a gond csak. Most viszont hiaba, az sem segit.
(#) andyka válasza sanyisay hozzászólására (») Aug 8, 2017 /
 
Ilyen routerem van.
(#) andyka hozzászólása Aug 8, 2017 /
 
Most egy hetig ugyis szabadsagolok. Majd utana raalok megint
(#) sanyisay válasza andyka hozzászólására (») Aug 8, 2017 / 1
 
Igazi vezetői megoldás. Problémát bedobni a közösbe, aztán elmenni szabira, mire lebarnulva visszatér az ember, kész megoldás várja.
Amúgy teszteltem több (2db) ESP vel a GitBook on lévő Webszerver mintám, nálam az is működik hibátlanul kívülről is.
(#) atus1981 hozzászólása Aug 8, 2017 /
 
Sziasztok!
Segítségeteket szeretném kérni abban, hogy az alábbi kód value értéke 120 vagy 980 legyen, attól függően, hogy melyikre kattintok. Az on off gombok működnek, kapcsolgatják a ledeket, a 120 és a 980 soros porton megjelenik, viszont a value csak 0-t ír.
Köszi!
  1. #include <ESP8266WiFi.h>
  2. #include <WiFiClient.h>
  3. #include <ESP8266WebServer.h>
  4. #include <ESP8266mDNS.h>
  5.  
  6. MDNSResponder mdns;
  7.  
  8. // Replace with your network credentials
  9. const char* ssid = "hajnus1";
  10. const char* password = "";
  11.  
  12. ESP8266WebServer server(80);
  13.   String Content = "";
  14.   //String webPage = "";
  15.  
  16. int gpio0_pin = 0;
  17. int gpio2_pin = 2;
  18. int inp = 0;
  19.  
  20. void setup(void){
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.     Content = "<body bgcolor=\"#99ff99\" alink=\"#EE0000\" link=\"#0000EE\" text=\"#000000\"vlink=\"#551A8B\">";
  28.     Content += "<title> ESP8266 test </title>";
  29.     Content += "<H1>";
  30.     Content += "<br>";
  31.     Content += "</H1>";
  32.     Content += "<H2>";
  33.     Content += "value = ";
  34.     Content += String(inp);
  35.     Content += "<br>";
  36.     Content += "</H2>";
  37.  
  38.     Content += "<p><a href=\"socket1On\"><button>ON</button></a> <a href=\"socket1Off\"><button>OFF</button></a></p>";
  39.     Content += "<p><a href=\"socket2On\"><button>ON</button></a> <a href=\"socket2Off\"><button>OFF</button></a></p>";
  40.     Content += "<p><a href=\"120\"><button>120</button></a> <a href=\"980\"><button>980</button></a></p>";
  41.  
  42.  
  43.   // preparing GPIOs
  44.   pinMode(gpio0_pin, OUTPUT);
  45.   digitalWrite(gpio0_pin, LOW);
  46.   pinMode(gpio2_pin, OUTPUT);
  47.   digitalWrite(gpio2_pin, LOW);
  48.  
  49.   delay(1000);
  50.   Serial.begin(115200);
  51.   WiFi.begin(ssid, password);
  52.   Serial.println("");
  53.  
  54.   // Wait for connection
  55.   while (WiFi.status() != WL_CONNECTED) {
  56.     delay(500);
  57.     Serial.print(".");
  58.   }
  59.   Serial.println("");
  60.   Serial.print("Connected to ");
  61.   Serial.println(ssid);
  62.   Serial.print("IP address: ");
  63.   Serial.println(WiFi.localIP());
  64.  
  65.   if (mdns.begin("esp8266", WiFi.localIP())) {
  66.     Serial.println("MDNS responder started");
  67.   }
  68.  
  69.  
  70.    
  71.       server.on("/", [](){
  72.     server.send(200, "text/html", Content);
  73.   });
  74.   server.on("/socket1On", [](){
  75.     server.send(200, "text/html", Content);
  76.     digitalWrite(gpio0_pin, HIGH);
  77.     delay(1000);
  78.   });
  79.   server.on("/socket1Off", [](){
  80.     server.send(200, "text/html", Content);
  81.     digitalWrite(gpio0_pin, LOW);
  82.     delay(1000);
  83.   });
  84.   server.on("/socket2On", [](){
  85.     server.send(200, "text/html", Content);
  86.     digitalWrite(gpio2_pin, HIGH);
  87.     delay(1000);
  88.   });
  89.   server.on("/socket2Off", [](){
  90.     server.send(200, "text/html", Content);
  91.     digitalWrite(gpio2_pin, LOW);
  92.     delay(1000);
  93.   });
  94.     server.on("/120", [](){
  95.     server.send(200, "text/html", Content);
  96.     inp = 120;
  97.     Serial.println(inp);
  98.     delay(1000);
  99.   });
  100.   server.on("/980", [](){
  101.     server.send(200, "text/html", Content);
  102.    inp = 980;
  103.     Serial.println(inp);
  104.     delay(1000);
  105.   });
  106.  
  107.  
  108.   server.begin();
  109.   Serial.println("HTTP server started");
  110.  
  111. }
  112.  
  113. void loop(void){
  114.   server.handleClient();
  115. }
A hozzászólás módosítva: Aug 8, 2017
(#) sanyisay válasza atus1981 hozzászólására (») Aug 8, 2017 /
 
Content String feltöltése csak egyszer történik meg a Setup ban ezért a value értéke is ugyanaz marad.
Minden
  1. server.send(200, "text/html", Content);
előtt ezt meg kellene tenni.
Valamint még ez előtt kellene az inp értékét is beállítani.
A hozzászólás módosítva: Aug 8, 2017
(#) andyka válasza sanyisay hozzászólására (») Aug 8, 2017 /
 
Igazabol mar szombattol vagyok szabin. Itt csak a telefonom van.
A minta az nekem is mukodok.
A hozzászólás módosítva: Aug 8, 2017
(#) atus1981 válasza sanyisay hozzászólására (») Aug 9, 2017 /
 
Azt nem értem, hogy soros portra miért írja ki mégis minden egyes érték változáskor?!
Hiszen ugyanott zajlik le az érték írása...
(#) sanyisay válasza atus1981 hozzászólására (») Aug 9, 2017 /
 
Setup csak egyszer fut le, az ESP indításakor.

abban
  1. server.on("/120", [](){
  2.     server.send(200, "text/html", Content);
  3.     inp = 120;
  4.     Serial.println(inp);
  5.     delay(1000);
  6. });


itt felkészíted a szervert hogy mit tegyen ha meghívják a /120 as oldalt, így ez a rész minden /120 híváskor lefut majd.

  1. server.on("/120", [](){    
  2.     server.send(200, "text/html", Content);     --- elküldi a változatlan Content odalt a kliensnek (böngésző),
  3.     inp = 120;      --- beállítod az inp értékét
  4.     Serial.println(inp);     --- kiíratod soros portra
  5.     delay(1000);
  6. });

..és ez fut e minden oldal híváskor.
Hol változik a content tartalma mielőtt elküldöd a kliens felé?

sorrend
- inp érték megváltoztatása
- Content módosítása, hogy a friss inp bele kerüljön
- Content elküldése kliens felé
A hozzászólás módosítva: Aug 9, 2017
(#) atus1981 válasza sanyisay hozzászólására (») Aug 9, 2017 /
 
Tehát kell még egy string,
-amiben az inp értéket megváltoztatom, kliens kiiratás nélkül,
-Content felvegye az inp-et,
-kiküldeni a Content string-et?
(#) sanyisay válasza atus1981 hozzászólására (») Aug 9, 2017 / 1
 
  1. Content = "<body bgcolor=\"#99ff99\" alink=\"#EE0000\" link=\"#0000EE\" text=\"#000000\"vlink=\"#551A8B\">";
  2.     Content += "<title> ESP8266 test </title>";
  3.     Content += "<H1>";
  4.     Content += "<br>";
  5.     Content += "</H1>";
  6.     Content += "<H2>";
  7.     Content += "value = ";
  8.     Content += String(inp);
  9.     Content += "<br>";
  10.     Content += "</H2>";
  11.  
  12.     Content += "<p><a href=\"socket1On\"><button>ON</button></a> <a href=\"socket1Off\"><button>OFF</button></a></p>";
  13.     Content += "<p><a href=\"socket2On\"><button>ON</button></a> <a href=\"socket2Off\"><button>OFF</button></a></p>";
  14.     Content += "<p><a href=\"120\"><button>120</button></a> <a href=\"980\"><button>980</button></a></p>";

Nem kell még egy string, a fent bemásolt részt kell lefuttatni kiküldés előtt.


  1. Content += "value = ";
  2.     Content += String(inp);

ez a rész megoldja a az inp stringé alakítását.

Pld. vedd ki a Setup-ból és tedd függvénybe, így könnyen meg tudod hívni minden küldés előtt.
Bővebben: Link

vagy
60 nap alatt Arduino ingyenes tanfolyam
A hozzászólás módosítva: Aug 9, 2017
(#) sanyisay válasza atus1981 hozzászólására (») Aug 9, 2017 /
 
Mondjuk így.
Ennél mondjuk elegánsabb ha nem külön Content változót használsz hanem a függvény visszaadott értéke a Weboldal stringje, és az inp szintén nem külső változó, hanem a függvény paramétereként adod át.

  1. #include <ESP8266WiFi.h>
  2. #include <WiFiClient.h>
  3. #include <ESP8266WebServer.h>
  4.  
  5. // Replace with your network credentials
  6. const char* ssid = "-----";
  7. const char* password = "---------";
  8.  
  9. ESP8266WebServer server(80);
  10. String Content = "";
  11. //String webPage = "";
  12.  
  13. int gpio0_pin = 0;
  14. int gpio2_pin = 2;
  15. int inp = 0;
  16.  
  17. void set_conent() {
  18.         Content = "<body bgcolor=\"#99ff99\" alink=\"#EE0000\" link=\"#0000EE\" text=\"#000000\"vlink=\"#551A8B\">";
  19.         Content += "<title> ESP8266 test </title>";
  20.         Content += "<H1>";
  21.         Content += "<br>";
  22.         Content += "</H1>";
  23.         Content += "<H2>";
  24.         Content += "value = ";
  25.         Content += String(inp);
  26.         Content += "<br>";
  27.         Content += "</H2>";
  28.  
  29.         Content += "<p><a href=\"socket1On\"><button>ON</button></a> <a href=\"socket1Off\"><button>OFF</button></a></p>";
  30.         Content += "<p><a href=\"socket2On\"><button>ON</button></a> <a href=\"socket2Off\"><button>OFF</button></a></p>";
  31.         Content += "<p><a href=\"120\"><button>120</button></a> <a href=\"980\"><button>980</button></a></p>";
  32.  
  33. }
  34.  
  35. void setup(void) {
  36.         set_conent();
  37.        
  38.         // preparing GPIOs
  39.         pinMode(gpio0_pin, OUTPUT);
  40.         digitalWrite(gpio0_pin, LOW);
  41.         pinMode(gpio2_pin, OUTPUT);
  42.         digitalWrite(gpio2_pin, LOW);
  43.  
  44.         delay(1000);
  45.         Serial.begin(115200);
  46.         WiFi.begin(ssid, password);
  47.         Serial.println("");
  48.  
  49.         // Wait for connection
  50.         while (WiFi.status() != WL_CONNECTED) {
  51.                 delay(500);
  52.                 Serial.print(".");
  53.         }
  54.         Serial.println("");
  55.         Serial.print("Connected to ");
  56.         Serial.println(ssid);
  57.         Serial.print("IP address: ");
  58.         Serial.println(WiFi.localIP());
  59.  
  60.         server.on("/", []() {
  61.                 server.send(200, "text/html", Content);
  62.         });
  63.         server.on("/socket1On", []() {
  64.                 server.send(200, "text/html", Content);
  65.                 digitalWrite(gpio0_pin, HIGH);
  66.                 delay(1000);
  67.         });
  68.         server.on("/socket1Off", []() {
  69.                 server.send(200, "text/html", Content);
  70.                 digitalWrite(gpio0_pin, LOW);
  71.                 delay(1000);
  72.         });
  73.         server.on("/socket2On", []() {
  74.                 server.send(200, "text/html", Content);
  75.                 digitalWrite(gpio2_pin, HIGH);
  76.                 delay(1000);
  77.         });
  78.         server.on("/socket2Off", []() {
  79.                 server.send(200, "text/html", Content);
  80.                 digitalWrite(gpio2_pin, LOW);
  81.                 delay(1000);
  82.         });
  83.         server.on("/120", []() {
  84.                 inp = 120;
  85.                 Serial.println(inp);
  86.                 set_conent();
  87.                 server.send(200, "text/html", Content);
  88.                 delay(1000);
  89.         });
  90.         server.on("/980", []() {
  91.                 inp = 980;
  92.                 Serial.println(inp);
  93.                 set_conent();
  94.                 server.send(200, "text/html", Content);
  95.                 delay(1000);
  96.         });
  97.  
  98.         server.begin();
  99.         Serial.println("HTTP server started");
  100.  
  101. }
  102.  
  103. void loop(void) {
  104.         server.handleClient();
  105. }
A hozzászólás módosítva: Aug 9, 2017
(#) sanyisay válasza sanyisay hozzászólására (») Aug 9, 2017 /
 
Az meg így nézne ki.

  1. #include <ESP8266WiFi.h>
  2. #include <WiFiClient.h>
  3. #include <ESP8266WebServer.h>
  4.  
  5. // Replace with your network credentials
  6. const char* ssid = "-----";
  7. const char* password = "----------";
  8.  
  9. ESP8266WebServer server(80);
  10.  
  11. int gpio0_pin = 0;
  12. int gpio2_pin = 2;
  13. int inp = 0;
  14.  
  15. String Content(int _inp) {
  16.         String _Content = "<body bgcolor=\"#99ff99\" alink=\"#EE0000\" link=\"#0000EE\" text=\"#000000\"vlink=\"#551A8B\">";
  17.         _Content += "<title> ESP8266 test </title>";
  18.         _Content += "<H1>";
  19.         _Content += "<br>";
  20.         _Content += "</H1>";
  21.         _Content += "<H2>";
  22.         _Content += "value = ";
  23.         _Content += String(_inp);
  24.         _Content += "<br>";
  25.         _Content += "</H2>";
  26.  
  27.         _Content += "<p><a href=\"socket1On\"><button>ON</button></a> <a href=\"socket1Off\"><button>OFF</button></a></p>";
  28.         _Content += "<p><a href=\"socket2On\"><button>ON</button></a> <a href=\"socket2Off\"><button>OFF</button></a></p>";
  29.         _Content += "<p><a href=\"120\"><button>120</button></a> <a href=\"980\"><button>980</button></a></p>";
  30.         return _Content;
  31. }
  32.  
  33. void setup(void) {
  34.  
  35.         // preparing GPIOs
  36.         pinMode(gpio0_pin, OUTPUT);
  37.         digitalWrite(gpio0_pin, LOW);
  38.         pinMode(gpio2_pin, OUTPUT);
  39.         digitalWrite(gpio2_pin, LOW);
  40.  
  41.         delay(1000);
  42.         Serial.begin(115200);
  43.         WiFi.begin(ssid, password);
  44.         Serial.println("");
  45.  
  46.         // Wait for connection
  47.         while (WiFi.status() != WL_CONNECTED) {
  48.                 delay(500);
  49.                 Serial.print(".");
  50.         }
  51.         Serial.println("");
  52.         Serial.print("Connected to ");
  53.         Serial.println(ssid);
  54.         Serial.print("IP address: ");
  55.         Serial.println(WiFi.localIP());
  56.  
  57.         server.on("/", []() {
  58.                 server.send(200, "text/html", Content(inp));
  59.         });
  60.         server.on("/socket1On", []() {
  61.                 server.send(200, "text/html", Content(inp));
  62.                 digitalWrite(gpio0_pin, HIGH);
  63.                 delay(1000);
  64.         });
  65.         server.on("/socket1Off", []() {
  66.                 server.send(200, "text/html", Content(inp));
  67.                 digitalWrite(gpio0_pin, LOW);
  68.                 delay(1000);
  69.         });
  70.         server.on("/socket2On", []() {
  71.                 server.send(200, "text/html", Content(inp));
  72.                 digitalWrite(gpio2_pin, HIGH);
  73.                 delay(1000);
  74.         });
  75.         server.on("/socket2Off", []() {
  76.                 server.send(200, "text/html", Content(inp));
  77.                 digitalWrite(gpio2_pin, LOW);
  78.                 delay(1000);
  79.         });
  80.         server.on("/120", []() {
  81.                 inp = 120;
  82.                 Serial.println(inp);
  83.                 server.send(200, "text/html", Content(inp));
  84.                 delay(1000);
  85.         });
  86.         server.on("/980", []() {
  87.                 inp = 980;
  88.                 Serial.println(inp);
  89.                 server.send(200, "text/html", Content(inp));
  90.                 delay(1000);
  91.         });
  92.  
  93.         server.begin();
  94.         Serial.println("HTTP server started");
  95.  
  96. }
  97.  
  98. void loop(void) {
  99.         server.handleClient();
  100. }
(#) sanyisay válasza atus1981 hozzászólására (») Aug 9, 2017 /
 
Egyébként ez egy vacak módszer hiába szépíti az ember, mert egy pici változás miatt az egész oldalt rissíted. Javascript, és AJAX használatval később elég lesz csak a frissült értéket visszaküldeni az oldalnak.
(#) atus1981 válasza sanyisay hozzászólására (») Aug 9, 2017 /
 
Nagyszerűen működik, köszönöm a segítségedet!
Tanulmányozom, hogy megértsem.
A hozzászólás módosítva: Aug 9, 2017
(#) atus1981 hozzászólása Aug 9, 2017 /
 
Sziasztok!
Arra van valakinek ötlete, hogy miért csinál olyat az ESP-01, hogy amikor üzemel, akkor a számítógép IP címét átírja a routeren keresztül 192.168.4.2-re.
Kizárásos alapon gyanakszom az esp-re, mert amikor nincs üzemben, akkor nincs ilyen probléma.
Köszi.
(#) Bakman válasza atus1981 hozzászólására (») Aug 9, 2017 /
 
Ha a beső hálózaton kell a fix IP cím, akkor a router-ben állíts fix címet a számítógépnek (MAC cím alapján). Így azt a címet nem fogja kiosztani a router más eszköznek és meg sem változtatja.
(#) nedudgi válasza atus1981 hozzászólására (») Aug 9, 2017 /
 
A számítógép vezetékes és WiFi kapcsolattal is rendelkezik?
(#) atus1981 válasza Bakman hozzászólására (») Aug 9, 2017 /
 
A gép dhcp-vel kapja az IP-t, az esp-nek beállítottam fix IP-t...
a router a 192.168.0.xxx tartományban osztja az IP-t...
Viszont nem fogja a többi eszköznek is bezavarni az esp?
A hozzászólás módosítva: Aug 9, 2017
(#) atus1981 válasza nedudgi hozzászólására (») Aug 9, 2017 /
 
Csak wifi-n kapja a netet, viszont az lemaradt a fenti probléma vázolásából, hogy a router a 192.168.0.xxx tartományban osztja az IP-t...
(#) atus1981 válasza atus1981 hozzászólására (») Aug 9, 2017 /
 
Az a gond, hogy az alábbi kódban ha megadom az SSID-PASS párost, akkor pár perc múlva létrehozza ugyanazt a hálózatot az esp is és a PC oda csatlakozik...
Valamit az esp-n kellene állítani?

  1. #include <ESP8266WiFi.h>
  2. #include <WiFiClient.h>
  3. #include <ESP8266WebServer.h>
  4.  
  5. // Replace with your network credentials
  6. const char* ssid = "-----";
  7. const char* password = "----------";
  8.  
  9. ESP8266WebServer server(80);
  10.  
  11. int gpio0_pin = 0;
  12. int gpio2_pin = 2;
  13. int inp = 0;
  14.  
  15. String Content(int _inp) {
  16.         String _Content = "<body bgcolor=\"#99ff99\" alink=\"#EE0000\" link=\"#0000EE\" text=\"#000000\"vlink=\"#551A8B\">";
  17.         _Content += "<title> ESP8266 test </title>";
  18.         _Content += "<H1>";
  19.         _Content += "<br>";
  20.         _Content += "</H1>";
  21.         _Content += "<H2>";
  22.         _Content += "value = ";
  23.         _Content += String(_inp);
  24.         _Content += "<br>";
  25.         _Content += "</H2>";
  26.  
  27.         _Content += "<p><a href=\"socket1On\"><button>ON</button></a> <a href=\"socket1Off\"><button>OFF</button></a></p>";
  28.         _Content += "<p><a href=\"socket2On\"><button>ON</button></a> <a href=\"socket2Off\"><button>OFF</button></a></p>";
  29.         _Content += "<p><a href=\"120\"><button>120</button></a> <a href=\"980\"><button>980</button></a></p>";
  30.         return _Content;
  31. }
  32.  
  33. void setup(void) {
  34.  
  35.         // preparing GPIOs
  36.         pinMode(gpio0_pin, OUTPUT);
  37.         digitalWrite(gpio0_pin, LOW);
  38.         pinMode(gpio2_pin, OUTPUT);
  39.         digitalWrite(gpio2_pin, LOW);
  40.  
  41.         delay(1000);
  42.         Serial.begin(115200);
  43.         WiFi.begin(ssid, password);
  44.         Serial.println("");
  45.  
  46.         // Wait for connection
  47.         while (WiFi.status() != WL_CONNECTED) {
  48.                 delay(500);
  49.                 Serial.print(".");
  50.         }
  51.         Serial.println("");
  52.         Serial.print("Connected to ");
  53.         Serial.println(ssid);
  54.         Serial.print("IP address: ");
  55.         Serial.println(WiFi.localIP());
  56.  
  57.         server.on("/", []() {
  58.                 server.send(200, "text/html", Content(inp));
  59.         });
  60.         server.on("/socket1On", []() {
  61.                 server.send(200, "text/html", Content(inp));
  62.                 digitalWrite(gpio0_pin, HIGH);
  63.                 delay(1000);
  64.         });
  65.         server.on("/socket1Off", []() {
  66.                 server.send(200, "text/html", Content(inp));
  67.                 digitalWrite(gpio0_pin, LOW);
  68.                 delay(1000);
  69.         });
  70.         server.on("/socket2On", []() {
  71.                 server.send(200, "text/html", Content(inp));
  72.                 digitalWrite(gpio2_pin, HIGH);
  73.                 delay(1000);
  74.         });
  75.         server.on("/socket2Off", []() {
  76.                 server.send(200, "text/html", Content(inp));
  77.                 digitalWrite(gpio2_pin, LOW);
  78.                 delay(1000);
  79.         });
  80.         server.on("/120", []() {
  81.                 inp = 120;
  82.                 Serial.println(inp);
  83.                 server.send(200, "text/html", Content(inp));
  84.                 delay(1000);
  85.         });
  86.         server.on("/980", []() {
  87.                 inp = 980;
  88.                 Serial.println(inp);
  89.                 server.send(200, "text/html", Content(inp));
  90.                 delay(1000);
  91.         });
  92.  
  93.         server.begin();
  94.         Serial.println("HTTP server started");
  95.  
  96. }
  97.  
  98. void loop(void) {
  99.         server.handleClient();
  100. }
A hozzászólás módosítva: Aug 9, 2017
(#) sanyisay válasza atus1981 hozzászólására (») Aug 9, 2017 / 1
 
ehelyett:
  1. WiFi.begin(ssid, password);


ezt írd be:
  1. WiFi.softAPdisconnect(true);
  2.         WiFi.mode(WIFI_STA);
  3.         WiFi.setAutoConnect(true);
  4.         WiFi.setAutoReconnect(1);
  5.         WiFi.begin(ssid, password);
A hozzászólás módosítva: Aug 9, 2017
(#) atus1981 válasza sanyisay hozzászólására (») Aug 9, 2017 /
 
Itt szoftveresen van "kényszerítve", hogy ne AccessPoint legyen, Station mód beállítás, kapcsolat létrehozása a paraméterekkel?
Következő: »»   39 / 137
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem