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

ArduinoIDE для ESP8266

Нужна ли возможность использовать ESP8266 как Arduino-совместимые платы?

  • Нет, Ардуино не для меня

    Голосов: 0 0.0%

  • Всего проголосовало
    54

anakod

Moderator
Команда форума
Ошибка компиляции исправлена, можете обновляться.

Мужики, вебсервер действительно не стартует, будучи собранным в ArduinoIDE. Разбираемся. Терпение.
Вероятно слишком частый таймер не даёт фоновым процессам работать правильно (я про loop о котором Вы писали).

Господа, давайте вопросы связанные со Sming обсуждать в соответствующих ветках Сминг, иначе просто полнейшая путаница получается.
 

Sermus

New member
@anakod проблема с луп-рестартом в HttpServer_Bootstrap связана с таймером. Использование любого таймера приводит к перезагрузке. Причем, именно Сминговского таймера. Причина пока не ясна.
Видимо, что-то происходит в момент вызова callback.
 

anakod

Moderator
Команда форума
Использование любого таймера приводит к перезагрузке. Причем, именно Сминговского таймера. Причина пока не ясна.
Я думаю что это появляется при использовании очень высокой частоты (интервала таймера), типа 1мкс. Ватчдог не успевает обновляться.

ПС Сейчас посмотрим третью Ардуино :)
 

Dr. Morg

New member
@anakod, @Sermus, подскажите как добавить Sming к третьей АрдуиноИДЕ?
Пытаюсь по аналогии с проектом @Sermus в platform.txt добавить пути Sming:
Код:
compiler.additionalincludes=-I{build.core.path}\Sming\Sming\include -I{build.core.path}\Sming\Sming\SmingCore -I{build.core.path}\Sming\Sming\Wiring -I{build.core.path}\Sming\Sming\system -I{build.core.path}\Sming\Sming\system\include -I{build.core.path}\Sming\Sming\Services\ArduinoJson -I{build.core.path}\Sming\Sming\Services\DateTime -I{build.core.path}\Sming\Sming\Services\SpifFS -I{build.core.path}\Sming\Sming\Services\WebHelpers -I{sdk.path}\include

compiler.additionallibdir="-L{sdk.path}\lib" "-L{build.core.path}\Sming\Sming\compiler\lib"
Сам Sming положил в:
Код:
\Arduino\hardware\esp8266com\esp8266\cores\Sming\Sming
Пробовал класть в:
Код:
\Arduino\hardware\esp8266com\esp8266\cores\esp8266\Sming\Sming
Но всё равно при компиляции получаю:
Код:
Arduino: 1.6.1 (Windows 7), Плата"Generic ESP8266 board"

C:\Program Files (x86)\Arduino/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-g++ -D__ets__ -DICACHE_FLASH -IC:\Program Files (x86)\Arduino/hardware/tools/esp8266/sdk//include -c -Os -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -std=c++11 -MMD -DF_CPU=80000000L -DARDUINO=10601 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -IC:\Program Files (x86)\Arduino\hardware\esp8266com\esp8266\cores\esp8266 -IC:\Program Files (x86)\Arduino\hardware\esp8266com\esp8266\variants\esp01 C:\Users\agrogov\AppData\Local\Temp\build6898082909454917912.tmp\HttpServer_Bootstrap.cpp -o C:\Users\agrogov\AppData\Local\Temp\build6898082909454917912.tmp\HttpServer_Bootstrap.cpp.o

HttpServer_Bootstrap.ino:1:23: fatal error: SmingCore.h: No such file or directory

compilation terminated.

Ошибка компиляции.
 
Последнее редактирование:

Dr. Morg

New member
Добавил недостающие параметры, но особо легче не стало :)
Код:
Arduino: 1.6.1 (Windows 7), Плата"Generic ESP8266 board"

Изменена опция сборки, пересобираем все



C:\Program Files (x86)\Arduino/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-g++ -D__ets__ -DICACHE_FLASH -IC:\Program Files (x86)\Arduino/hardware/tools/esp8266/sdk//include -c -Os -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -std=c++11 -MMD -DF_CPU=80000000L -DARDUINO=10601 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -IC:\Program Files (x86)\Arduino\hardware\esp8266com\esp8266\cores\esp8266 -IC:\Program Files (x86)\Arduino\hardware\esp8266com\esp8266\variants\esp01 -IC:\Program Files (x86)\Arduino\hardware\esp8266com\esp8266\cores\esp8266\Sming\Sming\include -IC:\Program Files (x86)\Arduino\hardware\esp8266com\esp8266\cores\esp8266\Sming\Sming\SmingCore -IC:\Program Files (x86)\Arduino\hardware\esp8266com\esp8266\cores\esp8266\Sming\Sming\Wiring -IC:\Program Files (x86)\Arduino\hardware\esp8266com\esp8266\cores\esp8266\Sming\Sming\system -IC:\Program Files (x86)\Arduino\hardware\esp8266com\esp8266\cores\esp8266\Sming\Sming\system\include -IC:\Program Files (x86)\Arduino\hardware\esp8266com\esp8266\cores\esp8266\Sming\Sming\Services\ArduinoJson -IC:\Program Files (x86)\Arduino\hardware\esp8266com\esp8266\cores\esp8266\Sming\Sming\Services\DateTime -IC:\Program Files (x86)\Arduino\hardware\esp8266com\esp8266\cores\esp8266\Sming\Sming\Services\SpifFS -IC:\Program Files (x86)\Arduino\hardware\esp8266com\esp8266\cores\esp8266\Sming\Sming\Services\WebHelpers -I{sdk.path}\include C:\Users\agrogov\AppData\Local\Temp\build4320180030702463803.tmp\HttpServer_Bootstrap.cpp -o C:\Users\agrogov\AppData\Local\Temp\build4320180030702463803.tmp\HttpServer_Bootstrap.cpp.o

