• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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();
}


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