• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

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

Vitalii9999

New member
Добрый день, подскажите пожалуйста пытаюсь подружить esp8266 с arduino ide делаю все как в первой странице темы (устанавливаю плату esp8266 через менеджер плат, выбираю ее ) но при компиляции любого скетча (даже blink из примеров по esp) выдает ошибку компиляции
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\string:41:0,

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\random:41,

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\bits\stl_algo.h:65,

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\algorithm:62,

from C:\Documents and Settings\Admin\Local Settings\Application Data\Arduino15\packages\esp8266\hardware\esp8266\2.4.2\cores\esp8266/Arduino.h:255,

from sketch\Blink.ino.cpp:1:

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

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

compilation terminated.

exit status 1
Ошибка компиляции для платы NodeMCU 0.9 (ESP-12 Module).

пробовал на трех версиях ide 1.8.5 1.6.4 1.8.6 с разными скетчами результат один и тот же.
система windows XP
 

nikolz

Well-known member
Добрый день, подскажите пожалуйста пытаюсь подружить esp8266 с arduino ide делаю все как в первой странице темы (устанавливаю плату esp8266 через менеджер плат, выбираю ее ) но при компиляции любого скетча (даже blink из примеров по esp) выдает ошибку компиляции
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\string:41:0,

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\random:41,

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\bits\stl_algo.h:65,

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\algorithm:62,

from C:\Documents and Settings\Admin\Local Settings\Application Data\Arduino15\packages\esp8266\hardware\esp8266\2.4.2\cores\esp8266/Arduino.h:255,

from sketch\Blink.ino.cpp:1:

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

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

compilation terminated.

exit status 1
Ошибка компиляции для платы NodeMCU 0.9 (ESP-12 Module).

пробовал на трех версиях ide 1.8.5 1.6.4 1.8.6 с разными скетчами результат один и тот же.
система windows XP
bits/c++allocator.h: No such file or directory - не нашел allocator.h
 

Vitalii9999

New member
Всем спасибо вопрос решил. Видимо дело было в пробелах и длинных именах к папке arduino15. Решение нашел на
суть в том что в папку где установлена arduino c:\ProgramFiles\arduino
создаем папку portable и в нее переносим все содержимое в месте с папкой ...Application Data/Arduino15.
Запускаем IDE и все прекрасно работает
 

pd1971

New member
У меня не получается зарегистрироваться в WiFi сети.
Так все работает :
#include <string.h>
#include <Wire.h>
#include "ESP8266WiFi.h"

#ifndef STASSID
#define STASSID "tochka1"
#define STAPSK "passvorrdtochka1"
#endif
const char* ssid = STASSID;
const char* pass = STAPSK;

void setup() {
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, pass);
}

void loop() {
}

А вот так когда я загружаю ssid и pass из сохраненного файла не работает:
#include <string.h>
#include <Wire.h>
#include "ESP8266WiFi.h"

char filestring[9][50];

void setup() {
WiFi.mode(WIFI_STA);
WiFi.begin(filestring[1],filestring[3]);
}

void loop() {
}

При этом если я вывожу через Serial.print filestring[1],filestring[3] отображает правильное имя ssid и pass ?
помогите )
 

Сергей_Ф

Moderator
Команда форума
я загружаю ssid и pass из сохраненного файла
а где тут файл?
В первом случае, вы передаёте указатель на массивы символов определенной длинны. Во втором - на массивы символов длинной 50. А имя и пароль у вас сколько?
 

pd1971

New member
а где тут файл?
В первом случае, вы передаёте указатель на массивы символов определенной длинны. Во втором - на массивы символов длинной 50. А имя и пароль у вас сколько?
Я просто всего текста не стал выкладывать я из
SPIFFS библиотекой FS.h из файла считываю строки
char filestring[9][50]
вывожу на OLED там считанный файл можно пролистать вверх вниз для проверки и обзора собержимого
а по нажатию кнопки пытаюсь зарегится в сети и не выходит.

