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

Вопрос REST сервер на Arduino + ESP

CyanoFresh

New member
Всем привет. Я новичок в esp8266. У меня получилось подключить Arduino UNO и esp8266 01. До этого я использовал Arduino + ENC28J60 Ethernet модуль(то есть по проводу). Тогда я использовал библиотеку aREST для запросов и управления arduino через них. Сейчас хочу сделать тоже самое, но на wifi. Есть ли что то похожее для этой связки? То есть: делаю get запрос на arduino, через esp, подключенный к wifi точке, а на самом ардуино уже идет обработка запроса и выполняется код(установить high для пина, получить статус пина, и т.д.).

Многие на форуме пишут, что нужно такое делать в обход arduino, то есть сразу на esp (aREST даже есть специально для него), но, насколько я понимаю, на моем esp только 2 выхода\входа, которые я могу использовать, а на ардуино их намного больше(в своем проекте использую около 4ех). То есть еще один вопрос: как обойти arduino, если у esp только 2 пина, а нужно больше?
 

tretyakov_sa

Moderator
Команда форума
Всем привет. Я новичок в esp8266. У меня получилось подключить Arduino UNO и esp8266 01. До этого я использовал Arduino + ENC28J60 Ethernet модуль(то есть по проводу). Тогда я использовал библиотеку aREST для запросов и управления arduino через них. Сейчас хочу сделать тоже самое, но на wifi. Есть ли что то похожее для этой связки? То есть: делаю get запрос на arduino, через esp, подключенный к wifi точке, а на самом ардуино уже идет обработка запроса и выполняется код(установить high для пина, получить статус пина, и т.д.).
Если получать get запросы и передавать их в Serialа, там уже aRest все сделает. В библиотеке aRest есть пример serial.
 

tretyakov_sa

Moderator
Команда форума
Спасибо за ответ, а можно какие нибудь примеры? Это нужно делать на lua на esp?
Сначала переделываешь свой скетч для ардуины так, чтоб в отправляя в сериал get запросы у тебя все работало.
Затем в той же Arduino IDE пишешь скетч для ESP. Там делаешь подключение к WIFI и открываешь порт для получения запросов от клиента которые будут отправляться в Serial. Остается только соединить платки по Serial проводами.
Примера нет и сейчас писать некогда совсем.
 

CyanoFresh

New member
Сначала переделываешь свой скетч для ардуины так, чтоб в отправляя в сериал get запросы у тебя все работало.
Затем в той же Arduino IDE пишешь скетч для ESP. Там делаешь подключение к WIFI и открываешь порт для получения запросов от клиента которые будут отправляться в Serial. Остается только соединить платки по Serial проводами.
Примера нет и сейчас писать некогда совсем.
Все почти получилось. Никак не могу понять, как забрать данные из serial и отправить их в ответ. Сейчас такой код:
Код:
// Send to aREST Serial
  Serial.print(req);

  client.flush();

  // Prepare the response
  String s = "HTTP/1.1 200 OK\r\nContent-Type: application/json\r\nPragma: no-cache\r\n\r\n";

  while(Serial.available() > 0) {
    s += Serial.readString();
  }

  // Send the response to the client
  client.print(s);
но оно не работает. как нужно изменить вот этот код:
Код:
while(Serial.available() > 0) {
    s += Serial.readString();
  }
чтобы esp забирал из сериала и отправлял в ответ?
 

nikolz

Well-known member
закажите нормальный модуль nodemcu( дешевле, чем бутылка водки)
и будет Вам счастье вместо геморроя.
 

CyanoFresh

New member
аналоговый вход там есть
и реле на 5 вольт вы можете использовать.
Ну читайте же документацию.
ок. какую версию лучше всего брать v1/v2/v3? Если не сложно - ссылку на ali. Там очень много таких модулей с разными ценами, не знаю какой выбрать. Подойдет ли это?
 

nikolz

Well-known member
ок. какую версию лучше всего брать v1/v2/v3? Если не сложно - ссылку на ali. Там очень много таких модулей с разными ценами, не знаю какой выбрать. Подойдет ли это?
На этот вопрос могу ответить лишь следующее.
------------------------------
Я брал более года назад - это была версия 1 .
--------------------------
Работает и сейчас без проблем.
Вешал я на нее все, что только возможно.
сейчас она у меня встроена в оптический спектральный анализатор.
-----------------------------
Сейчас заказал еще два вида этого чуда.
Жду поступления . когда приедут смогу сказать о них.
Есть у меня и ESP и 01 и 07 и 12 отдельно.
Кое-что на них делал изначально,
но после получения nodemcu забросил другие модули в ящик.
-----------------------------------------------
Сейчас заказал эти.
ESP8266 серийный WIFI Остроумный облако Развитию ESP 12F модуль купить на AliExpress
и эти:
D1 мини доставка мини NodeMcu 4 м байт Lua wi fi интернет вещей совет по развитию на основе ESP8266 по WeMos купить на AliExpress
 

CyanoFresh

New member
На этот вопрос могу ответить лишь следующее.
------------------------------
Я брал более года назад - это была версия 1 .
--------------------------
Работает и сейчас без проблем.
Вешал я на нее все, что только возможно.
сейчас она у меня встроена в оптический спектральный анализатор.
-----------------------------
Сейчас заказал еще два вида этого чуда.
Жду поступления . когда приедут смогу сказать о них.
Есть у меня и ESP и 01 и 07 и 12 отдельно.
Кое-что на них делал изначально,
но после получения nodemcu забросил другие модули в ящик.
-----------------------------------------------
Сейчас заказал эти.
ESP8266 серийный WIFI Остроумный облако Развитию ESP 12F модуль купить на AliExpress
и эти:
D1 мини доставка мини NodeMcu 4 м байт Lua wi fi интернет вещей совет по развитию на основе ESP8266 по WeMos купить на AliExpress
ок, спасибо
 

Сергей_Ф

Moderator
Команда форума
по поводу ESP8266 серийный WIFI Остроумный облако Развитию ESP 12F модуль купить на AliExpress
они же Witty Cloud есть пара моментов.
Кнопка Flash (pin 0) на этой плате притягивается к + только на время перезагрузки модуля. Во время работы на ней неопределенный потенциал. Я целый день убил пока не догадался померить тестером. Кнопка на основной плате на pin 4 притянута к + постоянно. Аналоговый вход занят фоторезистором, для использования в других целях будет проблема. Остальное описано тут ESP8266 "Witty Cloud" - самый удачный на данный момент WiFi-модуль для самоделок и "умного дома"
 

nikolz

Well-known member
по поводу ESP8266 серийный WIFI Остроумный облако Развитию ESP 12F модуль купить на AliExpress
они же Witty Cloud есть пара моментов.
Кнопка Flash (pin 0) на этой плате притягивается к + только на время перезагрузки модуля. Во время работы на ней неопределенный потенциал. Я целый день убил пока не догадался померить тестером. Кнопка на основной плате на pin 4 притянута к + постоянно. Аналоговый вход занят фоторезистором, для использования в других целях будет проблема. Остальное описано тут ESP8266 "Witty Cloud" - самый удачный на данный момент WiFi-модуль для самоделок и "умного дома"
Спасибо, Учтем.
фоторезистор конечно выкинем. плата привлекает возможностью отсоединить USB, если не требуется.
А что касается замера на ножке, то еслиона в третьем состоянии или включена как вход, то там сложно что-то замерить.
----------------------------
я также купил до кучи и 3 версию nodemcu по классической схеме.
вот такой:
Новый Беспроводной модуль CH340 NodeMcu V3 Lua WI FI Интернет вещей доска развития на основе ESP8266 купить на AliExpress
 

Сергей_Ф

Moderator
Команда форума
А что касается замера на ножке, то еслиона в третьем состоянии или включена как вход, то там сложно что-то замерить.
Во время загрузки (при включении или после нажатия на RST) она притянута к '+' это замерить тестером вполне можно, что я и сделал. Потом поведение её в программе было непредсказуемым и тестер показывал ... ничего не показывал, короче. Что и позволило сделать вывод. Кстати, pin 0 вообще никуда не притянут во время работы, так что рекомендованную схему подключения изготовитель проигнорировал, но модуль работает стабильно.

Ещё одна неприятная особенность: на время отладки, пока есть USB, переферию подключить практически нереально.
 

nikolz

Well-known member
Во время загрузки (при включении или после нажатия на RST) она притянута к '+' это замерить тестером вполне можно, что я и сделал. Потом поведение её в программе было непредсказуемым и тестер показывал ... ничего не показывал, короче. Что и позволило сделать вывод. Кстати, pin 0 вообще никуда не притянут во время работы, так что рекомендованную схему подключения изготовитель проигнорировал, но модуль работает стабильно.

Ещё одна неприятная особенность: на время отладки, пока есть USB, переферию подключить практически нереально.
спасибо, учту. уже отгрузили.
 
Сверху Снизу