NodeMcu esp8266

Všetko čo sa týka mikropočítačov + Sekcia Arduino

Moderátori: psichac, Moderátori

21stano21
Stály člen
Stály člen
Príspevky: 239
Dátum registrácie: 05 Jan 2013, 17:48
Bydlisko: ZM

NodeMcu esp8266

Príspevok od používateľa 21stano21 » 10 Sep 2020, 13:32

Zdravím vás,

mám chvíľu čas a tak som sa chcel trochu zabaviť z doskou NodeMcu z ESP8266. Kompilácia a nahrávanie programu sa zdá že funguje správne (overené programom blink). Problém nastane pri pokuse vytvoriť web server pričom sa naň nie je možné pripojiť(nie je ho vidieť medzi wifi zariadeniami) ale program zjavne beží nakoľko vypisuje správne znaky do konzoly. Firmware som už prepáliť skúšal, nemáte nejaké nápady?
0
The power of Linux.

pocitujlasku
Ultimate člen
Ultimate člen
Príspevky: 6203
Dátum registrácie: 20 Júl 2007, 00:00
Vek: 41

Re: NodeMcu esp8266

Príspevok od používateľa pocitujlasku » 10 Sep 2020, 13:55

no asi ako prve: v com to programujes? micropython, lua, arduino, alebo prikazmi cez seriovy port.
Dalsia: mas nastavene wifi? zapnute v tom module? spravne nastavene ssid?
a posledne: dost by pomohlo dat sem aspon cast zdrojaku, idealnu tu, kde nastavujes wifi
0
Jedním z největších projevů nedůvěry v Boha je hromosvod na kostele.

21stano21
Stály člen
Stály člen
Príspevky: 239
Dátum registrácie: 05 Jan 2013, 17:48
Bydlisko: ZM

Re: NodeMcu esp8266

Príspevok od používateľa 21stano21 » 10 Sep 2020, 16:31

Tak programujem to v Arduino IDE, wifi som nejako extra nenastavoval okrem príkazov v kóde,...zdroják pripájam nižšie, jedná so o príklad stiahnutý z netu na overenie funkčnosti.

Kód: Vybrať všetko

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WiFiMulti.h>
#include <ESP8266mDNS.h>
#include <ESP8266WebServer.h>

ESP8266WiFiMulti wifiMulti;     // Create an instance of the ESP8266WiFiMulti class, called 'wifiMulti'

ESP8266WebServer server(80);    // Create a webserver object that listens for HTTP request on port 80

const int led = 2;

void handleRoot();              // function prototypes for HTTP handlers
void handleLED();
void handleNotFound();

void setup(void){
  Serial.begin(115200);         // Start the Serial communication to send messages to the computer
  delay(10);
  Serial.println('\n');

  pinMode(led, OUTPUT);

  wifiMulti.addAP("auto_na_dialkove", "12345678");   // add Wi-Fi networks you want to connect to
 
  Serial.println("Connecting ...");
  int i = 0;
  while (wifiMulti.run() != WL_CONNECTED) { // Wait for the Wi-Fi to connect: scan for Wi-Fi networks, and connect to the strongest of the networks above
    delay(250);
    Serial.print('.');
  }
  Serial.println('\n');
  Serial.print("Connected to ");
  Serial.println(WiFi.SSID());              // Tell us what network we're connected to
  Serial.print("IP address:\t");
  Serial.println(WiFi.localIP());           // Send the IP address of the ESP8266 to the computer

  if (MDNS.begin("esp8266")) {              // Start the mDNS responder for esp8266.local
    Serial.println("mDNS responder started");
  } else {
    Serial.println("Error setting up MDNS responder!");
  }

  server.on("/", HTTP_GET, handleRoot);     // Call the 'handleRoot' function when a client requests URI "/"
  server.on("/LED", HTTP_POST, handleLED);  // Call the 'handleLED' function when a POST request is made to URI "/LED"
  server.onNotFound(handleNotFound);        // When a client requests an unknown URI (i.e. something other than "/"), call function "handleNotFound"

  server.begin();                           // Actually start the server
  Serial.println("HTTP server started");
}

void loop(void){
  server.handleClient();                    // Listen for HTTP requests from clients
}

void handleRoot() {                         // When URI / is requested, send a web page with a button to toggle the LED
  server.send(200, "text/html", "<form action=\"/LED\" method=\"POST\"><input type=\"submit\" value=\"Toggle LED\"></form>");
}

void handleLED() {                          // If a POST request is made to URI /LED
  digitalWrite(led,!digitalRead(led));      // Change the state of the LED
  server.sendHeader("Location","/");        // Add a header to respond with a new location for the browser to go to the home page again
  server.send(303);                         // Send it back to the browser with an HTTP status 303 (See Other) to redirect
}

void handleNotFound(){
  server.send(404, "text/plain", "404: Not found"); // Send HTTP status 404 (Not Found) when there's no handler for the URI in the request
}   
Edit: ešte dodám že program ostane visieť v tom while-e kde sa čaká na pripojenie klienta čo je správne.
0
The power of Linux.

21stano21
Stály člen
Stály člen
Príspevky: 239
Dátum registrácie: 05 Jan 2013, 17:48
Bydlisko: ZM

Re: NodeMcu esp8266

Príspevok od používateľa 21stano21 » 10 Sep 2020, 19:20

Zrejme je problém v tom že esp musí byť pripojené do existujúcej siete...neviem prečo som si myslel že vytvorí zároveň aj wifi-hotspot....zajtra vyskúšam... :?
0
The power of Linux.

pocitujlasku
Ultimate člen
Ultimate člen
Príspevky: 6203
Dátum registrácie: 20 Júl 2007, 00:00
Vek: 41

Re: NodeMcu esp8266

Príspevok od používateľa pocitujlasku » 10 Sep 2020, 22:09

on na ziadneho klienta necaka, on caka kedy sa pripoji do siete.
netusim co je ten wifi multi nezmysel zac, ale pri standardnych knizniciach nie je problem vytvorit cisto len AP, alebo a to pouzivam ja, vytvorit ap+client a ked sa proste nepodari pripojit do existujucej siete, tak spusti svoje ap. pre info, v rezime ap ma ipcku 192.168.4.1 - nie vzdy funguje nazov
Ps: na overenie funkcnosti sa pouzivaju priklady priamo z arduino editora, lebo na internete sa povaluje casto bordel ktory nefunguje.
0
Jedním z největších projevů nedůvěry v Boha je hromosvod na kostele.

Sahasrar
Stály člen
Stály člen
Príspevky: 233
Dátum registrácie: 16 Máj 2015, 00:05
Bydlisko: TN

Re: NodeMcu esp8266

Príspevok od používateľa Sahasrar » 10 Sep 2020, 22:15

Ak som správne pohopil tak ty sa chces pripojiť so zariadením priamo na ESP teda ako peer-to-peer resp. ad-hoc... Dá sa to, len možno by si mohol rozviesť svoj zámer aby sme ti vedeli špecificky poradiť. Na nete je kvantum tutorialov o ESP8266 použitých dokonca aj na záchod :D ... Doslova! Pozri sem tu riešia prepojenie troch ESP kde jeden je master (web server) a dvaja slave
0

maskrtnik01
Ultimate člen
Ultimate člen
Príspevky: 2564
Dátum registrácie: 20 Júl 2010, 00:00
Bydlisko: okolie KE
Vek: 27

Re: NodeMcu esp8266

Príspevok od používateľa maskrtnik01 » 11 Sep 2020, 10:33

Neodpustím si trošku OT. Raz som videl taký obrázkový vtip, človek tam prezentoval nové wc, že automaticky zmeria veľkosť, a odošle na sociálne siete. To existuje taký blázon, čo toto reálne aj vytvorí? Ja už len čumím, kde sme sa to dostali.
0

pocitujlasku
Ultimate člen
Ultimate člen
Príspevky: 6203
Dátum registrácie: 20 Júl 2007, 00:00
Vek: 41

Re: NodeMcu esp8266

Príspevok od používateľa pocitujlasku » 11 Sep 2020, 13:05

maskrtnik: asi si nepracoval vo firme, ktora ma zachody na konci dlhej chodby a kolegov, ktori su tam schopni presediet aj 30-40 minut. a ty chodis ako blb kazdu chvilu kontrolovat ci je este zachod obsadeny, alebo uz tam mozes ist.

-- Spojený príspevok 11 Sep 2020, 13:14 --

Pisane naslepo, skus toto, ma to vytvorit wifi s nazvom NodeMCU a ked si otvoris v prehliadaci 192.168.4.1 tak ti vypise It works

Kód: Vybrať všetko

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>

const char* ssid = "NodeMCU";
const char* password = "12345678";

ESP8266WebServer server(80);

void setup() {
  Serial.begin(115200);

  WiFi.softAP(ssid, password);
  delay(100);
  
  server.on("/", handle_OnConnect);  
  server.begin();
  Serial.println("HTTP server started");
}
void loop() {
  server.handleClient();
}

void handle_OnConnect() {
  Serial.println("Connect");
  server.send(200, "text/html", "It works"); 
}
0
Jedním z největších projevů nedůvěry v Boha je hromosvod na kostele.

21stano21
Stály člen
Stály člen
Príspevky: 239
Dátum registrácie: 05 Jan 2013, 17:48
Bydlisko: ZM

Re: NodeMcu esp8266

Príspevok od používateľa 21stano21 » 11 Sep 2020, 18:45

Momentálne nejde o žiadnu konkrétnu aplikáciu,...Tak nakoniec bol problém v AP...Najprv som to rozbehal stým prvým príkladom tak že na PC som mal AP na ESP server a cez mobil som sa pripojil na server a potom priamo na ESP bolo AP aj server podobne ako ste uviedli vy.... všetko ok :agree:
0
The power of Linux.

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok