Esp8266 nodemcu веб сервер

Тема в разделе "ESP8266, ESP32", создана пользователем serega4789, 14 сен 2019.

  1. serega4789

    serega4789 Нерд

    Привет всем ! Помогите пожалуйста с проблемой приключения сервера!!!
    http://randomnerdtutorials.com с этой статьи брал пример работы сервера
    https://randomnerdtutorials.com/esp8266-web-server/ моргание светодиодом с веб страницы , и ещё вот от сюда пример скетч
    Проект сделал электросчетчик pzem004
    Работало все на работе , домой приехал параметры своей сети влил и перестала грузиться веб страница проекта

    Вот такая страничка
     

    Вложения:

    Последнее редактирование модератором: 14 сен 2019
  2. NikitOS

    NikitOS Король шутов Администратор

    Hi!
    Подключение к сети происходит?
    У устройства мог смениться IP-адрес, проверьте полученный адрес и попробуйте перейти по нему
     
  3. serega4789

    serega4789 Нерд

    Архив из видеоурка в Ютубе
     
  4. serega4789

    serega4789 Нерд

    Да в пор сериал выводится сообщения и ip

    Думал что параметры сети косячные но ftp сервер программа прогружается и входит в файловую систему
     
  5. NikitOS

    NikitOS Король шутов Администратор

    А если это код взять?
    Код (C++):
    #include <ESP8266WiFi.h>                              //Библиотека для работы с WiFi
    #include <WiFiClient.h>                               //Библиотека для работы с WiFi клиентами
    #include <ESP8266WebServer.h>                         //Библиотека для создания Web сервера на esp8266
    #include <ESP8266mDNS.h>                              //Библиотека для работы с mDNS

    int relay = D4;                                       //Пин реле

    bool PowerState  = false;                             //Переменная для хранения состояния реле

    String page;                                          //HTML код передаваемый клиенту

    const char* ssid = "ssid";                            //Имя вашей сети WiFi
    const char* password = "password";                    //Пароль вашей сети WiFi

    ESP8266WebServer server(80);                          //Инициализация веб сервера

    void setup() {
      Serial.begin(115200);                               //Инициализация Serial порта

      pinMode(relay , OUTPUT);                            //Пин реле как выход
      digitalWrite(relay , PowerState);                   //Изменяем состояние пина

      WiFi.mode(WIFI_AP_STA);                             //Режим WiFi
      Wifi.begin(ssid, password);                         //Подключение к WiFi

      if(WiFi.waitForConnectResult() == WL_CONNECTED){}   //Ждем пока не подключимся к WiFi
      MDNS.begin("IoT-3", WiFi.localIP());                //Запуск MDNS

      Serial.print(WiFi.localIP());                       //Пишем в Serial порт IP адрес для доступа

      server.on ( "/", HTTP_handleRoot);                  //Если запрошен корень сервера отдаем код страницы
      server.begin();                                     //Запуск сервера
    }

    void loop() {
      server.handleClient();                              //Ждем клиента...          
      delay(50);
    }



    void HTTP_handleRoot(void) {                          //Функция запускается при запросе корня сервера
      bool state = false;                                 //Статус переданный из браузера

      if( server.hasArg("state") ){                       //Если в запросе к серверу есть аргумент "state"...
         if(strncmp(server.arg("state").c_str(),"1",1) == 0)state = true;}else {state = PowerState;}   //Изменяем состояние переменной в зависимости от переданного аргумента
    page =
    "<html>\
     <head>\
       <meta charset=\"utf-8\" />\      
        <title>МегаВольт / IoT</title>\      /*Заголовок сайта*/
      </head>\
     <body>\
    "
    ;
      if(state){                                          //Если реле включено...
          page+="\                                    
        <h2>Состояние: Включено</br></h2>\
       <a href=\"/?state=0\"><button>Выключить</button></a>\
       "
    ;
      }

      else {                                              //Иначе...
          page+="\
       <h2>Состояние: Выключено</br><h2>\
       <a href=\"/?state=1\"><button>Включить</button></a>\
       "
    ;        
      }

       page+= "\
     </body>\
    </html>"
    ;

       server.send (200, "text/html", page);              //Отправляем код клиенту
       if(state != PowerState){                           //Если статус которые получили от клиента не равен текущему статусу
          PowerState = state;                             //Меняем статус
          digitalWrite(relay , PowerState);               //Переключаем реле
       }
    }
    Реле на D4
     
  6. serega4789

    serega4789 Нерд

    Главное что с этими данными все работало дома
    Может порт веб сервера поменять я даже не знаю что делать ,купился на эти вайфай приблуды теперь танец с бубнами)))
     
  7. serega4789

    serega4789 Нерд

    Спасибо за ответ завтра проверю ,сейчас в дороге)))

    Похож на мой код только меньше
    Ещё есть такой глюк загружал программу power meter с точкой доступа power metr теперь при любых скетчах подобных он прописывается в списке устройств точка доступа
    http://samopal.pro/pzem004t/
     
    Последнее редактирование модератором: 15 сен 2019
  8. serega4789

    serega4789 Нерд

    Мне бы точку доступа организовать без лишних приключений чтобы с телефона без интернета показания счетчика смотреть он на столбе будет висеть , через веб страничку, пока хоть это запустить
     
  9. NikitOS

    NikitOS Король шутов Администратор

  10. serega4789

    serega4789 Нерд

    Окай спасибо изучаю))
     
  11. NikitOS

    NikitOS Король шутов Администратор

    @serega4789, я так понимаю объявление я сам для себя разместил?
     
    serega4789 и Daniil нравится это.
  12. serega4789

    serega4789 Нерд

    1:07:45.830 -> wdt reset
    21:07:45.830 -> load 0x4010f000, len 1384, room 16
    21:07:45.864 -> tail 8
    21:07:45.864 -> chksum 0x2d
    21:07:45.864 -> csum 0x2d
    21:07:45.864 -> v8b899c12
    21:07:45.864 -> ~ld
     
  13. serega4789

    serega4789 Нерд

    понял
    Код (C++):
    /*
    * Hello world web server
    * circuits4you.com
    */

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

    //SSID and Password to your ESP Access Point
    const char* ssid = "ESPWebServer";
    const char* password = "12345678";

    ESP8266WebServer server(80); //Server on port 80

    //==============================================================
    // This rutine is exicuted when you open its IP in browser
    //==============================================================
    void handleRoot() {
    server.send(200, "text/plain", "hello from esp8266!");
    }

    //===============================================================
    // SETUP
    //===============================================================
    void setup(void){
    Serial.begin(9600);
    Serial.println("");
    WiFi.mode(WIFI_AP); //Only Access point
    WiFi.softAP(ssid, password); //Start HOTspot removing password will disable security

    IPAddress myIP = WiFi.softAPIP(); //Get IP address
    Serial.print("HotSpt IP:");
    Serial.println(myIP);

    server.on("/", handleRoot); //Which routine to handle at root location

    server.begin(); //Start server
    Serial.println("HTTP server started");
    }
    //===============================================================
    // LOOP
    //===============================================================
    void loop(void){
    server.handleClient(); //Handle client requests
    }
     
  14. serega4789

    serega4789 Нерд

    А были уже случаи с nodemcu esp8266 что после прошивки они пересиают работать и постаянно перезагружаютя, ответы из сериал порта выше
     
  15. NikitOS

    NikitOS Король шутов Администратор

    А в гугле забанили? (правило 5.3, не спорьте)
     
  16. serega4789

    serega4789 Нерд

    я не нашел подобной проблемы у меня контроллер прошивается без ошибок но не стартует постоянно перезагружается
     
  17. serega4789

    serega4789 Нерд

  18. NikitOS

    NikitOS Король шутов Администратор

    Вы попробовали? Работает? Не работает?
    Просто так то зачем кидать? :)
     
  19. serega4789

    serega4789 Нерд

    это я все что нашел по теме не работает
     
  20. serega4789

    serega4789 Нерд

    Я использовал программу nodemcu flacher залил родную прошивку , пробывал бинарник для очистки памяти, первое помогло он аклимался записал скетч с сервером и pzem 004 точка доступа, внёс изменения ещё раз перезалил скетч и все опять в состоянии reset wdt, ещё раз повторил операцию с flecher, реанимировался, затем ещё внёс изменения в программу и теперь он опять труп, может из-за перегрева это все или аппаратные проблемы ,хотя все делаю с платой без внешних приключений:(