Ардуино - WiFi мост на ESP8266 : ESP-LINK
- ivanpost
- Сержант
- Сообщения: 203
- Зарегистрирован: 24 сен 2016, 22:26
- Откуда: Тольятти
- Имя: Иван
- Благодарил (а): 3 раза
- Поблагодарили: 8 раз
- Контактная информация:
Ардуино - WiFi мост на ESP8266 : ESP-LINK
Здравствуйте! Вы не смогли исправить блок для версии Esp-Link 3.014 ? Интересует публикация. Примеры из ElClient в ней работают нормально.
Огромный сорри! На второй странице указано, что 2.2.3 - стабильная версия. С ней - работает.
Огромный сорри! На второй странице указано, что 2.2.3 - стабильная версия. С ней - работает.
- ivanpost
- Сержант
- Сообщения: 203
- Зарегистрирован: 24 сен 2016, 22:26
- Откуда: Тольятти
- Имя: Иван
- Благодарил (а): 3 раза
- Поблагодарили: 8 раз
- Контактная информация:
Блок для ESP8266, Связь с миром по MQTT.
Все таки в блоке el-client publish_0.1 чего то не хватает...
После загрузки не может найти какую то синхронизацию... требуется ресетить Esp и слегка танцевать бубном.
С библиотечным примером такого нет...
0 23:5 0
ELC: got 128 @407: A0D 4A207374 6520 61 6E 20 20 38 20 32 30 31 33 2C 72 73 74 20 63 61 75 73 65 3A 31 2C 20 62 6F 6F 74 20 6D 6F 64 65 3A 28 33 2C 37 29 D A D A 6C 6F 61 64 20 30 78 34 30 31 30 30 30 30 30 2C 20 6C 65 6E 20 32 35 39 32 2C 20 72 6F 6F 6D 20 31 36 20 D A 74 61 69 6C 20 30 D A 63 68 6B 73 75 6D 20 30 78 66 33 D A 6C 6F 61 64 20 30 78 33 66 66 65 38 30 30 30 2C 20 6C 65
ELC: Invalid CRC
ELC: got 10 @407: 1 0 0 BF 81
NEED_SYNC!
После загрузки не может найти какую то синхронизацию... требуется ресетить Esp и слегка танцевать бубном.
С библиотечным примером такого нет...
0 23:5 0
ELC: got 128 @407: A0D 4A207374 6520 61 6E 20 20 38 20 32 30 31 33 2C 72 73 74 20 63 61 75 73 65 3A 31 2C 20 62 6F 6F 74 20 6D 6F 64 65 3A 28 33 2C 37 29 D A D A 6C 6F 61 64 20 30 78 34 30 31 30 30 30 30 30 2C 20 6C 65 6E 20 32 35 39 32 2C 20 72 6F 6F 6D 20 31 36 20 D A 74 61 69 6C 20 30 D A 63 68 6B 73 75 6D 20 30 78 66 33 D A 6C 6F 61 64 20 30 78 33 66 66 65 38 30 30 30 2C 20 6C 65
ELC: Invalid CRC
ELC: got 10 @407: 1 0 0 BF 81
NEED_SYNC!
-
- Лейтенант
- Сообщения: 530
- Зарегистрирован: 05 апр 2016, 23:30
- Откуда: Санкт-Петербург
- Имя: Илья
Ардуино - WiFi мост на ESP8266 : ESP-LINK
[ref]ivanpost[/ref], подробнее напишите - что вы делаете и что из этого получается
- ivanpost
- Сержант
- Сообщения: 203
- Зарегистрирован: 24 сен 2016, 22:26
- Откуда: Тольятти
- Имя: Иван
- Благодарил (а): 3 раза
- Поблагодарили: 8 раз
- Контактная информация:
Ардуино - WiFi мост на ESP8266 : ESP-LINK
Использую стандартный блок Setup и стандартные блоки el-client publish_0.1.
Север - Москито на OpenWrt. На прошивке Esp-Link - 2.2.3 - работает устойчиво. Но сама эта прошивка имеет глюк когда "пропадает" точка доступа и вместо перехода в AP бесконечно ищет пропавшую точку доступа. Ну не бесконечно, можно вклинится, но трудно.
Однако есть еще проблема - при включении питания нужно перегружать Esp, иначе MQTT тоже "висит" без синхронизации.
На прошивке Esp-Link 3.2.47 иногда зацепляется и потом работает, но в основном шлет NEED_SYNC. А в других аспектах эта прошивка лучше - она хорошо подбирает скорость при avrflash и нормально становится AP.
С библиотечным примером этих проблем нету, возможно из за блочка в Setup:
bool ok;
do {
ok = esp.Sync(); // sync up with esp-link, blocks for up to 2 seconds
if (!ok) Serial.println("EL-Client sync failed!");
} while(!ok);
Serial.println("EL-Client synced!");
Но у меня квалификация пока не достаточная, чтобы осознать зависимость.
Отправлено спустя 27 минут 27 секунд:
[ref]starshoy81[/ref], вы вообще с ESP-LINK и EL-Client нормально разобрались? Там какие REST запросы есть? Может можно ресет esp делать после загрузки? (не ножкой).
Север - Москито на OpenWrt. На прошивке Esp-Link - 2.2.3 - работает устойчиво. Но сама эта прошивка имеет глюк когда "пропадает" точка доступа и вместо перехода в AP бесконечно ищет пропавшую точку доступа. Ну не бесконечно, можно вклинится, но трудно.
Однако есть еще проблема - при включении питания нужно перегружать Esp, иначе MQTT тоже "висит" без синхронизации.
На прошивке Esp-Link 3.2.47 иногда зацепляется и потом работает, но в основном шлет NEED_SYNC. А в других аспектах эта прошивка лучше - она хорошо подбирает скорость при avrflash и нормально становится AP.
С библиотечным примером этих проблем нету, возможно из за блочка в Setup:
bool ok;
do {
ok = esp.Sync(); // sync up with esp-link, blocks for up to 2 seconds
if (!ok) Serial.println("EL-Client sync failed!");
} while(!ok);
Serial.println("EL-Client synced!");
Но у меня квалификация пока не достаточная, чтобы осознать зависимость.
Отправлено спустя 27 минут 27 секунд:
[ref]starshoy81[/ref], вы вообще с ESP-LINK и EL-Client нормально разобрались? Там какие REST запросы есть? Может можно ресет esp делать после загрузки? (не ножкой).
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Ардуино - WiFi мост на ESP8266 : ESP-LINK
[ref]ivanpost[/ref],
Часть кода из секции setup, приведённая Вами - это задержка для перехода к основной части программы, loop, только после получения сообщения о синхронизации, наверно с сервером. Вещь нужная.
Часть кода из секции setup, приведённая Вами - это задержка для перехода к основной части программы, loop, только после получения сообщения о синхронизации, наверно с сервером. Вещь нужная.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
-
- Лейтенант
- Сообщения: 530
- Зарегистрирован: 05 апр 2016, 23:30
- Откуда: Санкт-Петербург
- Имя: Илья
Ардуино - WiFi мост на ESP8266 : ESP-LINK
[ref]ivanpost[/ref], судя по странице гитхаба, версия 2.2.3 до сих пор основная, более новые это беты, поэтому поручиться за их работу нельзя. Вопрос прошивки через есп, у меня не был на первом месте, хотя я и пробовал так делать - прошивалось не каждый раз. У меня устройство на этой прошивке в аптайме 24/7 с марта 2018, был один раз когда батарея разрядилась и всё выключилось (и роутер с брокером и есп), после подачи питания всё восстановилось без ресетов и продолжает работать дальше.
Попробуйте этот кусок кода вставить в setup своего кода - может получиться синхронизация с ардуиной.
REST запросы только исходящие.
Попробуйте этот кусок кода вставить в setup своего кода - может получиться синхронизация с ардуиной.
REST запросы только исходящие.
- ivanpost
- Сержант
- Сообщения: 203
- Зарегистрирован: 24 сен 2016, 22:26
- Откуда: Тольятти
- Имя: Иван
- Благодарил (а): 3 раза
- Поблагодарили: 8 раз
- Контактная информация:
Ардуино - WiFi мост на ESP8266 : ESP-LINK
Rest входящие есть при перепрошивке через HTTP POST. В этом случае ардуина прошивается практически гарантированно и очень быстро. Так же как через arduinoOTA.
Я два месяца танцевал с бубном при прошивке через Tibbo и com-порты. Мне надо прошивать довольно далекие esp. Стабильность прошивки была неуверенная для больших прошивок.
Теперь прошивается даже через интернет, само назначает скорость порта (на 2.2.3 не очень уверенно), не трогает EEPROM и другие прелести! Всем кому нужно - настоятельно рекомендую! avrflash.cmd у меня такой:
@echo off
curl -m 10 -s -XPOST http://192.168.31.23/pgm/sync
ping -n 1 -w 1500 10.10.254.254 >nul
curl -m 10 -s http://192.168.31.23/pgm/sync
echo.
curl -m 10 -s -g -d "@mysketh.hex" "http://192.168.31.23/pgm/upload"
pause
192.168.31.23 - адрес моего Esp. Можно использовать подстановку адреса и файла в cmd.
Я два месяца танцевал с бубном при прошивке через Tibbo и com-порты. Мне надо прошивать довольно далекие esp. Стабильность прошивки была неуверенная для больших прошивок.
Теперь прошивается даже через интернет, само назначает скорость порта (на 2.2.3 не очень уверенно), не трогает EEPROM и другие прелести! Всем кому нужно - настоятельно рекомендую! avrflash.cmd у меня такой:
@echo off
curl -m 10 -s -XPOST http://192.168.31.23/pgm/sync
ping -n 1 -w 1500 10.10.254.254 >nul
curl -m 10 -s http://192.168.31.23/pgm/sync
echo.
curl -m 10 -s -g -d "@mysketh.hex" "http://192.168.31.23/pgm/upload"
pause
192.168.31.23 - адрес моего Esp. Можно использовать подстановку адреса и файла в cmd.
-
- Лейтенант
- Сообщения: 530
- Зарегистрирован: 05 апр 2016, 23:30
- Откуда: Санкт-Петербург
- Имя: Илья
Ардуино - WiFi мост на ESP8266 : ESP-LINK
[ref]ivanpost[/ref], по идее это служебные rest, зашитые в прошивке есплинк, для сброса загрузчика optiboot ардуины и приведение его в состояние ожидания загрузки прошивки.
- ivanpost
- Сержант
- Сообщения: 203
- Зарегистрирован: 24 сен 2016, 22:26
- Откуда: Тольятти
- Имя: Иван
- Благодарил (а): 3 раза
- Поблагодарили: 8 раз
- Контактная информация:
Ардуино - WiFi мост на ESP8266 : ESP-LINK
Друзья! Может все же поможет кто-то понять в чем дело?
На базе библиотеки ELClient сделал новый блок инициализации. Теперь он кроме MQTT еще и TCP клиент. Можно подключаться к серверу по ip или hostname и получать от него ответ на запрос.
Слегка изменил блок уважаемого [ref]starshoy81[/ref], el-client publish_01, чтобы можно было указывать имя топика для отправки данных (у меня много топиков).
Все работает как часы - система отлично стартует, принимаются и отправляются данные топиков, производится запрос у другого ESP и получается нужный ответ (мини-модбас
между двумя). Есть определение всех ошибок - сети, не ответа и тп.
Проблема в одном - не могу отключить лог ESP в консоли. Не понимаю, откуда он берется, вроде бы лог на off стоит.
Вероятно, из самой библиотеки.
Версия Esp-Link 3.2.47 на 2.2.3 не коннектится, вероятно, там не все функции поддерживаются.
Помогите или посоветуйте, где покопать.
Окно консоли

Отправлено спустя 8 часов 36 минут 34 секунды:
Да, в прошивке 3.2.47 не нужно переносить команды на подписку на топик! Вставляешь блоки и сразу все работает!
На базе библиотеки ELClient сделал новый блок инициализации. Теперь он кроме MQTT еще и TCP клиент. Можно подключаться к серверу по ip или hostname и получать от него ответ на запрос.
Слегка изменил блок уважаемого [ref]starshoy81[/ref], el-client publish_01, чтобы можно было указывать имя топика для отправки данных (у меня много топиков).
Все работает как часы - система отлично стартует, принимаются и отправляются данные топиков, производится запрос у другого ESP и получается нужный ответ (мини-модбас

Проблема в одном - не могу отключить лог ESP в консоли. Не понимаю, откуда он берется, вроде бы лог на off стоит.
Вероятно, из самой библиотеки.
Версия Esp-Link 3.2.47 на 2.2.3 не коннектится, вероятно, там не все функции поддерживаются.
Помогите или посоветуйте, где покопать.
Окно консоли

Отправлено спустя 8 часов 36 минут 34 секунды:
Да, в прошивке 3.2.47 не нужно переносить команды на подписку на топик! Вставляешь блоки и сразу все работает!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- ivanpost
- Сержант
- Сообщения: 203
- Зарегистрирован: 24 сен 2016, 22:26
- Откуда: Тольятти
- Имя: Иван
- Благодарил (а): 3 раза
- Поблагодарили: 8 раз
- Контактная информация:
Ардуино - WiFi мост на ESP8266 : ESP-LINK
Итак, успех достгнут!
Галка с дебагом наверно залипла!
Закомментировал куски кода про непосредственно в файле ELClient.cpp
Всё работает, в консоли только то что надо.
"Исправленный" файл - прилагаю.
Итого: Esp-link 3.2.47 + ELClient 3.0. Альфа0
1. MQTT работает на прием и передачу без перетаскивания функций. Правда я не фильтровал подписки (#) - нет необходимости.
2. Можно осуществить TCP запрос к серверу (если он его понимает) и получить пакет данных в ответ.
3. Можно передать TCP серверу свои данные (опять же, если ждет их).
4. Отображение всех ошибок подключения, передачи и приема.
5. OTA или cURL прошивка Atmega "по воздуху" с автоматическим подбором скорости.
Галка с дебагом наверно залипла!

Закомментировал куски кода про
Код: Выделить всё
if (_debugEn)
Всё работает, в консоли только то что надо.
"Исправленный" файл - прилагаю.
Итого: Esp-link 3.2.47 + ELClient 3.0. Альфа0
1. MQTT работает на прием и передачу без перетаскивания функций. Правда я не фильтровал подписки (#) - нет необходимости.
2. Можно осуществить TCP запрос к серверу (если он его понимает) и получить пакет данных в ответ.
3. Можно передать TCP серверу свои данные (опять же, если ждет их).
4. Отображение всех ошибок подключения, передачи и приема.
5. OTA или cURL прошивка Atmega "по воздуху" с автоматическим подбором скорости.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- ivanpost
- Сержант
- Сообщения: 203
- Зарегистрирован: 24 сен 2016, 22:26
- Откуда: Тольятти
- Имя: Иван
- Благодарил (а): 3 раза
- Поблагодарили: 8 раз
- Контактная информация:
Ардуино - WiFi мост на ESP8266 : ESP-LINK
Кому нужны TCP запросы - имейте в виду, что отправляете их из одного блока TCP_Client_Response, а ответ получаете в ELClient_Setup.
Пока так работает.
Пока так работает.
Ардуино - WiFi мост на ESP8266 : ESP-LINK
Пора уже переходить на esp8266 12, если нужно mqtt. Начал проект делать, но данных отсылать нужно много, не хватило памяти ардуины, да и тормознутая она, только для малых проектов без использования сети.
- ivanpost
- Сержант
- Сообщения: 203
- Зарегистрирован: 24 сен 2016, 22:26
- Откуда: Тольятти
- Имя: Иван
- Благодарил (а): 3 раза
- Поблагодарили: 8 раз
- Контактная информация:
Ардуино - WiFi мост на ESP8266 : ESP-LINK
[ref]User8[/ref], Пора уже... Или на 32.
Не очень лестно отзываются о них в плане стабильности. Якобы ошибки в кристалле. Мало выходов, еще меньше аналоговых. Городить расширения.
Другая схемотехника плат. Другая инфраструктура.
Как сделать чтобы сразу был клиент и сервер?
Затормозить можно что угодно. Быстродействие мало отличается. Память - да.
А может я просто не умею их готовить.
Не очень лестно отзываются о них в плане стабильности. Якобы ошибки в кристалле. Мало выходов, еще меньше аналоговых. Городить расширения.
Другая схемотехника плат. Другая инфраструктура.
Как сделать чтобы сразу был клиент и сервер?
Затормозить можно что угодно. Быстродействие мало отличается. Память - да.
А может я просто не умею их готовить.

- ivanpost
- Сержант
- Сообщения: 203
- Зарегистрирован: 24 сен 2016, 22:26
- Откуда: Тольятти
- Имя: Иван
- Благодарил (а): 3 раза
- Поблагодарили: 8 раз
- Контактная информация:
Ардуино - WiFi мост на ESP8266 : ESP-LINK
Обновил блок Setup. Добавлен выход оповещающий об ответе TCP сервера.
Добавил блок получения Unix Time. Очень удобно отсчитывать интервалы. Получает время с роутера по переднему фронту соответствующего входа. Можно пересчитать в реальное время, кому надо.
Блок TCP Client Response получил вход с текстом запроса (мой сервер понимает разные).
Обновил библиотеку.
Остальные работающие блоки из связки - за компанию.
Добавил блок получения Unix Time. Очень удобно отсчитывать интервалы. Получает время с роутера по переднему фронту соответствующего входа. Можно пересчитать в реальное время, кому надо.
Блок TCP Client Response получил вход с текстом запроса (мой сервер понимает разные).
Обновил библиотеку.
Остальные работающие блоки из связки - за компанию.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- ivanpost
- Сержант
- Сообщения: 203
- Зарегистрирован: 24 сен 2016, 22:26
- Откуда: Тольятти
- Имя: Иван
- Благодарил (а): 3 раза
- Поблагодарили: 8 раз
- Контактная информация:
Ардуино - WiFi мост на ESP8266 : ESP-LINK
Библиотека ELClient.cpp с закоментированными строками.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ардуино - WiFi мост на ESP8266 : ESP-LINK
как обновить прошивку до 3.2.47? На гитхабе нет user2.bin для этой версии.
- ivanpost
- Сержант
- Сообщения: 203
- Зарегистрирован: 24 сен 2016, 22:26
- Откуда: Тольятти
- Имя: Иван
- Благодарил (а): 3 раза
- Поблагодарили: 8 раз
- Контактная информация:
Ардуино - WiFi мост на ESP8266 : ESP-LINK
[ref]User8[/ref], user1 переименовать но важно чтобы ваша прошивка была 3.0.14, 2.2.3 - не обновит. Прошивать заново. ( у меня - не заработало) вероятно потому что нету файла с настройками.
Отправлено спустя 7 минут :
Поразбирался с блоком Subscribe. Предлагаю свою версию. Подразумевается подписка на все топики, а эти блоки просто ждут данных в своем топике.
Если блоков несколько, то желательно чтобы переменные на выходе были уникальны, потому что транслятор их сливает в одну сам. Ну или использовать данные сразу после блока.
Отправлено спустя 7 минут :
Поразбирался с блоком Subscribe. Предлагаю свою версию. Подразумевается подписка на все топики, а эти блоки просто ждут данных в своем топике.
Если блоков несколько, то желательно чтобы переменные на выходе были уникальны, потому что транслятор их сливает в одну сам. Ну или использовать данные сразу после блока.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ардуино - WiFi мост на ESP8266 : ESP-LINK
я вообще не вижу там файлов для прошивки на версию 3.2.47, где их взять?
- ivanpost
- Сержант
- Сообщения: 203
- Зарегистрирован: 24 сен 2016, 22:26
- Откуда: Тольятти
- Имя: Иван
- Благодарил (а): 3 раза
- Поблагодарили: 8 раз
- Контактная информация:
Ардуино - WiFi мост на ESP8266 : ESP-LINK
https://github.com/jeelabs/esp-link/releases
Гитхаб - страшная сила! Надо смотреть релизы! Они их не всегда на главную выносят.
К вопросу о нехватке памяти. Вставил это все в свой прокет. Конечно сразу не взлетело. Эти обмены, особенно TCP критичны к текущей загрузке и остановам. Поэтому в тяжелых процессах (как водосчетчики), требующих ожиданий надо делать паузы.
После добавления пары триггеров и && все полетело как надо. В свою очередь и запросы рекомендуется начинать когда уже что-то важное свершилось. Думаю для Esp это тоже актуально. Я это прошел еще на Симатиках в 90-е годы
Отправлено спустя 51 минуту 48 секунд:
ЕЩЕ ВАЖНО!
Друг-друга эти запросы тоже не больно жалуют. Очевидно, "быстрая" Esp не справляется. Нужно разносить по времени. Иначе:
ELC: Invalid CRC
Гитхаб - страшная сила! Надо смотреть релизы! Они их не всегда на главную выносят.

К вопросу о нехватке памяти. Вставил это все в свой прокет. Конечно сразу не взлетело. Эти обмены, особенно TCP критичны к текущей загрузке и остановам. Поэтому в тяжелых процессах (как водосчетчики), требующих ожиданий надо делать паузы.
После добавления пары триггеров и && все полетело как надо. В свою очередь и запросы рекомендуется начинать когда уже что-то важное свершилось. Думаю для Esp это тоже актуально. Я это прошел еще на Симатиках в 90-е годы

Отправлено спустя 51 минуту 48 секунд:
ЕЩЕ ВАЖНО!
Друг-друга эти запросы тоже не больно жалуют. Очевидно, "быстрая" Esp не справляется. Нужно разносить по времени. Иначе:
ELC: Invalid CRC
Ардуино - WiFi мост на ESP8266 : ESP-LINK
Там в архиве в последней версии нет файлов для прошивки.
Это не esp, я на nodemcu esp 12e написал большой проект, с отправкой множества длинных строк на mqtt, все отрабатывает как часы, без всяких триггеров.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость