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

Общие вопросы по Arduino IDE для ESP8266

Рубен

Member
как минимум надо удалить и заново переставить все утилиты есп для ардуино, можно попробовать поставить не с древнего stable линка, а с nightly
http://arduino.esp8266.com/staging/package_esp8266com_index.json
Попробовал: 1. Удалил в менеджере плат 8266
2. Очистил строку в настройках
3. Удалил папки staging и packages в C:\Documents and Settings\Admin\Local Settings\Application Data\Arduino15
4. перезапустил Arduino и проверил, что все чисто.
5. прописал в настройках http://arduino.esp8266.com/staging/package_esp8266com_index.json и инсталлировал плату в менеджере
6. попробовал проект, который ранее загружался - вообще не идет: ошибка компиляции.
Вот сообщение при компиляции
Внимание: platform.txt из ядра 'ESP8266 Modules' содержит устаревшие recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{build.path}/{archive_file}" "{object_file}", автоматически преобразовано в recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{archive_file_path}" "{object_file}". Ожидайте обновления ядра.
WARNING: Category '' in library EEPROM is not valid. Setting to 'Uncategorized'
WARNING: Category '' in library ESP8266httpUpdate is not valid. Setting to 'Uncategorized'
WARNING: Category '' in library Hash is not valid. Setting to 'Uncategorized'
WARNING: Category '' in library SPI is not valid. Setting to 'Uncategorized'
WARNING: Category '' in library SoftwareSerial is not valid. Setting to 'Uncategorized'
WARNING: Category '' in library Ticker is not valid. Setting to 'Uncategorized'
WARNING: Category '' in library Wire is not valid. Setting to 'Uncategorized'
Изменены опции сборки, пересобираем все
In file included from c:\documents and settings\admin\local settings\application data\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\memory:63:0,

from C:\Documents and Settings\Admin\Local Settings\Application Data\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-1160-gef26c5f\libraries\ESP8266WiFi\src/WiFiClient.h:28,

from C:\Documents and Settings\Admin\Local Settings\Application Data\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-1160-gef26c5f\libraries\ESP8266WiFi\src/ESP8266WiFi.h:32,

from D:\My_doc\Arduino\WiFiMulti\WiFiMulti.ino:6:

c:\documents and settings\admin\local settings\application data\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\allocator.h:46:75: fatal error: bits/c++allocator.h: No such file or directory

[HASHTAG]#include[/HASHTAG] <bits/c++allocator.h> // Define the base class to std::allocator.

^

compilation terminated.

exit status 1
Ошибка компиляции.
Неверная библиотека найдена в C:\Documents and Settings\Admin\Local Settings\Application Data\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-1160-gef26c5f\libraries\esp8266: C:\Documents and Settings\Admin\Local Settings\Application Data\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-1160-gef26c5f\libraries\esp8266
Неверная библиотека найдена в C:\Documents and Settings\Admin\Local Settings\Application Data\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-1160-gef26c5f\libraries\esp8266: C:\Documents and Settings\Admin\Local Settings\Application Data\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-1160-gef26c5f\libraries\esp8266
Я вернулся к предыдущему варианту - там хоть прошивка происходит.
 
Последнее редактирование:

Vitaly

Member
А! понял - ключевой момент ардуино 1.6.6
либы доступные по линкам еще не совместимы с 1.6.6, только 1.6.5

видимо поэтому их с сентября не обновляют, как сделают совместимость с 1.6.6+ так и надо проверять
а пока ардуину придется откатить на 1.6.5

либо можно загрузить последний срез библиотек с git и проверить, вот ссылки о проблеме
https://github.com/esp8266/Arduino/issues/973
https://github.com/esp8266/Arduino/issues/965
если ставиться с гит, старые поставленные через board manager надо полностью зачистить
 

Рубен

Member
А! понял - ключевой момент ардуино 1.6.6
либы доступные по линкам еще не совместимы с 1.6.6, только 1.6.5

видимо поэтому их с сентября не обновляют, как сделают совместимость с 1.6.6+ так и надо проверять
а пока ардуину придется откатить на 1.6.5

либо можно загрузить последний срез библиотек с git и проверить, вот ссылки о проблеме
https://github.com/esp8266/Arduino/issues/973
https://github.com/esp8266/Arduino/issues/965
если ставиться с гит, старые поставленные через board manager надо полностью зачистить
Спасибо, сейчас попробую. Я тоже склонен к тому, что это версия 1.6.6 что-то недорабатывает, потому что 1.6.4 работала чисто.
 

Kabron

