• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Arduino Mega Server для ESP8266

tretyakov_sa

Moderator
Команда форума
Документация по настройке, запуску и работе Arduino Mega Server на платформе ESP8266.

Платформа ESP8266 - Hi-Lab.ru
У меня происходит следующее:
Настройки платы ставлю 4M(3M SPIFFS)
Скетч прекрасно заливается.
А вот файловая система сообщает:
warning: espcomm_send_command: didn't receive command response
warning: espcomm_send_command(FLASH_DOWNLOAD_BEGIN) failed
SPIFFS Upload failed!
 

smartAlex

New member
Множество людей отписалось, что смогли запустить АМС, значит дистрибутив рабочий.

По инструкции сначала создаём файловую систему — затем заливаем скетч.

В вашем случае сказать трудно, может быть несовпадение версий среды и драйверов ESP8266 или что-то с физическим подключением.

Конкретно с такой проблемой как у вас никто не обращался.

А вы Сериал Монитор отключали?
 

sensor

New member
протестировал на ESP8266 12e NODEmcu
полёт нормальный
сделал всё по инструкции - скачал старую платформу 1,6,5 (у меня стояла уже 1.6.9)
драйверы платы esp 2.0.0

""""
добавил строчку в настройках режима esp из инструкций и всё заработало
 

smartAlex

New member
Хорошие новости: АМС теперь работает на ESP-01 c 1 МБ памяти. Вы можете достать свои пылящиеся модули ESP-01 и сделать из них беспроводные супер-станции. :)

Есть только одно досадное недоразумение — в связи с малым объёмом памяти 512+512 не работает заливка скетчей по воздуху. Я думаю это можно поправить, нужно только понять где и сколько памяти должно быть для загрузки скетчей по воздуху.

Может кто-то осветить этот вопрос?
 

smartAlex

New member
Спасибо за ссылку, статью почитал, но в практическом смысле она понимания не добавила.

Есть 1 МБ, разбитый 512+512. Скетч занимает 280 КБ, файлы на SPIFFS занимают 120 КБ, следовательно свободно аж 390 КБ, но обновление не проходит.

Вопрос конкретный — почему? (речь идёт о стандартном коде АМС из дистрибутива, на конфигурации 1 МБ + 3 МБ обновление прекрасно проходит).
 

smartAlex

New member
Вы правы, плюс вам. :) В конфигурации 1 (256) всё заработало.

Теперь возникает другой вопрос: что лучше:

1. 256 КБ на сервере + апдейты по воздуху
2. или 512 КБ на сервере, но без апдейтов по воздуху

?

Я склоняюсь к первому варианту.
 

garry64

New member
установлено
ESP8266 Arduino Core 2.0.0
arduino 1.6.5 r2
создаю файловую систему
загружаю скеч
создается WIFI точка c IP 198.168...
доступа к ней нет , не открываются страницы
=======
компилятор выдает предупреждения

server_ajax.ino:547:39: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:551:44: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino: In function 'void checkPage()':
server_ajax.ino:677:49: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:678:47: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:679:46: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:680:47: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:681:48: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

Sketch uses 276 758 bytes (26%) of program storage space. Maximum is 1 044 464 bytes.
Global variables use 44 416 bytes (54%) of dynamic memory, leaving 37 504 bytes for local variables. Maximum is 81 920 bytes.
Uploading 280912 bytes from D:\DOCUME~1\x\LOCALS~1\Temp\build2888504281376531253.tmp/arduino_mega_server_esp8266.cpp.bin to flash at 0x00000000

//=========================
ESP8266 в порт выдает

AMS for ESP8266 started...
Modul Hardware...
SDK version: 1.3.0
Boot version: 2
Boot mode: 1
Reset info: Fatal exception:0 flag:6 (EXT_SYS_RST) epc1:0x00000000 epc2:0x00000000 epc3:0x00000000 excvaddr:0x00000000 depc:0x00000000
CPU freq: 80 MHz
Free memory: 33776 (73%)
Flash speed: 40 MHz
Flash mode: 2
Flash size: 4194304
SPIFFS size: 3147456
Program size: 1046848
Sketch size: 280896
Free for sketch: 765952
started
Modul Wi-Fi...
Connecting to ssid
 

sensor

New member
в инструкции смотри - там строчку нужно добавить
чтоб ESPшка не создавала свою wifi сеть
 
Последнее редактирование:

Vavilon

New member
У похожая проблема.
установлено
WeMos D1 mini R2
arduino 1.6.5 r2
создаю файловую систему
загружаю скеч
создается WIFI точка c IP 198.168.1.41
доступа к ней нет , не открываются страницы, не пингуется.
=======
server_ajax.ino: In function 'void parseRequest(WiFiClient)':
server_ajax.ino:87:37: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:87:80: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:100:41: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:100:74: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:107:41: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:107:74: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:113:41: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:113:73: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:119:41: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:119:74: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:125:41: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:125:75: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:126:75: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:127:75: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:135:51: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:140:51: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:144:52: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:149:50: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:154:51: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:166:50: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:171:47: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:176:50: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:180:48: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino: In function 'void SetLEDs()':
server_ajax.ino:310:37: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:313:42: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:317:37: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:320:42: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:324:37: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:327:42: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:331:37: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:334:42: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino: In function 'void setSettings()':
server_ajax.ino:439:37: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:442:42: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino: In function 'void setThemes()':
server_ajax.ino:469:41: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:470:41: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:471:41: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:472:41: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:473:41: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:474:41: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:475:41: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:476:41: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino: In function 'void setControl()':
server_ajax.ino:511:39: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:515:44: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:520:39: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:524:44: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:529:39: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:533:44: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:538:39: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:542:44: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:547:39: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:551:44: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino: In function 'void checkPage()':
server_ajax.ino:677:49: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:678:47: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:679:46: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:680:47: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:681:48: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

Sketch uses 276 798 bytes (26%) of program storage space. Maximum is 1 044 464 bytes.
Global variables use 44 392 bytes (54%) of dynamic memory, leaving 37 528 bytes for local variables. Maximum is 81 920 bytes.
Uploading 280944 bytes from C:\TEMP\build5416335179545828676.tmp/arduino_mega_server_d1mini_en.cpp.bin to flash at 0x00000000
AMS for WeMos D1 mini started...
Modul Hardware...
SDK version: 1.3.0
Boot version: 31
Boot mode: 1
Reset info: Fatal exception:0 flag:6 (EXT_SYS_RST) epc1:0x00000000 epc2:0x00000000 epc3:0x00000000 excvaddr:0x00000000 depc:0x00000000
CPU freq: 80 MHz
Free memory: 35032 (75%)
Flash speed: 40 MHz
Flash mode: 2
Flash size: 4194304
SPIFFS size: 3147416
Program size: 1046888
Sketch size: 280936
Free for sketch: 765952
started
Modul Wi-Fi...
Connecting to SUN
.
WiFi connected
IP address: 192.168.1.41
started
Modul SPIFFS...
Total files: 0
Total size: 0
started
Modul Random... started
Modul EEPROM...
Name: WeMos D1 mini
started
Modul NTP...
Local port: 2390
started
Modul RTC...
Set time provider
sending NTP packet...
No packet yet
started
1970-01-01 00:00:09 Modul HTTP...
1970-01-01 00:00:09 HTTP port: 8080
1970-01-01 00:00:09 started
1970-01-01 00:00:09 Modul Server... started
GLOBAL Init DONE (9s)

AMS WORK
1970-01-01 00:00:09 : 30928 (66%) 30928
sending NTP packet...
No packet yet
sending NTP packet...
No packet yet
1970-01-01 00:01:07 : 30920 (66%) -8
sending NTP packet...
No packet yet
sending NTP packet...
No packet yet
sending NTP packet...
No packet yet
1970-01-01 00:02:07 : 31480 (68%) 560
ну и т.д.

в инструкции смотри - там строчку нужно добавить
чтоб ESPшка не создавала свою wifi сеть
Это соответственно мне не подошло, т.к. в самой инструкции написано
Если у вас дистрибутив для WeMos D1 mini, то вам делать ничего не нужно — там эта строка уже присутствует.
В чем проблема?
 

Vavilon

New member
Ваша проблема в этом

Modul SPIFFS...
Total files: 0
Total size: 0

Вам нужно корректно залить файлы на модуль.
Видимо все таки я не до конца все сделал. Прошить то я прошил получается. далее надо с помошью утилиты ESP8266 Sketch Data Upload (esp8266fs.jar) заливать файлы в память платы. Вот тут у меня затык. Файл esp8266fs.jar как и требуется я скопировал в папку \Arduino\tools\ Arduino IDE перезапускал, но в меню Инструменты не появляется пункта ESP8266 Sketch Data Upload.
 

smartAlex

New member
Возможно, дело в том, что нужно скопировать файл с соблюдением структуры директорий

\Arduino\tools\ESP8266FS\tool\esp8266fs.jar
 

digurov

New member
Таки не могу скомпилировать. Выдает постоянно кучу ошибок. Может поделитесь скомпилированной прошивкой? ESP8266-12F.
 

smartAlex

New member
Дело в том, что скетч содержит логин и пароль от роутера и моя прошивка не будет у вас работать.

---------------------
Кстати, на официальном сайте появился дистрибутив Arduino Mega Server ESP8266 M1 для модулей и плат с 1-м мегабайтом памяти, в том числе ESP-01

Загрузка - Hi-Lab.ru

Описание и документация будут чуть позже.
 
Последнее редактирование:

sanders

New member
Добрый день! Ошибки при компиляции : Была ошибка фтп серверу, поменял в файле FS.h char на uint8_t . Теперь вот:


In file included from C:\Program Files\Arduino\libraries\DallasTemperature\DallasTemperature.h:22:0,
from C:\Program Files\Arduino\libraries\DallasTemperature\DallasTemperature.cpp:10:
C:\Program Files\Arduino\libraries\OneWire/OneWire.h:108:2: error: [HASHTAG]#error[/HASHTAG] "Please define I/O register types here"
[HASHTAG]#error[/HASHTAG] "Please define I/O register types here"
^
C:\Program Files\Arduino\libraries\OneWire/OneWire.h:115:5: error: 'IO_REG_TYPE' does not name a type
IO_REG_TYPE bitmask;
^
C:\Program Files\Arduino\libraries\OneWire/OneWire.h:116:14: error: 'IO_REG_TYPE' does not name a type
volatile IO_REG_TYPE *baseReg;
^
Ошибка компиляции.
 

smartAlex

New member
Добрый день! Ошибки при компиляции : Была ошибка фтп серверу, поменял в файле FS.h char на uint8_t . Теперь вот:
По какой-то причине FTP не хочет нормально работать. Там даже «крутить» нечего — всё спрятано в библиотеки. Модуль FTP присутствует в дистрибутиве для того, чтобы продвинутые пользователи могли помочь решить эту проблему.
 

utya

New member
Всем привет.

промучался часа два с запускам не большие замечания, чтобы в будущем народ не ходил по грабляем.

1. Работает только с 1.6.5 r2 c 1.6.10 потратил часа полтора, RTC воняло.
2. Очепятка в ESP8266FtpServer.cpp строка 678

сделать лучше так

Код:
//int16_t nb = file.readBytes((uint8_t*) buf, FTP_BUF_SIZE );
    int16_t nb = file.readBytes(buf, FTP_BUF_SIZE);
3. Библиотека OneWire: положить в папку Libraries скетчка и обновить до последней версии 2.3.2


И ураа, заработало. А то в своё время на Mega не смогу запустить.


Чёто часы не работали NTP, немного подправил

Код:
unsigned long sendNTPpacket(IPAddress& address)
{
  Serial.println("sending NTP packet...");
// Очистка буфера в 0
  memset(packetBuffer, 0, NTP_PACKET_SIZE);
// Формируем строку зыпроса NTP сервера
  packetBuffer[0] = 0b11100011;   // LI, Version, Mode
  packetBuffer[1] = 0;     // Stratum, or type of clock
  packetBuffer[2] = 6;     // Polling Interval
  packetBuffer[3] = 0xEC;  // Peer Clock Precision
  // 8 bytes of zero for Root Delay & Root Dispersion
  packetBuffer[12]  = 49;
  packetBuffer[13]  = 0x4E;
  packetBuffer[14]  = 49;
  packetBuffer[15]  = 52;
// Посылаем запрос на NTP сервер (123 порт)
  udp.beginPacket(address, 123);
  udp.write(packetBuffer, NTP_PACKET_SIZE);
  udp.endPacket();
}


Я конечно под большим впечатлением, оно конечно немного подтормаживает. Но оно работает, это просто КРУТО!!!!!
 
Последнее редактирование:
Сверху Снизу