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

Обсуждение Blynk и ESP8266

Stanislav_labs

New member
Подключите библиотеку EEprom только не для arduino а для Esdp8266 их можно найти на гикхабе
после подключения библиотеки ардуино иде - появятся примеры работы с ними..
в принципе все просто и не отличается от обычной EEprom //
состояние пина запоминаете в 1 или 0 или несколько пинов в восьмиразрядном виде 00001010101
 
  • Like
Реакции: AVL

AVL

Member
И ещё вопрос.
При компиляции такая ошибка:
Arduino: 1.6.6 Hourly Build 2015/10/26 06:42 (Windows XP), Плата:"Generic ESP8266 Module, Serial, 80 MHz, 40MHz, DIO, 115200, 512K (64K SPIFFS)"

Внимание: 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 Ticker is not valid. Setting to 'Uncategorized'
WARNING: Category '' in library Wire is not valid. Setting to 'Uncategorized'
In file included from f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\WiFiUdp.cpp:29:0:

f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\WiFiUdp.h:25:0: warning: "UDP_TX_PACKET_MAX_SIZE" redefined [enabled by default]

[HASHTAG]#define[/HASHTAG] UDP_TX_PACKET_MAX_SIZE 24

^

In file included from f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\utility/wifi_drv.h:26:0,

from f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\WiFiUdp.cpp:26:

C:\Documents and Settings\Admin\Local Settings\Application Data\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-947-g39819f0\libraries\ESP8266WiFi\src/WiFiUdp.h:28:0: note: this is the location of the previous definition

[HASHTAG]#define[/HASHTAG] UDP_TX_PACKET_MAX_SIZE 8192

^

In file included from f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\WiFiUdp.cpp:29:0:

f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\WiFiUdp.h:27:7: error: redefinition of 'class WiFiUDP'

class WiFiUDP : public UDP {

^

In file included from f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\utility/wifi_drv.h:26:0,

from f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\WiFiUdp.cpp:26:

C:\Documents and Settings\Admin\Local Settings\Application Data\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-947-g39819f0\libraries\ESP8266WiFi\src/WiFiUdp.h:32:7: error: previous definition of 'class WiFiUDP'

class WiFiUDP : public UDP, public SList<WiFiUDP> {

^

f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\WiFiUdp.cpp: In constructor 'WiFiUDP::WiFiUDP()':

f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\WiFiUdp.cpp:35:22: error: class 'WiFiUDP' does not have any field named '_sock'

WiFiUDP::WiFiUDP() : _sock(NO_SOCKET_AVAIL) {}

^

f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\WiFiUdp.cpp: In member function 'virtual uint8_t WiFiUDP::begin(uint16_t)':

f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\WiFiUdp.cpp:45:9: error: '_sock' was not declared in this scope

_sock = sock;

^

f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\WiFiUdp.cpp:46:9: error: '_port' was not declared in this scope

_port = port;

^

f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\WiFiUdp.cpp: In member function 'virtual int WiFiUDP::available()':

f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\WiFiUdp.cpp:56:7: error: '_sock' was not declared in this scope

if (_sock != NO_SOCKET_AVAIL)

^

f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\WiFiUdp.cpp: In member function 'virtual void WiFiUDP::stop()':

f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\WiFiUdp.cpp:66:8: error: '_sock' was not declared in this scope

if (_sock == NO_SOCKET_AVAIL)

^

f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\WiFiUdp.cpp:69:26: error: '_sock' was not declared in this scope

ServerDrv::stopClient(_sock);

^

f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\WiFiUdp.cpp: In member function 'virtual int WiFiUDP::beginPacket(IPAddress, uint16_t)':

f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\WiFiUdp.cpp:88:7: error: '_sock' was not declared in this scope

if (_sock == NO_SOCKET_AVAIL)

^

f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\WiFiUdp.cpp:90:7: error: '_sock' was not declared in this scope

if (_sock != NO_SOCKET_AVAIL)

^

f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\WiFiUdp.cpp: In member function 'virtual int WiFiUDP::endPacket()':

f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\WiFiUdp.cpp:101:32: error: '_sock' was not declared in this scope

return ServerDrv::sendUdpData(_sock);

^

f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\WiFiUdp.cpp: In member function 'virtual size_t WiFiUDP::write(const uint8_t*, size_t)':

f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\WiFiUdp.cpp:111:27: error: '_sock' was not declared in this scope

ServerDrv::insertDataBuf(_sock, buffer, size);

^

f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\WiFiUdp.cpp: In member function 'virtual int WiFiUDP::read()':

f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\WiFiUdp.cpp:125:23: error: '_sock' was not declared in this scope

ServerDrv::getData(_sock, &b);

^

f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\WiFiUdp.cpp: In member function 'virtual int WiFiUDP::read(unsigned char*, size_t)':

f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\WiFiUdp.cpp:137:31: error: '_sock' was not declared in this scope

if (!ServerDrv::getDataBuf(_sock, buffer, &size))

^

f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\WiFiUdp.cpp: In member function 'virtual int WiFiUDP::peek()':

f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\WiFiUdp.cpp:152:22: error: '_sock' was not declared in this scope

ServerDrv::getData(_sock, &b, 1);

^

f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\WiFiUdp.cpp: In member function 'virtual IPAddress WiFiUDP::remoteIP()':

f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\WiFiUdp.cpp:167:25: error: '_sock' was not declared in this scope

WiFiDrv::getRemoteData(_sock, _remoteIp, _remotePort);

^

f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\WiFiUdp.cpp: In member function 'virtual uint16_t WiFiUDP::remotePort()':

f:\Progger\AVR\Arduino\arduino165\arduino-nightly\libraries\WiFi\src\WiFiUdp.cpp:177:25: error: '_sock' was not declared in this scope

WiFiDrv::getRemoteData(_sock, _remoteIp, _remotePort);

^

exit status 1
Ошибка компиляции.
Неверная библиотека найдена в C:\Documents and Settings\Admin\Local Settings\Application Data\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-947-g39819f0\libraries\esp8266: C:\Documents and Settings\Admin\Local Settings\Application Data\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-947-g39819f0\libraries\esp8266
Неверная библиотека найдена в C:\Documents and Settings\Admin\Local Settings\Application Data\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-947-g39819f0\libraries\esp8266: C:\Documents and Settings\Admin\Local Settings\Application Data\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-947-g39819f0\libraries\esp8266

Это сообщение будет содержать больше информации чем
"Отображать вывод во время компиляции"
включено в Файл > Настройки
Єто оно чего так?
И вообще, у меня єти библиотеки тут находятся: C:\Documents and Settings\Admin\Local Settings\Application Data\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-947-g39819f0\libraries\ESP8266WebServer\examples\HelloServer\HelloServer.ino
И кроме того єти папки занимают 440Мб. Почему так много?
 
Последнее редактирование:

Stanislav_labs

New member
что-то неверное скачали ! У вас там походу бедлам с библиотеками !

короче научитесь делать так в корневой папке ардуино - библиотек по минимуму, только которые идус с ардуино иде.

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

т.е. проект esp8266
d:\Arduino\ esp8266 - ложим сам скетч
в d:\Arduino\ esp8266\libraries - кидаем все библиотеки для этого проекта
В настройках ардуино - указываем папку скетчей - d:\Arduino\ esp8266

Да муторно, да много место под одинаковые библиотеки.. но если вы этого не сделаете , то
постоянная мешанина библиотек - вам обеспечена..

соответственно при работе с каждым проектом, в настройках меняем папку со скетчем
 
