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

Вопрос Прошивка Arduino через ESP8266

Использую esp как мост в сеть для arduino
Подумал что было бы удобно заливать новый скетч в ардуино по сети через esp.
Теоретически как мне кажется этому ничего не мешает.
Не встречали подобных проектов?
 

dao89

New member
Расскажу свою историю.
У меня дома установлены несколько ардуин (маленькие pro mini за 100 рублей на atmega328), которые управляют освещением (светодиодными лентами через мосфеты (ШИМ на ~30 кГц), люстрами (433 мгц)), кое-где ленты управляются при помощи "крутилок", используя ADC ардуино, датчики движения, влажности, освещения, расстояния... Это всё отлажено и очень стабильно работает (ни одного зависания или ещё чего-то подобного за год) и желания всё это пытаться подключать напрямую к ESP никакого нет. Прошивал эти ардуины я при помощи маленького рутера mr3020 с установленным ser2net. На компьютере настроен виртуальный ком-порт от Tibbo. Слабое место в моём умном доме была связь между модулями и внешним миром - она сейчас через nrf24, у которых с дальностью связи всё очень даже плохо, да и они занимают кучу выводов у ардуины.
В январе 2015 я заказал разных модулей на ESP8266 (в основном ESP-07) и только сейчас реально решил ими заняться вплотную (может быть и не зря на столько отложил - за это время стабильно прошивок и их разнообразие явно возросло).
В общем, я потратил много времени, изучая различные форумы по этому вопросу. Первым делом прошил TCP2UART от pvvx, прошивка хороша, бесспорно, но для автоматической прошивки арудины не хватало автоматического сброса. Да и хотелось бы иметь возможность удобной передачи данных в\из ардуины через MQTT. В общем, нашел замечательный проект https://github.com/jeelabs/esp-link (там и ссылка на прошивку и описание), в ней хороший веб-интерфейс с необходимыми настройками, указывается пин ESP, на который подключен пин reset арудины (у себя подключил к DTR пину на pro mini), настроил на компе виртуальный ком порт через tibbo vsp manager и без всяких проблем заливаю любые скетчи в ардуину через arduino ide (или любой другой удобный способ, я использую Visual Studio с Visual Micro) в полностью автоматическом режиме, будто бы ардуина подключена не к ESP, а напрямую к компьютеру. Причем прошивка идёт стабильно и быстро даже если уйти за пару комнат от маршрутизатора. Также в этой прошивке предусмотрен двухсторонний обмен с ардуиной через mqtt, но это я ещё не проверял. Думаю не у меня одного дома уже есть "умный дом" в том или ином виде и не я один хочу подключить всё это к wifi с возможностью удаленной перепрошивки и удобного обмена данными. Странно, что про эту прошивку на этом сайте нет информации...
Надеюсь это кому-то поможет. Я бы сэкономил кучу времени, если бы изначально знал, что есть такой вот проект для esp8266, который идеально под мои задачи подходит. Кстати, при помощи этой прошивки можно прошивать другие ESP8266 и не только их.
Пользуясь случаем, выражаю благодарность всем, кто развивает это направление и помогает другим, делится опытом, выкладывает прошивки и т.п.
 
Последнее редактирование:

dao89

New member
@Victor, к каждой ардуине будет подключена ESP, которая, как я уже писал, с прошивкой esp-link, будет выступать посредником между ардуиной и mqtt сервером. Соответственно, если все ардуины смогут обмениваться сообщениями с общим mqtt сервером, то и между собой смогут через него же, разве нет? С mqtt пока что дела не имел, потому не уверен на 100%. Даже если нет - не беда, с программированием я знаком, сделаю программу для рутера на openwrt или компьютера, которая будет держать связь со всеми ардуинами и управлять ими. Тут точно никаких препятствий быть не может. А там и управление с телефона прикрутить не проблема - это и сейчас у меня есть (правда пока не очень удобно - путем подачи текстовых команд через telnet через JuiceSSH на андроиде).

P.S. Если ваш вопрос про "внешний мир", то под этим я понимал возможность управления "умным домом" с телефона через wi-fi. На вашем сайте есть статьи про IoT manager и blynk, кажется они как раз таки расчитаны на работу с mqtt сервером
 
Последнее редактирование:

Victor

Administrator
Команда форума
статьи про IoT manager
именно поэтому и интересуюсь, было бы полезно знать "хотелки" пользователей и реализовать в IoT Manager интересные идеи.
Если будете использовать mqtt или rest и захотите всем эти управлять через IoT Manager - маякните мне в этой теме
 

sav-13

Member
Расскажу свою историю.
В общем, нашел замечательный проект https://github.com/jeelabs/esp-link (там и ссылка на прошивку и описание), в ней хороший веб-интерфейс с необходимыми настройками, указывается пин ESP, на который подключен пин reset арудины (у себя подключил к DTR пину на pro mini), настроил на компе виртуальный ком порт через tibbo vsp manager и без всяких проблем заливаю любые скетчи в ардуину через arduino ide
У меня ESP-link по HTTP видится нормально, а вот TIBBO его не видит.
Там ведь порты 23 и 2323 должны быть?
Захожу телнетом на ESP-link - тоже нормально порт отрабатывает
 
Последнее редактирование:

dao89

New member
sav-13, да, используется tcp порт 23. Также нужно не забыть указать на влкадке uC Console правильную скорость для прошивки ардуины (у меня 57600). Также через эту же вкладку (uC Console) можно проверить идёт ли обмен данными с ардуиной. Также должна работать кнопка uC Reset (при её нажатии ардуина должна перезапуститься, мои pro mini моргают светодиодом в этот момент)...
 

Вложения