Member
У меня Ардуина (1.6.5) установила пакет ESP8266 версии 2.0.0, хотя заказывал 1.6.5-947
После этого при компиляции в VS выдавались ошибки на содержимое файла time.c. Сама ардуина при этом компилировала нормально.
Как выяснилось он находится в \AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\2.0.0\cores\esp8266\
в пакете 1.6.5-947 его нет. Пришлось его переименовать, после чего все заработало.
Да, у меня в проекте используется библиотека Time. М.б. это и вызвало конфликт.

Точнее, не так. У ардуины все нормально, но вот студия, почемуто упорно подключает пакет верии 2.0.0.
ЗЫ
зато объем занимаемой памяти уменьшился аж на 18%
Ардуина со старой версией:
Sketch uses 308 512 bytes (71%) of program storage space. Maximum is 434 160 bytes.
Global variables use 51 708 bytes (63%) of dynamic memory, leaving 30 212 bytes for local variables. Maximum is 81 920 bytes.
VS с 2.0.0:
Binary sketch size: 229 134 bytes (used 53% of a 434 160 byte maximum) (3.21 secs)
Minimum Memory Usage: 37072 bytes (45% of a 81920 byte maximum)
 
Последнее редактирование:

whiteud

New member
Подскажите такую вещь. Возможно ли в Arduino IDE создание потоков? Например как сделать отдельный поток, чтобы он снимал нажатия кнопки и выполнял некий код, и отдельный с нужной периодичностью, который работал независимо и отправлял данные в сеть? Может есть какой образец на github? у меня печаль в том, что пока данные отправляются кнопку никак задействовать не получается
Никто не подскажет?
 

Discriminator

New member
Правда я не знаю на сколько оно реализованно адекватно для ESP. На ардуинке вроде норм...
 

Vic_tor

New member
Здравствуйте, я только начинаю , помогите разобраться . Идея такая -ESP8266 как клиент подключается к домашнему роутеру по wi-fi вторая ESP8266 тоже подключается к этому же роутеру . Первая при замыкании пина передает на вторую и она реагирует , ну например подачи тока на свой пин . С чего начать - не знаю .
 

Vitaly

Member
Здравствуйте, я только начинаю , помогите разобраться . Идея такая -ESP8266 как клиент подключается к домашнему роутеру по wi-fi вторая ESP8266 тоже подключается к этому же роутеру . Первая при замыкании пина передает на вторую и она реагирует , ну например подачи тока на свой пин . С чего начать - не знаю .
на одной скетч для дерганья пинов через веб сервер, отладить можно будет браузером
потом на вторую скетч для обращения через get на веб сервер

проблема только как передать второй адрес первой
хорошо если в днс роутера сама зарегистрируется, тогда по имени можно будет обратится
 

igrushkin

Member
Здравствуйте, я только начинаю , помогите разобраться . Идея такая -ESP8266 как клиент подключается к домашнему роутеру по wi-fi вторая ESP8266 тоже подключается к этому же роутеру . Первая при замыкании пина передает на вторую и она реагирует , ну например подачи тока на свой пин . С чего начать - не знаю .
через mqtt
 

sasasa

Member
Что за радикальные изменения в Ардуино ИДЕ 1.6.5. по отношению к ЕСПке? на 1.6.4 всё работало как надо, сейчас по глупости обновил Ардуинку 1.6.5 и на все скетчи вачдог гавкает (wdt). Пробовал вернутся к предыдущей версии, но безуспешно, очевидно что-то ещё "обновилось" :(
Даже простой Блинк вызывает wdt reset ESP8266 ESP-01. Подумал может быть ЕСПка глючит, но остальные 2 штуки также
 

Vitaly

Member
в самой ИДЕ не видел никаких различий
а вот какие либы она установила, это большой вопрос
 

Victor

Administrator
Команда форума
Что за радикальные изменения в Ардуино ИДЕ 1.6.5. по отношению к ЕСПке? на 1.6.4 всё работало как надо
у меня переход с 1.6.4 на 1.6.5-r5 произошел без каких-либо проблем
с 1.6.5-r5 на 1.6.6 были проблемы до выхода ESP8266 Community 2.0.0 (стояла 1160)
Сейчас на 1.6.6+ESP8266 Community 2.0.0 все ок
 

sasasa

Member
От это новость для меня. Я тоже попробовал 1.6.6+ESP8266 Community 2.0.0, так она мне вообще глючила с начала до конца. Прочитал где-то что пока не доработана для ЕСПки и быстро деградировался на 1.6.5. Не знаю может ещё раз пробовать установить1.6.6?
Как я понял, то ESP8266 1.6.5-947-g39819f0 вообще не стоит шевелить с Ардуино 1.6.6?
.. Всё, решил, - пошёл на 2 круг.. :) Попробую Hourly Build.
 
Последнее редактирование:

Victor

Administrator
Команда форума

sasasa

Member
Board nodemcuv2 (platform esp8266, package esp8266) is unknown

Error compiling.
.