HttpServer_Bootstrap.ino:1:23: fatal error: SmingCore.h: No such file or directory

compilation terminated.

Ошибка компиляции.
Файл platform.txt в аттаче.

Update:
Перенёс каталог с ArduinoIDE на диск С для теста,- тоже не помогло:
Код:
Arduino: 1.6.1 (Windows 7), Плата"Generic ESP8266 board"

C:\Arduino/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-g++ -D__ets__ -DICACHE_FLASH -IC:\Arduino/hardware/tools/esp8266/sdk//include -c -Os -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -std=c++11 -MMD -DF_CPU=80000000L -DARDUINO=10601 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -IC:\Arduino\hardware\esp8266com\esp8266\cores\esp8266 -IC:\Arduino\hardware\esp8266com\esp8266\variants\esp01 -IC:\Arduino\hardware\esp8266com\esp8266\cores\esp8266\Sming\Sming\include -IC:\Arduino\hardware\esp8266com\esp8266\cores\esp8266\Sming\Sming\SmingCore -IC:\Arduino\hardware\esp8266com\esp8266\cores\esp8266\Sming\Sming\Wiring -IC:\Arduino\hardware\esp8266com\esp8266\cores\esp8266\Sming\Sming\system -IC:\Arduino\hardware\esp8266com\esp8266\cores\esp8266\Sming\Sming\system\include -IC:\Arduino\hardware\esp8266com\esp8266\cores\esp8266\Sming\Sming\Services\ArduinoJson -IC:\Arduino\hardware\esp8266com\esp8266\cores\esp8266\Sming\Sming\Services\DateTime -IC:\Arduino\hardware\esp8266com\esp8266\cores\esp8266\Sming\Sming\Services\SpifFS -IC:\Arduino\hardware\esp8266com\esp8266\cores\esp8266\Sming\Sming\Services\WebHelpers -IC:\Arduino/hardware/tools/esp8266/sdk/\include C:\Users\agrogov\AppData\Local\Temp\build3468398461081176456.tmp\HttpServer_Bootstrap.cpp -o C:\Users\agrogov\AppData\Local\Temp\build3468398461081176456.tmp\HttpServer_Bootstrap.cpp.o 

HttpServer_Bootstrap.ino:1:23: fatal error: SmingCore.h: No such file or directory

compilation terminated.

Ошибка компиляции.
 

Вложения

Последнее редактирование:

Dr. Morg

New member
Продвинулся немного дальше, убрав ядро esp8266 и оставив только Sming, подправив ещё немного platform.txt (см. аттач).
Но теперь посыпались конфликты (см. аттач)...
 

Вложения

anakod

Moderator
Команда форума
Касательно этих ошибок - можно попробовать просто удалить дублирующиеся объявления из C:\Arduino\hardware\esp8266com\esp8266\cores\esp8266\Sming\Sming\system\include/esp_systemapi.h либо C:\Arduino/hardware/tools/esp8266/sdk\include/ets_sys.h или вообще попробовать закоментировать одини из этих файлов, т.к. сейчас они пересекаются. Но будет ли этого достаточно? В вопросах сборки, скорее, может помочь @Sermus.

Updated.
 

Dr. Morg

New member
@anakod, проблема в том, что насколько я понял, они переопределяют стандартные функции. Комментировать пробовал,- вылазит несоответствие типов...
 

anakod

Moderator
Команда форума
Комментировать пробовал,- вылазит несоответствие типов...
А как именно оно проявляется? По-моему проблема здесь в том что и Sming и эта Ардуино объявляют одни и те же недостающие функции СДК. Получается конфликт. Другое дело что это вероятно не единственный вопрос который может вызвать противоречие.
 

anakod

Moderator
Команда форума
Скоро у Sming будет своя система инсталляции\сборки. Сейчас в нашем чате идет активная работа в этом направлении.
 

Dr. Morg

New member
@anakod, это здорово, но полистав чат, я не увидел упоминания о версии для OS X...
А @igrr добавил в ArduinoIDE компилятор и esptool под OS X, причём скорость компиляции очень приличная по сравнению с UDK. По этой причине мне хотелось прикрутить к IDE Sming.
 

Denisww

New member
Отличный проект! Какая максимальная скорость ответа на HTTP запросы , если esp8266 в режиме AP?
 

jmms

Moderator
Команда форума
Доброго времени суток, можете подсказать такие несколько нубские вопросы:
1) Если загрузить Arduino IDE и выбрать Инструменты > Плата > Boards Manager, там ввести esp8266, можно установить эту плату у которой разработчиком является ESP8266 Community. Чья это разработка (та которая обсуждается здесь или arduinesp.com)?
2) Если есть несколько проектов по работе Arduino IDE с ESP8266: какие отличия они имеют? Какой из проектов имеет более вменяемую совместимость библиотек Arduino с ESP8266?

Понятное дело, что пока говорить об "идеальной" работе рано, но все же. Хочется поработать с этими проектами, но хочется знать на каком этапе оба, где ждать ошибок. Заранее спасибо.

Edit 1: (1) вопрос отпал - это разработка сообщества esp8266.com, но остальные вопросы акутальны.
 
Последнее редактирование:

mcmega

Member
Уважаемый автор, можно как то более развёрнутое описание проекта сделать, что то перечитал, толком ничего не понял...
 
Сверху Снизу