Sss

New member
Зачем изобретать велосипед? в Arduino IDE скачиваете ESP core все описано здесь https://github.com/esp8266/Arduino
Там есть примеры ESP8266AVRISP и куча всяких OTA, комбинируй их вместе, да хоть тупой blynk припаять можно!.. и вуаля: прошиваем и сами себя и ардуину + еще и с инетом поработать чуток можно (без фанатизма иначе глюки прут )))
Как ни странно все работает, только с Arduino IDE сексом позаниматься нужно ибо версии последние какие-то глюковатые..
У меня например нешьется через IDE зато прекрасно через Sinaprog ( в этом есть и + узнал что такое averdude, помучал fuse bit, восстановил пару запоротых УН)))
 
Последнее редактирование:

sav-13

Member
sav-13, да, используется tcp порт 23. Также нужно не забыть указать на влкадке uC Console правильную скорость для прошивки ардуины (у меня 57600). Также через эту же вкладку (uC Console) можно проверить идёт ли обмен данными с ардуиной. Также должна работать кнопка uC Reset (при её нажатии ардуина должна перезапуститься, мои pro mini моргают светодиодом в этот момент)...
Спасибо. Все заработало. Для надежной прошивки получается скорость прошивки нужно ставить в uC консоли и скорость по умолчанию в TIBBO.

Зачем изобретать велосипед? в Arduino IDE скачиваете ESP core все описано здесь https://github.com/esp8266/Arduino
Там есть примеры ESP8266AVRISP и куча всяких OTA, комбинируй их вместе, да хоть тупой blynk припаять можно!.. и вуаля: прошиваем и сами себя и ардуину + еще и с инетом поработать чуток можно (без фанатизма иначе глюки прут )))
Как ни странно все работает, только с Arduino IDE сексом позаниматься нужно ибо версии последние какие-то глюковатые..
У меня например нешьется через IDE зато прекрасно через Sinaprog ( в этом есть и + узнал что такое averdude, помучал fuse bit, восстановил пару запоротых УН)))
Не нашел прозрачной прошивки в примерах. Да еще и большая часть только на 4Мб работает. ESP Core стабильно работает на 1.6.5 и стабильно не работает на более старших версиях IDE.
 

086dx66

Member
коллеги собрал переходник для прошивки через есп линк для promini 5v (т.к. у 3в пины по другому идут)
2.jpg
поставил esp-link 2.2.3
данные в логе все показывает на ресет реагирует
putty заходит телнетом по 2323 порту на него

не могу настроить tibbo
версия 5.10.01 64бит
пробовал 32 бит - не встает
изначально ругался на не подписанный драйвер, поправил локальную политику
теперь встает с варнингами и не сохраняет скорость портов и эти порты не видно в adruino ide
винда 7 64 бит лицензия, апдейты все стоят
текущий пользователь в группе админы
пробовал делать "запуск от администратора" никакой разницы
никто с таким не сталкивался ?

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

dao89

New member
Проблема тут явно в том самом восклицательном знаке, на виртуальном com-порту, драйвер нормально не установился. Скорость порта, которая выставлена в настройках, ни на что совершенно не влияет. Скорость нужно выставлять в интерфейсе esp-link, не со стороны виртуального com-порта, который работает через tcp-соединение...
 

086dx66

Member
разобрался с помощью тех суппорта tibbo
вообщем проблема была в обновлениях винды
допом поставил
Windows6.1-KB3179573-x64
Windows6.1-KB3172605-x64
Windows6.1-KB3033929-x64
один из них помог
 

Annak1n

New member
Ребята подскажите что не так.
Залил на ESP-07 прошивку от ESP-Link установил Тиббо всё нормально в консоли ЕСП всё отрабатывает, при нажатии на ресет Ардуинка ребутается но когда я пытаюсь залить Скетч через Arduino IDE мне выдаёт такую ошибку:
Код:
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
Вкачества Ардуинки использую Mega 2560 + Изернет Шилд 5100

В мониторе Тиббо выдаёт вот это:
Код:
12/27/16 23:39:51 - COM2 (ERROR): "On-the-Fly" command for 192.168.0.242 - set baud rate to 115200 bps...timed out
12/27/16 23:39:51 - COM2 (WARNING): "On-the-Fly" settings disabled (until connection established or port opened next time)
12/27/16 23:40:44 - COM2 (INFO): TCP connection with 192.168.0.242:2323 closed
12/27/16 23:40:44 - COM2 (INFO): Device closed
12/27/16 23:42:18 - COM2 (INFO): VSP opened, transport=TCP(TDI), routing=client, remote=192.168.0.242:2323, connect=immediately, OTF=out-of-band
12/27/16 23:42:18 - COM2 (INFO): Established TCP connection with 192.168.0.242:2323
 
Последнее редактирование:

DAD

New member
Вопрос: есть ли библиотека для ESP под ардуино IDE, чтобы прошивать ардуино удаленно, желательно биновским откомилированным файлом? А если нет, то как это можно сделать? Суть проблемы - есть связка ESP и ардуино-мини, ESP мало ног для управления датчиками и стабильность работы меня совершенно не устраивает при работе в реальном времени, поэтому мини и ESP работают вместе по UART. ESP - веб-морда, просто пульт на страничке, а ардуина выполняет все функции по обработке показаний датчиков и управлению реле. Теплица, в общем. Но хотелось бы, чтобы OTA работало не только на ESP, но можно было бы прошить и ардуину. ESP-link замечательная вещь, но у меня свой веб-сервер на есп крутится со своими страничками. Есть ли способ без танцев с бубном прошить ардуину из своей прошивки на ESP по UART?
 
Сверху Снизу