Esp32 wifi event: post event to user fail!

Тема в разделе "ESP8266, ESP32", создана пользователем Stenya, 12 мар 2020.

Метки:
  1. Stenya

    Stenya Нуб

    Заранее прошу извинить если тема не в той ветке. Перешерстил http://forum.espruino.com но решения не нашел. Буду признателен за любую помощь.

    Задача: управлять светодиодом на плате с помощью браузера.
    Устройство: ESP32 WROOM DevKit v1, прошивка из папки espruino_2v04_esp32.
    Работаю в Espruino Web IDE для Windows 64 bit - 0.72.1.
    Код:
    Код (Javascript):
        var wifi = require('Wifi');
        var http = require('http');
        var ssid = 'Point';
        var password = '12345678';
        var port = 80;
        function apiRequest(req, res) {
          console.log('apiRequest start');
          var a = url.parse(req.url, true);
          console.log("PATH: ", a.pathname, "METHOD", req.method);
          if (req.method === "POST") {
            switch(a.pathname) {
              case '/setLed':
                var data = "";
                req.on('data', (d)=> { data = d; });
                req.on('end',  ()=> {
                  console.log('START Post setLed', data);
                  digitalWrite(D2, data === 'true' ? true : false);
                  res.writeHead(200);
                  res.end();
                  console.log('END Post setLed');
                });
                break;
            }
          }
        }
        function onInit() {
          digitalWrite(D2, false);
          setTimeout(connectWifi, 1000);
          wifi.on('disconnected', ()=> {
            console.log('WIFI disconnected');
          });
          wifi.on('connected', ()=> {
            console.log('WIFI connected');
          });
        }
        function connectWifi() {
          console.log('WIFI connecting...');
          wifi.connect(ssid, {password: password}, (err)=> {
            if(err) console.log(err);
            else {
              http.createServer(apiRequest).listen(port);
              console.log(`Web server running at http://${wifi.getIP().ip}:${port}`);
            }
          });
        }
        onInit();
    Я делаю запрос на сервер с веб-приложениея и скрипт отрабатывает (светодиод загорается / гаснет), только 1-2 раза

    В консоли:
    Код (Javascript):
         ____                 _
        |  __|___ ___ ___ _ _|_|___ ___
        |  __|_ -| . |  _| | | |   | . |
        |____|___|  _|_| |___|_|_|_|___|
                 |_| espruino.com
         2v04 (c) 2019 G.Williams
        Espruino is Open Source. Our work is supported
        only by sales of official boards and donations:
        http://espruino.com/Donate
        >
        WIFI connecting...
        ERROR: Wifi: event_handler STA_START: esp_wifi_connect: 12298(SSID is invalid)
        WARNING: Wifi:startMDNS - espressif
        Web server running at http://172.22.50.110:80
        WIFI connected     //Первый конект
        apiRequest start   // Старт первого запроса
        PATH:  /setLed METHOD POST
        START Post setLed true
        END Post setLed // Запросу отработал
        >E (27443) event: post event to user fail!
        WARNING: Wifi:startMDNS - espressif
        WARNING: Wifi:stopMDNS
        WIFI connected   // Модуль переконектился
    После второго подключения, иногда я могу сделать второй запрос, иногда устройство зависает.
     
    Последнее редактирование: 12 мар 2020