  • Like
Реакции: AVL

AVL

Member
А вот єти 130 Мегабайт, о которіх говорит АВТОР куда грузятся? Ибо, они автоматически грузятся.
Установка Arduino IDE через Boards Manager
  1. Установите Arduino IDE с официального сайта Arduino.cc
  2. Запустить Arduino IDE, далее Файл – Настройки – в поле Additional Boards Manager URLs вставить ссылку на стабильную версию http://arduino.esp8266.com/package_esp8266com_index.jsonили для nightly build http://arduino.esp8266.com/staging/package_esp8266com_index.json, нажать OK (В это поле вы можете вводить несколько ссылок, разделенных запятой)
  3. Инструменты – Плата – Boards Manager
  4. В Boards Manager в поле фильтра введите esp8266 или вручную пролистайте список и кликните на ESP8266 by ESP8266 Community Forum
  5. Кликните Install и дождитесь окончания загрузки (около 130 Мегабайт).
 

Jon

Member
А вот єти 130 Мегабайт, о которіх говорит АВТОР куда грузятся? Ибо, они автоматически грузятся.
130 Мб = это прокладки для плат и устанавливается через менеджер плат (Boards Manager).
А еще есть установщик библиотек. Через него можно устанавливать новые библиотеки и обновлять старые.
Установщики похожи, но запускаются один из инструментов, а другой из проектов.
 
Последнее редактирование:
  • Like
Реакции: AVL

AVL

Member
130 Мб = это прокладки для плат и устанавливается через менеджер плат (Boards Manager).
А можно указать куда их ставить, или они по умолчанию себе ставятся?
Я чего спрашиваю, ибо ставлю на чистую Винду ХР Ардуино 165-ю.
Ставлю 8266 прокладку и сразу получаю ошибку компиляции, компилируя чистій скетч.
Єто на работе.
А дома на Виндовс 7, полёт нормальній.
 

Jon

Member
Про установку все внимательно читать и выполнять.
У меня 166 версия - практически все нормально работает.
1. В настройке указать правильный путь.
2.Почистить папку Android15. Туда и будет автоматически грузится сборка плат.
3. Найти нужную сборку.
 

Вложения

Последнее редактирование:
  • Like
Реакции: AVL

AVL

Member
Всё чищю, всё делаю красиво, ошибок меньше при компиляции, но всё-равно не компилирует.
Компилирую чистій проект или пример BLYNK.
Вот такаую ошибку даёт:
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\2.0.0-rc2\libraries\ESP8266WiFi\src/WiFiClient.h:28,

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

from F:\Progger\AVR\Arduino\MY\libraries\blynk-library-master\examples\BoardsAndShields\ESP8266_DirectConnect\ESP8266_DirectConnect.ino:32:

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
Ошибка компиляции.
Насколько я понимаю, в файле allocator.h что-то не то.
Файл физически есть в єтой папке.
На С++ что-то указівает.
У меня чистая Винда ХР. Может, чисто Виндосовского чего-то не хватает?
Повторюсь, что на домашнем компе всё работает, всё поставилось с первого раза, а на работе вот уже неделю не могу стартануть.
Если беру Arduino UNO, то компилируется нормально, как только 8266, то ошибка компиляции.
Спасибо!
 
Последнее редактирование:

Jon

Member
Может антивирус мешает или права на какие-то служебные папки закрыты.
 
  • Like
Реакции: AVL

AVL

Member
Как связать виртуальній пин с реальнім, или наоборот.
 

rcv

New member
Прошу сильно не пинать, если вопросы будут казаться глупыми.
У программы на андроиде установленной на смарте и платой ESP8266 обратная связь есть? Почему задаю такой вопрос. Собрал пример для мигания светодиодами скетч обычный ESP8266_Standalone, светодиоды моргают, все работает. Но если включить 2 или 1 диод у меня ESP8266_01, затем отключить ESP8266 от сети, затем повторно его включить он установит связь, Blynk на смарте по -прежнему показывает что диоды включены. Хотя по факту они не светятся. Это глюк или у системы нет отслеживания состояния пинов?
 

Stanislav_labs

New member
Прошу сильно не пинать, если вопросы будут казаться глупыми.
У программы на андроиде установленной на смарте и платой ESP8266 обратная связь есть? Почему задаю такой вопрос. Собрал пример для мигания светодиодами скетч обычный ESP8266_Standalone, светодиоды моргают, все работает. Но если включить 2 или 1 диод у меня ESP8266_01, затем отключить ESP8266 от сети, затем повторно его включить он установит связь, Blynk на смарте по -прежнему показывает что диоды включены. Хотя по факту они не светятся. Это глюк или у системы нет отслеживания состояния пинов?
это глюк самого Blynk к сожалению
 

rcv

New member
Поделитесь пожалуйста простым скетчем для измерения температуры например на DS18B20 или АМ2302. Пытаюсь загрузить скетчи с 3 и 4 страниц данной темы у меня вылазит куча ошибок и компиляция не проходит.
 

rcv

New member
Пытаюсь залить скетч из примера http://www.instructables.com/id/ESP8266-12-blynk-wireless-temperature-e-humidity-D/step4/Sketch/ при компиляции выдает следующие ошибки:
D:\arduino\blink\blynk_esp8266_dht11_instructable\blynk_esp8266_dht11_instructable.ino: In function 'void setup()':
blynk_esp8266_dht11_instructable:49: error: 'sendUptime' was not declared in this scope
timer.setInterval(1000L, sendUptime);
^
exit status 1
'sendUptime' was not declared in this scope

Сразу скажу что у меня Ардуино лежит на диске С, на D у меня такого нет. Что где нужно поправлять. Библиотеки брал из этого же примера.
 

Stanislav_labs

New member
Поделитесь пожалуйста простым скетчем для измерения температуры например на DS18B20 или АМ2302. Пытаюсь загрузить скетчи с 3 и 4 страниц данной темы у меня вылазит куча ошибок и компиляция не проходит.
Датчик сажаем на пин 0, в блинке отслеживаем Virtual 1

[HASHTAG]#define[/HASHTAG] BLYNK_PRINT Serial
[HASHTAG]#include[/HASHTAG] <ESP8266WiFi.h>
[HASHTAG]#include[/HASHTAG] <BlynkSimpleEsp8266.h>

[HASHTAG]#include[/HASHTAG] <OneWire.h>
[HASHTAG]#include[/HASHTAG] <DallasTemperature.h>

[HASHTAG]#define[/HASHTAG] ONE_WIRE_BUS 0 // DS18B20 pin
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature DS18B20(&oneWire);

float oldTemp;

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "тут ваш токег";

void setup()
{
Serial.begin(9600);
Blynk.begin(auth, "тут ваша вафля", "тут пароль от вафли");

while (Blynk.connect() == false) {
}
Blynk.notify("Device started !");
}

void loop()
{

float temp;
do {
DS18B20.requestTemperatures();
temp = DS18B20.getTempCByIndex(0);
Serial.print("Temperature: ");
Serial.println(temp);
} while (temp == 85.0 || temp == (-127.0));

Blynk.virtualWrite(1, temp); // Virtual 1
Blynk.run();

}
 
Сверху Снизу