Re: Arduino Mega Server для esp8266
Добавлено: Пн окт 09, 2017 12:52 pm
это в настройках роутера нужно указать, или можно в настройках ESP?alexsis_76 писал(а):попробуйте соединение на фиксированном канале.
это в настройках роутера нужно указать, или можно в настройках ESP?alexsis_76 писал(а):попробуйте соединение на фиксированном канале.
попробуйте указать номер канала WiFi.begin(ssid, pass,№);WiFi.begin(ssid, pass);
harus писал(а):для первоначальной настройки использую библиотеку WiFiManager. Она включает модуль в режиме AP, если еще ни разу не подключались к сети. Потом выбираешь к какой сети подключаться, задаешь IP для модуля и дальше модуль работает уже через роутер.
Так вот сейчас, когда произошло очередное пропадание связи, на ноуте случайно обнаружил в списке wifi сетей - как раз ту начальную сеть. То есть модуль почему то решил вернуться в режим AP.
Код: Выделить всё
/* Explicitly set the ESP8266 to be a WiFi-client, otherwise, it by default,
would try to act as both a client and an access-point and could cause
network-issues with your other WiFi-devices on your WiFi-network. */
Попробовал версию по этой ссылке. Один недостаток - надо вручную прописывать ssid. Если бы добавить возможность поиска сетей, было бы круче.serghei писал(а):Неоднократно давал ссылку на версию без этой библиотеки. Менять адрес можно прямо со страницы.Первыйпример в ветке Готовых решений.
с esp32 получилосьalexsis_76 писал(а):добрый день,собрал себе удлинитель i2c,в связи с этим вопрос к гуру,как обновить прошивку по ota не используя ардуино,возможно использовать консоль?
Код: Выделить всё
#include "WiFi.h"
#include "WebServer.h"
WebServer server(80);
#include "Update.h"
char* ssid_ap = "ESP32";
char* pass_ap = "1234567890";
void setup(void) {
Serial.begin(115200);
Serial.println("");
Serial.println(" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");
//Serial.println(" $ *** Update ESP32 via console *** $");
Serial.println(" $ *** Update ESP32 via console successfull *** $");
Serial.println(" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");
Serial.println("");
WiFi.mode(WIFI_AP);
WiFi.softAP(ssid_ap, pass_ap);
updateOTA();
server.begin();
}
void loop(void) {
server.handleClient();
}
void updateOTA() {
server.on("/update", HTTP_POST, [](){
server.sendHeader("Connection", "close");
server.send(200, "text/plain", (Update.hasError())?"FAIL":"OK");
delay(500);
ESP.restart();
},[](){
HTTPUpload& upload = server.upload();
if(upload.status == UPLOAD_FILE_START){
Serial.setDebugOutput(true);
Serial.printf("Update: %s\n", upload.filename.c_str());
uint32_t maxSketchSpace = 0x140000;
if(!Update.begin(maxSketchSpace)){
Update.printError(Serial);
}
} else if(upload.status == UPLOAD_FILE_WRITE){
if(Update.write(upload.buf, upload.currentSize) != upload.currentSize){
Update.printError(Serial);
}
} else if(upload.status == UPLOAD_FILE_END){
if(Update.end(true)){
Serial.printf("Update Success: %u B\n\nRebooting...\n", upload.totalSize);
} else {
Update.printError(Serial);
}
Serial.setDebugOutput(false);
}
yield();
});
}
Попробовал перепрошить ESP32 с веб-страницы (не из консоли) этим кодом — не получилось, попробовал код из дистрибутива АМС для ESP8266 — тоже не получилось — пишет ошибка. Было бы неплохо, если бы вы поправили код для перепрошивки с веб-страницы.с esp32 получилось