поставил как Generic ESP8266

Board generic (platform esp8266, package esp8266) is unknown

Error compiling.

Что за фигня это?
 
Последнее редактирование:

sasasa

Member
Всё проделал по "рецепту" :(

Нечего не получается - показывает ошибки по половине скетча, не видит уже объявленные переменные и функции. При том показывает якобы ошибки даже на пустых строках. Что то с нумерацией тоже глючит. Всё, надоело. Возвращаюсь обратно на 1.6.4
F:\ESP8266\v3_1.05\v3_1.05.ino: In function 'void loop()':

v3_1.05:326: error: 'resetControls' was not declared in this scope

if (strstr(packetBuffer, "/1/push2")) resetControls();

^

v3_1.05:327: error: 'fullResetControls' was not declared in this scope

if (strstr(packetBuffer, "/2/push1")) fullResetControls();

^

v3_1.05:330: error: 'calculate' was not declared in this scope

float val = calculate(packetSize);

^

v3_1.05:334: error: 'resetFader' was not declared in this scope

resetFader("/1/fader1");

^

v3_1.05:341: error: 'calculate' was not declared in this scope

float val2 = calculate(packetSize);

^

v3_1.05:344: error: 'resetFader' was not declared in this scope

resetFader("/1/fader2");

^

v3_1.05:351: error: 'calculate' was not declared in this scope

if (strstr(packetBuffer, "fad")) fadder[int(packetBuffer[8]) - 48] = calculate(packetSize);

^

v3_1.05:352: error: 'calculate' was not declared in this scope

if (strstr(packetBuffer, "tog")) toggle[int(packetBuffer[9]) - 48] = int(calculate(packetSize));

^

v3_1.05:353: error: 'calculate' was not declared in this scope

if (strstr(packetBuffer, "push")) push[int(packetBuffer[7]) - 48] = int(calculate(packetSize));

^

v3_1.05:361: error: 'PageOne' was not declared in this scope

if (page == 1) PageOne();

^

v3_1.05:468: error: 'readControlParameters' was not declared in this scope

readControlParameters();

^

v3_1.05:471: error: 'StartedActions' was not declared in this scope

StartedActions();

^

F:\ESP8266\v3_1.05\v3_1.05.ino: In function 'void resetControls()':

F:\ESP8266\v3_1.05\v3_1.05.ino:495:31: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

sendMessage("/1/fader1", 0.0);

^

F:\ESP8266\v3_1.05\v3_1.05.ino:497:31: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

sendMessage("/1/fader2", 0.0);

^

F:\ESP8266\v3_1.05\v3_1.05.ino: In function 'void fullResetControls()':

F:\ESP8266\v3_1.05\v3_1.05.ino:502:31: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

sendMessage("/1/fader1", 0.0);

^

F:\ESP8266\v3_1.05\v3_1.05.ino:504:31: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

sendMessage("/1/fader2", 0.0);

^

F:\ESP8266\v3_1.05\v3_1.05.ino:506:32: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

sendMessage("/1/toggle1", 0.0);

^

F:\ESP8266\v3_1.05\v3_1.05.ino:507:32: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

sendMessage("/1/toggle2", 0.0);

^

F:\ESP8266\v3_1.05\v3_1.05.ino:508:31: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

sendMessage("/2/fader1", inc);

^

F:\ESP8266\v3_1.05\v3_1.05.ino:509:31: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

sendMessage("/2/fader2", inc);

^

F:\ESP8266\v3_1.05\v3_1.05.ino:510:31: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

sendMessage("/2/fader3", inc);

^

F:\ESP8266\v3_1.05\v3_1.05.ino:511:31: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

sendMessage("/2/fader4", 0.0);

^

F:\ESP8266\v3_1.05\v3_1.05.ino:512:31: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

sendMessage("/2/fader5", inc);

^

F:\ESP8266\v3_1.05\v3_1.05.ino:513:31: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

sendMessage("/2/fader6", inc);

^

F:\ESP8266\v3_1.05\v3_1.05.ino:514:32: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

sendMessage("/2/toggle1", 0.0);

^

F:\ESP8266\v3_1.05\v3_1.05.ino:515:32: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

sendMessage("/2/toggle2", 0.0);

^

F:\ESP8266\v3_1.05\v3_1.05.ino: In function 'void PageOne()':

v3_1.05:594: error: 'actionSetup' was not declared in this scope

actionSetup();

^

v3_1.05:637: error: 'actionSetup' was not declared in this scope

actionSetup();

^

v3_1.05:643: error: 'actionSetup' was not declared in this scope

actionSetup();

^

v3_1.05:657: error: 'Kill' was not declared in this scope

Kill();

^

exit status 1
'resetControls' was not declared in this scope
 
Последнее редактирование:
Сверху Снизу