if(SPIFFS.exists("/configtbl.txt")) // проверка есть ли файл
{
int i=0;
int j=0;
Serial.println("File exists");
f = SPIFFS.open("/configtbl.txt", "r");
if(f) // проверка открылся ли файл
{
Serial.println("File open");
if(f.size()) // если файл не пустой, тогда читаем
{
while(f.available())
{
c = char(f.read()); // чтение посимвольно
filestring[j]=c;
if( c == 10 ) // концы строк контролирую по символу 10
{
i=i+1;
j=0;
}
else
{
j=j+1;
}
}
}
else Serial.println("File empty");
f.close(); // закрыли файл
}
else Serial.println("File not open");
i=0;
j=0;
while ( knopka4 == 0 )
{
oporosknopok();
strcpy(stringd[1],filestring);
strcpy(stringd[2],filestring[i+1]);
strcpy(stringd[3],filestring[i+2]);
strcpy(stringd[4],filestring[i+3]);
strcpy(stringd[5],filestring[i+4]);
displaytextscreen();
if ( knopka2 and i > 0 )
{
i=i-1;
}
if ( knopka3 and i < 4 )
{
i=i+1;
}
delay(300);
}
}
else { Serial.println("NOT file"); }
WIFIAP_Client();
........
....... тут дальше уже идет работа самого устройства
........
А этой подпрограммой программой я хочу войти в сеть

void WIFIAP_Client(void) {
WiFi.mode(WIFI_STA);
WiFi.begin(filestring[1], filestring[3]);
Serial.println(filestring[1]);
Serial.println(filestring[3]);
Serial.print(" IP address: ");
Serial.println(WiFi.localIP());
int i = 0;
while (WiFi.status() != WL_CONNECTED ) {
delay(500);
i++;
Serial.print(".");
Serial.println();
Serial.println(WiFi.localIP());

}
}
 

Сергей_Ф

Moderator
Команда форума
@pd1971 это вы видимые символы посмотрели. Выведите в hex виде и проверьте что вы шлете. А для оформления кода в тексте сообщения используйте тег [соde][/соde].
 

pd1971

New member
@pd1971 это вы видимые символы посмотрели. Выведите в hex виде и проверьте что вы шлете. А для оформления кода в тексте сообщения используйте тег [соde][/соde].
вопрос а какими символами надо заполнить не содержательную часть строки символов .
Например ssid = "tochka1" а строка символов 50 соответственно:
filestring[1][0]=t
filestring[1][1]=o
filestring[1][2]=c
filestring[1][3]=h
filestring[1][4]=k
filestring[1][5]=a
filestring[1][6]=1
filestring[1][7]= ? какой символ должен быть тут ?
filestring[1][8]=? какой символ должен быть тут ?

........
filestring[1][49]? какой символ должен быть тут ?
Также и в строк пароля какими символами должна быть заполнена оставшееся часть после пароля.
 

pd1971

New member
@pd1971
Смотри, сейчас я поищу в Яндексе вместо тебя
Ещё раз повторю: оформляйте код тегом. Иначе ничего непонятно.
В вопросе кода не было ) я просто спросил что часть строки символов длинной 50 содержит символы пароля или ssid какими символами заполнить оставшеюся часть строки символов.
 

CodeNameHawk

Moderator
Команда форума
pd1971, Попробуйте заполнить нулями (не спутайте с символом нуля), но есть ограничение на длину пароля или ssid.
  • ssid - a character string containing the SSID of Access Point we would like to connect to, may have up to 32 characters
  • password to the access point, a character string that should be minimum 8 characters long and not longer than 64 characters
Station Class — ESP8266 Arduino Core 2.5.0-66-gf139519 documentation
 

pd1971

New member
pd1971, Попробуйте заполнить нулями (не спутайте с символом нуля), но есть ограничение на длину пароля или ssid.

Station Class — ESP8266 Arduino Core 2.5.0-66-gf139519 documentation
Нашел в чем была ошибка она когда читает из файла в конце каждой строки добавляет DEC 13 и DEC 10 я их в 0 сбросил и все заработало ) Спасибо за подсказку !
 

Pasha30

New member
работал с esp8266 с ссылкой http://arduino.esp8266.com/staging/package_esp8266com_index.json . Все было отлично, кучу плат запрограммировал. А как вышел новый релиз http://arduino.esp8266.com/stable/package_esp8266com_index.json на трех компьютерах ( с разными ОС ) пробовал, везде "ошибка компиляции для платы esp8266". Что не так, что произошло?
 

Jon

Member
IDE ver 1.8.12 была такая же проблема. Сегодня залетело обновление на Win10 и все стало компилироваться.
 

Pasha30

New member
Где упоминание о переустановке поддержки платы?

Удалите папки вручную, те где есть упоминание esp8266.
Установите по новой.
Покажите лог установки платы.
Удаление вручную всех файлов и папок с названием esp8266 из папки Arduino15 помогло.
 
Сверху Снизу