Fórum témák

» Több friss téma
Lapozás: OK   89 / 137
(#) asrock hozzászólása Nov 27, 2019 / 1
 
Szerver használnék de még a loop rész is meg áll ha használom ezt a funkciót millis mögött is!
Tud valaki olyan funkciót ami lehetővé tenné több folyat használatát szerver mellet?

  1. #include <ESP8266WiFi.h>
  2.  
  3. const char* ssid = "xxxxxxxxxx";
  4. const char* password = "xxxxxxxxx";
  5. const int ledPin = 2;
  6. const int ledPin2 = D5;
  7. unsigned long check_bt;
  8. WiFiServer server(1337);
  9.  
  10. void printWiFiStatus();
  11.  
  12. void setup(void) {
  13.   Serial.begin(115200);
  14.   WiFi.begin(ssid, password);
  15.  
  16.   // Configure GPIO2 as OUTPUT.
  17.   pinMode(ledPin, OUTPUT);
  18. pinMode(ledPin2, OUTPUT);
  19.   // Start TCP server.
  20.   server.begin();
  21. }
  22.  
  23. void loop(void)
  24. {
  25. Serial.println("HELLO");
  26. LED_BLINK();
  27.  
  28. if (((signed long)(millis()-check_bt))>0) {
  29.    check_bt=millis() + 50;
  30. cliens0();  
  31. }
  32. }
  33.  
  34. void cliens0() {
  35.  
  36.   if (WiFi.status() != WL_CONNECTED) {
  37.     while (WiFi.status() != WL_CONNECTED) {
  38.       delay(500);
  39.     }
  40.     // Print the new IP to Serial.
  41.     printWiFiStatus();
  42.   }
  43.  
  44.   WiFiClient client = server.available();
  45.  
  46.   if (client) {
  47.     Serial.println("Client connected.");
  48.  
  49.     while (client.connected()) {
  50.       if (client.available()) {
  51.         char command = client.read();
  52.         if (command == 'H') {
  53.           digitalWrite(ledPin, HIGH);
  54.           client.println("LED is now on.");
  55.         }
  56.         else if (command == 'L') {
  57.           digitalWrite(ledPin, LOW);
  58.           client.println("LED is now off.");
  59.         }
  60.       }
  61.     }
  62.     Serial.println("Client disconnected.");
  63.     client.stop();
  64.   }
  65. }  
  66.  
  67.  
  68. void printWiFiStatus() {
  69.   Serial.println("");
  70.   Serial.print("Connected to ");
  71.   Serial.println(ssid);
  72.   Serial.print("IP address: ");
  73.   Serial.println(WiFi.localIP());
  74. }
  75. void LED_BLINK() {
  76.  
  77.   Serial.println("HELLO2");
  78.  
  79.   if((millis() % 1000) > 500)
  80.   {
  81. digitalWrite(ledPin2, HIGH);
  82. } else {
  83. digitalWrite(ledPin2, LOW);
  84. }  
  85. }
(#) Firefighter1 hozzászólása Nov 27, 2019 /
 
Szép estét!

Ötleteket szeretnék kérni program irással kapcsolatban.
Egy 8 kimenetes kapcsoló szerepét játsza a NodeMCU...
A 8 kimeneten LED-ek vannak amik egy táblát világitanakmeg ( villog/ futófény / oda-vissza villog) stb stb
Namost szeretnék egy olyat megoldani hogy a NodeMCU generál magának egy IP-címet és megjelenít egy "weblapot" amin lenne (például) 3 gomb és amelyiket megnyomom akkor annak megfelelő (villogási minta) program fut...
(#) mezjoc hozzászólása Nov 27, 2019 /
 
Sziasztok!
HESTORE-ban vásároltam egy ESP8266-RELMOD-AI típusú 5V WiFi relé modult. AT - parancsokkal kiválóan működik. EasyTCP_20 android alkalmazással - mobiltelefonról - a relé Ki/Be kapcsolható. Azonban a tápfeszültség (+5V) megszűnése esetén (pl. áramszünet) újra kell programozni a modult. Arduino IDE segítségével programot kellene írnom, de sajnos nem sikerült. Egy *.ino fájlra lenne szükségem, ami az AT - parancsok logikája mentén vezérli az ESP-01 modult. Megpróbálom bemásolni az eddigi próbálkozásomat (amire nem vagyok büszke )
(#) dani555 hozzászólása Nov 29, 2019 /
 
Sziasztok.

A problémám a következő lenne: Van egy felprogramozott NodeMcu-m Arduino IDE-vel, két kimenetet kapcsolgat. Hozzá egy webszerver, amit html szinten meg is írtam. Az otthoni wifire kapcsolódik, működik is rendben, viszont nekem távolabbról is működtetnem kellene újabban, például mobiltelefonról az utcáról, stb... Tenda routerem van, és tudom, hogy az eszköz kódjához nem kell hozzányúlnom, hanem a Tenda beállitásaiban (192.xxx.....) kell valamit variálnom, hogy globálisan is látszódjon az eszközöm. Tudnátok ebben segíteni esetleg, hogy pontosabban mit kell csinálnom?

Minden építő jellegű választ előre is nagyon szépen köszönök!
(#) iamrob válasza dani555 hozzászólására (») Nov 29, 2019 / 1
 
Szia!
Szerintem visszaolvasva is találsz ehhez infókat... Az első kérdés, hogy a szolgáltató felől statikus vagy változó IP címet kapsz. Ha fix az IP-d, akkor csak a routerben kell egy portot nyitnod a nodemcu felé. Ha változik az IP címed, akkor regisztrálnod kell egy olyan ddns címet, amit a router képes kezelni (=frissíteni). Esetleg, a nodemcu programját kiegészíteni egy ddns klienssel, biztosan lehet találni hozzá ilyet is.
A portnyitást a router beállításai között találod meg, ez sajnos ahány gyártó annyiféle megoldás és még elnevezésükben sem azonos mind.
(#) nedudgi válasza iamrob hozzászólására (») Nov 29, 2019 /
 
Egyes szolgáltatóknál még külön engedélyeztetni kell a hozzáférést kívülről.
(#) iamrob válasza nedudgi hozzászólására (») Nov 29, 2019 / 1
 
Igaz, valóban, ha NAT-olt címet adnak, akkor a legelső, hogy náluk kell kérni egy publikus IP-t.
dani555: Ezt tudod ellenőrizni a whatismyip.com oldalon.
(#) dani555 válasza iamrob hozzászólására (») Nov 29, 2019 /
 
Köszönöm a választ. nekem dinamikus az IP címem ez biztos. Akkor most kezdésnek a noip.com oldalon hozzak létre egy valami.ddns.net címet?
(#) iamrob válasza dani555 hozzászólására (») Nov 29, 2019 / 1
 
Így van. Utána az ott megadott adatokat állítsd be a routerben. Ettől kezdve a választott néven a saját hálózatodat már el tudod érni, de ahhoz, hogy a router át is engedje a kérést nyitnod kell egy portot a nodemcu felé. Ezt port forward, virtual server vagy valami hasonló néven találod a router configjában.
(#) csiszy hozzászólása Nov 29, 2019 /
 
Üdv,

Adott egy ESP 12E modul, minden megfelelően hozzáforrasztva, ahogy kell, push és pull ellenállásokkal. A programozás/futtatás is megy, ráégettem egy NodeMCU firmware-t, ami egészen addig működött míg egy DHT szenzort rá nem kötöttem és feltöltöttem egy példa szoftvert a szenzor értékek kiolvasására. Azóta az ESP megbolondult: melegszik mint a fene (a VCC és GND lábak között 0.4A mérhető), flash módba át tudok lépni, de új firmware-t sem enged rátölteni, mert folyton timeout-ot dob.

Valakinek találkozott már hasonlóval? Van erre valamilyen kerülő megoldás vagy ennek a chipnek kuka, és próbálkozzak egy másikkal?
(#) pipi válasza csiszy hozzászólására (») Nov 29, 2019 /
 
Bontsd le róla minden cuccod, úgy próbáld ki.
(#) Johnycorp válasza csiszy hozzászólására (») Nov 30, 2019 /
 
Szia.

Valamelyik lába nem kapott nagyobb feszültséget, mint 3,3V?
Például ha a DHT szenzort 5V-ról tápláltad.
(#) asrock válasza dani555 hozzászólására (») Nov 30, 2019 / 1
 
Én ESPEasy használom probáld ki jó konfigurálható 512..1M flashez is van firmware lent csatoltam!

nodemcu-flasher feltöltheted!

Relay tutorial
A hozzászólás módosítva: Nov 30, 2019
(#) dani555 válasza iamrob hozzászólására (») Nov 30, 2019 /
 
Köszönöm szépen! Az a kérdés, hogy a port értéke ilyenkor tökmindegy? Mármint, nullától hatvan valahányezerig beírok egy random számot, ami nem kitüntetett, (pl. 80 a html, az asszem kitüntetett) és utána akkor az úgy jó lesz? Meg ha jól értem, akkor a port kezdete és vége ugyanaz a szám legyen...? (Két mezö van megadva, tol-ig)
Nálam port forwardingnak hívják, viszont előtte a DHCP client listben be kell az esp 198.xxx.x.xxx címét és a MAC azonosítoját static assigment-tel rögzíteni. Eddig jól mondom? És a routerbeállításokban a DDNS-nél kell piszkálni valamit?

És a noip.com kiadott nekem regeléskor két portot, amit engedélyez, egyik a 80as, a másik 400 valamennyi, tudtommal nem dedikált. Azokkal mit kéne tennem?

Köszönöm előre is a segítséget!
(#) dani555 válasza asrock hozzászólására (») Nov 30, 2019 /
 
Köszönöm szépen! Este, ha gépnél leszek megnyitom!
(#) iamrob válasza dani555 hozzászólására (») Dec 2, 2019 / 1
 
A port majdnem mindegy, illetve célszerű 1024 fölé menni, mert alatta elég sok szabvány szerint kiosztott port van használatban, amelyek közül néhány azért kell a megfelelően működő net eléréshez. Én 5-jegyűt szoktam használni, abból baj nem lesz, ha nem üzemelteted szerverek sorát a belső hálón.
A tól-ig legyen ugyanaz, ezen kívül szokott lenni külső-belső. A fent említett értéket a külső porthoz írd, a belső célszerűen legyen 80-as. Ha nincs külön belső, akkor portfordítást nem végez a router, ekkor viszont a nodemcu programban a webszerver portját is át kell állítani.
A MAC-IP összerendelést, ahogy írtad, meg kell oldani.
A DDNS adatokat a noip account szerint kell beállítanod, a router csak így tud címet frissíteni. A noip portokat szerintem a noip klienshez kaptad, azokra nem lesz szükség, ahogy a kliensre magára sem.
(#) usane válasza iamrob hozzászólására (») Dec 2, 2019 /
 
A BLYNK hogy oldja ezt meg? Ahhoz nem kell semmit állítani routeren.
(#) iamrob válasza usane hozzászólására (») Dec 2, 2019 / 1
 
Ez jó kérdés, nem ismerem a blynket. Ha net felől is képes minden beállítás nélkül kommunikálni, akkor feltételezem, valami kliens-szerver módon csak. Ekkor vagy a kliens upnp-vel nyit befelé portot a routeren vagy az app először csak egy szervernek küldi az adatokat, ahonnan a kliens már kifelé menő kérésként tudja beolvasni...
Ha csak simán beenged a router egy bármilyen bejövő kérést, akkor az nem túl jó dolog... De ez esetben is kérdés, hogy honnan tudná a router, hogy merre küldje tovább.
A kommunikáció megértéséhez ismerni kellene a teljes rendszer felépítését. Egyáltalán milyen adat szükséges az appnak ahhoz, hogy "megtalálja" a vezérelt párját?
(#) usane válasza iamrob hozzászólására (») Dec 2, 2019 /
 
Még nem néztem bele a BLYNK könyvtárba, de az app egy autentikációs kódot küld amit az ESP-be be kell írni , azon kívül, hogy mit nyit meg a routeren, vagy hogy megy át azt még nem tudom. Viszont valószínű a szerver, mert a BLYNK-et csak accountal lehet használni.

Szerk: Még nem teszteltem akkor is működik-e tovább ha törlöm az accot.
A hozzászólás módosítva: Dec 2, 2019
(#) usane válasza usane hozzászólására (») Dec 2, 2019 /
 
Belekukucskáltam. A blynk-cloud.com-ra megy, a 80-as porton, úgyhogy igazad volt. Cloud-szerver.
(#) usane hozzászólása Dec 2, 2019 /
 
Nekem is lenne egy kérdésem. Ha network analizerrel ránézek a hálózatra akkor az ESP-t valami ESP_XXXXXX azonosítóval mutatja. Ezt át lehet valahogy írni?
(#) Lamprologus hozzászólása Dec 2, 2019 /
 
Hozzá jutottam egy ESP32-CAM modulhoz... Hogyan tudom életre kelteni?
(#) pipi válasza usane hozzászólására (») Dec 2, 2019 /
 
Attól függ milyen szoftver fut rajta....
Ha arduinós, akkor a forrásszövegben megtalálod...
Ha AT parancsos, vagy LUA, akkor nem tudom, meg kell nézni a doksijátt
(#) proba válasza usane hozzászólására (») Dec 2, 2019 /
 
Át. Ha van forráskódod.Bővebben: Link
A hozzászólás módosítva: Dec 2, 2019
(#) usane válasza proba hozzászólására (») Dec 2, 2019 /
 
Arduinos.
Köszönöm
(#) dani555 válasza iamrob hozzászólására (») Dec 2, 2019 /
 
Szia!

Eljutottam odáig, hogy regisztráltam, és ennyi, semmit nem állítgattam a noip.com oldalon. DDNS beállítást megadtam, Arduino kódban a portot (mivel start és stop port van), ezért átírtam 11111-re. Namost, ugye kreáltam egy valami.ddns.net címet. Ott mit kell beállítani? Ha megnyitom ezt az oldalt, akkor a központi Telekom routerrel kell bejelentkezni. Mármint a router alján levő jelszó és felhasználónévvel. Van egy másik, wifit adó router is, a NodeMCU ahhoz csatlakozik. Eddig annyit értem el, hogy távolról továbbra sem lehet csatlakozni, (ezt úgy teszteltem, hogy mobilon wifi kinyom, mobiladat bekapcsol), csak annyi változott, hogy a 192.xxx.x.xxx helyett a 192.xxx.x.xxx:11111 alatt érem el a NodeMCU "felületét", és csakis wifiről, lokálisan.

Úgy érzem, közel járok már a megoldáshoz, de még nem az igazi
Merre menjek tovább? Köszönöm előre is a segítséget!
(#) iamrob válasza dani555 hozzászólására (») Dec 2, 2019 / 1
 
Szia!
Na, abban nem vagyok biztos, hogy a T saját routerén létezik egyáltalán noip-s (vagy bármilyen más) ddns beállító felület. Első körben próbáld meg a belső wifi routeren beállítani a ddns-t. Szerintem nem a kliens router külső IP-jét fogja beregisztrálni, hanem azt az IP-t, ahonnan a kérés jött, tehát van esély rá, hogy így is működik.
Ezt a noip.com-on a profilodban tudod ellenőrizni. Egy routeren kézzel indított ddns frissítés után ránézel a noip.com-ra, hogy milyen IP-ről történt a kérés/frissítés. Ha itt a saját publikus IP-det látod - és a T-s router port forward is be van állítva -, akkor a valami.ddns.net:11111 már a saját nodemcu-dhoz fog befutni.
Ja, és a belső routert ne routerként használd, hanem AP-ként, mert akkor azon sem fog átjutni a bejövő kérés. Ehhez elég, ha a belső hálózat az egyik LAN portra megy és nem a WAN-ra.
(#) dani555 válasza iamrob hozzászólására (») Dec 3, 2019 /
 
Szia!

Ez a WAN LAN átkötés mennyire valid? Mármint megtettem, erre a Wifit adó router (alrouter) home címe ( nem a T router, hanem amit átkötöttem) nem jön be laptopról (tehát Wifiről) (192.xxx.x.x). Kell rajta valamit állítani még? A T routert nem kell újraindítani? Az egész NodeMCu-val való tevékenykedés során nem indítottam újra. Itt gondolom, és a másiknál is, nem kell hard reset, azaz a reset lyukba benyúlni, vagy a home címen kényszeríteni. elég lehet kidugni bedugni.

Más: A A NodeMcu programjában eredetileg nem a T router ssid-jét és passwort-jét adtam meg, hanem a másikét. Ez gonolom rendben van ugye?

A T router egy ZTE router, ritka fura felülettel. Abban csak a PORT FORWARDING-ot kell piszkálni, vagy azzal kapcsolatban mást is? Vagy úgy egyáltalán mást is be kell állítani? illetve port forwardingnál kér ilyeneket, hogy: WAN Host IP Range (tól-ig), MAC Mapping on/off, ennek alternatívája, ha off, akkor: LAN Host IP Address, WAN Port Range (tól-ig), LAN Host Port Range(tól-ig). Van amire van ötletem, hogy mita adjak meg, pl a második nyugodtam maradhat off, és akkor az alrouter-ben szereplő 192.xxx.x.xxx szerepeljen, a Wan port range, 11111-11111 legyen, de a többire nincsen ötletem.

Idézet:
„Na, abban nem vagyok biztos, hogy a T saját routerén létezik egyáltalán noip-s (vagy bármilyen más) ddns beállító felület. Első körben próbáld meg a belső wifi routeren beállítani a ddns-t.”
Pedig mikor megnyitottam a T routert, a valami.ddns.net noip-os konfiguráció során, akkor már önmagától beállította. Igazából ha beütöm a keresőbe ezt az általam kreált címet, akkor eleve a T router bejelentkezési felületére navigál, de gondolom ennek így kell lennie.

Idézet:
„kliens router”
Gondolom ez az általam alrouternek nevezett router.

Idézet:
„Egy routeren kézzel indított ddns frissítés után”
Gondolom érdemes mindkettőt frissíteni akkor már.

Köszönöm nagyon szépen előre is a segítséget!
A hozzászólás módosítva: Dec 3, 2019
(#) iamrob válasza dani555 hozzászólására (») Dec 3, 2019 / 1
 
Kliens routerként úgy általában hivatkoztam arra a routerra, amelyik a noip szerver felé frissít.

A WAN helyett LAN bekötés csak annyit jelent, hogy a router nem route-ol csak AP-ként funkcionál, ez annyival egyszerűbbé teszi a hálózat felépítését és használatát, hogy nem osztja külön tartományra a belső hálót. Megoldható úgy is, hogy route-ol, de belső hálón nem nagyon van előnye, viszont bonyolítja a konfigot.
Ehhez az alrouter LAN hálózatát kell a T-s router belső hálózatával azonosra beállítani, persze egy külön IP címmel, a DHCP-t célszerű tiltani. Ekkor persze a T-s routerben kell az ESP MAC-IP összerendelését megoldani. Nem túl elegeáns megoldás, de ha nem megy másként, akkor a két router DHCP szerverét azonos hálózatra, de külön IP tartományokra kell beállítani. A célnak valószínűleg megfelel, bár nem feltétlenül lesz üzembiztos a megfelelő IP kiosztása.

Hard reset nem szükséges, ha olyan beállítást változtatsz, ami router resetet igényel, ezt a folyamat végén magától meg szokta tenni.

Az ESP-nek megfelel az alrouter. Ha AP-ként üzemel, akkor ugyanannak a hálózatnak a része lesz, ahol a T router oszt netet, ha routerként működik, akkor dupla cím- és portfordítás szükséges. Erre írtam, hogy fölösleges bonyolítás. Ha számodra valami miatt szükségszerű a dupla route-olás, akkor persze maradhat.

A noip és a port forward beállító felületről legjobb lenne egy screenshot.
WAN Host IP Range maradjon üres / LAN Host IP legyen az ESP dedikált IP címe / WAN Port Range 11111 (vagy 11111-11111, ha mindenképpen range kell) / LAN Host Port Range célszerű 80 (vagy 80-80), de ha az ESP már át van állítva, akkor maradhat 11111 (vagy 11111-11111).

Ha a valami.ddns.net egyből a T-s routerba lép be, akkor ott valami nincs jól.
Legjobb lenne egy "ping valami.ddns.net" futtatása egy cmd ablakban. Ez - a ping sikerességétől függetlenül - visszaad egy IP címet, már ha megtalálja a domain nevet.
Ha ez a belső IP tartományból van, akkor nincs rendben a konfig, ha a külső cím, akkor a konfig elvileg okés. Ebben az esetben viszont a T-s router a nagyon gáz, mert külső kérést elfogadva a net felől beenged a konfig felületbe. Reméljük, ez nem így van... - Bár ez az ESP elérést nem korlátozza, tehát itt most irreleváns.

A ddns kézi frissítést úgy értettem, hogy a noip beállítása után a felületen lévő frissítés gombbal manuálisan érdemes rögtön egy ddns név-cím frissítést elindítani. Ezt már csak azért is, mert ezzel a router is rögtön teszteli a helyes működést.
(#) usane hozzászólása Dec 6, 2019 /
 
Üdv újra!
Ezúttal az lenne a kérdésem, hogy javascript megy-e az ESP-n.
Elvileg a kliens oldalon a böngésző futtatja, tehát az ESP-nek sok köze nincs hozzá, a kérdés inkább a felületre vonatkozik. Arduino IDE-vel programozom, nem tudom igényel-e valami extra könyvtárat vagy az ESP webserver könyvtára lekezeli-e?
Következő: »»   89 / 137
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.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