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

Нужна помощь NodeMCU ESP-12E+Ардуино передача данных по Wi-FI

AlexRyzh

New member
Здравствуйте. Многодневный поиск информации привел на этот форум, где надеюсь получить ответы на свои вопросы.
Постараюсь максимально доходчиво задать вопрос, чтоб получить внятный ответ.
Приобрел вот этот шилд http://ru.aliexpress.com/item/New-W...pment-board-based-ESP8266-We/32565317233.html
Теперь нужно с ним разобраться и запустить в работу (получить от него то что я хочу). Но я не могу понять как это хозяйство работает, с какой стороны к нему подходить.
Суть такова: Есть Ардуино Мега 2560, написан скетч контроля и управления параметрами (температура, влажность, состояние оборудования ...). Есть Роутер раздающий интернет по Вай-Фай.
И вот я хочу подключить этот модуль к Ардуино, чтобы по ВайФай, через установленный роутер, передавать нужные данные с датчиков в базу данных на Веб-сервер.
Есть у меня Ethernet W5100 и через него я передаю эти данные в базу данных по витой паре, но там где будет стоять и работать АРдуино тянуть витую пару неудобно и не целесообразно, хочу организовать все на ESP8266.
По этой статье http://esp8266.ru/esp8266-podkluchenie-obnovlenie-proshivki/#esp8266-test
проверил работу модуля. Подключил к ардуино 3,5В и землю, и GPIO15 (пин D8) к земле.
CH_PD (chip enable) к питанию 3,3 вольт не подключал, т.к. не знаю на каком это пине.
Но после подключения 3-х проводков, помигал синий свет и тишина. В смартфоне проверил, появилась точка доступа типа AI-THINKER_AXXXX. И в компьютере кроме имеющегося ВайФай адаптера появился новый тоже AI-THINKER_AXXXX.
Как этим воспользоваться для передачи данных на Веб-сервер, не представляю.
1. Нужно ли прошивать модуль, если да то для чего, что это даст?
2. Нужно ли для Ардуино библиотеки этого модуля, если да, то где искать библиотеки именно для этого модуля или прошивки?
3. Обязательно ли подключать к компу через УСБ или все можно сделать по беспроводной сети? Если обязательно, то для чего? Для выпонения каких операций (манипуляций)?

Вот получается работоспособность проверил, а дальше вообще не пойму куда копать для выполнения своей задачи.
P.S. Я так понял, это отдельное устройство для управления по ВайФай. Но это не совсем то что нужно мне. Управление (автоматика) организовано на Ардуино, задача модуля только передавать полученные данные на Вэб-сервер.
Вы скажете, что для этой задачи не обязательно такой модуль, можно и попроще..., но у меня есть именно этот модуль и я хочу его пристроить к делу.
 
Последнее редактирование:

Dev

New member
Непонятно зачем использовать ESP вместе с ардуино , если можно использовать вместо ардуино. ESP в принципе лучше,только пинов меньше. А ещё можно программировать ESP в среде arduino IDE, инструкция есть на этом самом сайте - http://esp8266.ru/arduino-ide-esp8266/.
1) Модуль прошивать нужно. В arduino IDE это очень просто( см. ссылочку).
2) После того как установили ESP в меню Инструменты выберите Плата — Generic ESP8266. Теперь в меню Файл — Образцы появятся примеры с этим модулем , там и посмотрите библиотеки, которые необходимы. Обычно нужна библиотека [HASHTAG]#include[/HASHTAG] <ESP8266WiFi.h> для работы с WiFi. Про остальные библиотеки можете узнать из ссылочки, которую я дал.
3) Для прошивки нужно подключать к USB-UART переходнику, если, конечно, не используете прошивку по воздуху OTA(Over The Air).
Без подключения CH_PD (chip enable) модуль не должен работать... вот.
 

igrushkin

Member
зачем вы извращаетесь с подключением, если в этом модуле уже есть вся обвязка? Он просто втыкается в USB, нужно только поставить драйвера для ch340

по коду: есть есть код для w5100, он элементарно переделывается под wifi
 

AlexRyzh

New member
Спасибо, хоть понятно куда копать, буду разбираться.
Значит ESP это такой же микроконтроллер типа Ардуино, только со встроенным ВайФай модулем? И его можно также программировать, как я программировал бы, например, Ардуино Нано, только на языке ESP?
зачем вы извращаетесь с подключением, если в этом модуле уже есть вся обвязка? Он просто втыкается в USB, нужно только поставить драйвера для ch340
А это не совсем понятно для совсем незнающего этот шилд. Что значит есть своя обвязка? Что вы имеете ввиду? Обвязка это наличие пинов для их программирования и программного управления? Что значит втыкается в УСБ? Для чего? Мне как раз не нужно не через ЮСБ его использовать, а передача данных по ВайФай на Вэб-сервер.

P.S. И все же CH_PD я не подключал, а модуль определился как точка доступа. Я подключил всего 3 провода +,- и GPIO15. Кроме того, я подключил только 3.3В и землю (в любом месте где указано 3.3В) и модуль определеяется компьтером и телефоном по моей ВайФай сети, как точка доступа.
И Вы не подсказали, где этот самый CH_PD на плате? Какой пин?
 
Последнее редактирование:

tretyakov_sa

Moderator
Команда форума
А это не совсем понятно для совсем незнающего этот шилд.
Это совсем не шилд. У вас к Mege подключены датчики и есть код. Возьмите модуль. Подключите к нему датчики. Перепишите скетч под ESP8266 и будет у вас прибор с WIFI связью без витой пары. Но это только в том случае если датчиков мало.
 

AlexRyzh

New member
Нужно будет пробовать как Вы сказали, наверное тогда возникнут вопросы, а пока нужно просто пробовать.
Датчиков мало - это сколько? Т.е. Сколько ESP имеет цифровых и аналоговых входов-выходов?
По этой статье https://habrahabr.ru/post/255625/ очень похожий модуль
и видно модуль имеет 9 цифровых вход-выход, а вот что с аналоговыми?
Вот фото моего модуля, там правая сторона похожа на ту что из статьи, а левая отличается маркировкой.

АО я так думаю Аналоговый вход, далее земля, VU - что такое? Может это и есть тот самый CH_PD? Что означает маркировка S3,S2,S1,SC,SO,SK? Что означает ЕН? РСТ - это сигнал на сброс, G -земля, а что означает VIN? Может это и есть тот самый CH_PD?

И каким образом в статье (ссылка выше) к одному пину подключено 3 затчика? Как один пин различает эти датчики?
 

Dev

New member
CH_PD уже подключён в вашем модуле, иначе ESP не заработал бы вообще.
Аналоговый пин всего 1 он на 3.3 В максимум.
Если вы говорите про GPIO16 в статье, то там 2 резистора и 1 датчик - НЕ 3 датчика.
Названия пинов на плате нужно сравнить с названием пинов на самом модуле, это может многое проянить. Это можно найти в официальной документации или ,опять же, на этом сайте)
 

AlexRyzh

New member
Нет к GPIO04 подключено 3 датчика. Но в статье нет конкретных кодов по вложениям, только ощий отрывок скетча, поэтому не понятно как реализовано 3 датчика на одном пине?
 

Dev

New member
Датчики работают по протоколу 1-Wire, как указано в статье их 3
Протокол поддерживает 256 устройств)
 

igrushkin

Member
как у Вас сейчас подключены датчики к Меге? и сколько их? какие библиотеки используются?
 

Victor

Administrator
Команда форума
Присоединяюсь к вышесказанному, но хочу добавить, что у вас отличный модуль, ничего дополнительного (кроме датчиков) ему не нужно (в том числе и Arduino). Про подключение датчиков информации много - найдете сами. Настраивайте Arduino IDE для ESP8266 и передавайте свои данные в БД.
 

AlexRyzh

New member
как у Вас сейчас подключены датчики к Меге? и сколько их? какие библиотеки используются?
Датчики DTH22 2 шт (температура и влажность), терморезистор 2 шт (температура жидкости), Влажность почвы 2шт, Часы реального времени, Датчик освещенности, блок реле на включение нагрузки (пока 4 шт, но думаю будет больше). Кнопки для контроля и ручного управления... может что и забыл, но факт тот что много аналоговых входов нужно, а у этого модуля он один!:(
Соответственно библиотеки всех указанных датчиков.
 

igrushkin

Member
тогда связывайте их по rx-Tx (тем более, что у Меги их 2), и отправляйте данные на "вЭб"
 

AlexRyzh

New member
тогда связывайте их по rx-Tx (тем более, что у Меги их 2), и отправляйте данные на "вЭб"
Задуманный проект почти полностью продуман и реализован. Датчиков много и зависимостей много, скорее всего еще что-то добавится, и для реализации проекта Мега только и подойдет, Даже Уно не потянет. А этот модуль тем более.
А про rx-Tx если можно подробнее, хотя бы на логическом уровне, чтоб знать что искать, т.к. это новое для меня. Это наверно именно то, что я и хотел добиться от этого модуля. Но понять бы хотя бы логику этих действий что мне нужно сделать.
Спасибо за советы, понял и узнал больше чем в многодневных поисках того - не зню чего :)
И еще по распиновке разобраться бы, думаю навенрняка знание распиновки пригдится при связке по rx-Tx
 

igrushkin

Member
а как Вы запрограммировали Мегу, если не знаете таких понятий как serial port (rx|tx)?
и если Вы ВНИМАТЕЛЬНО посмотрите Ваш "шилд", то ...сюприииз...увидите буковки rx/tx
 

Froster

New member
Спасибо, хоть понятно куда копать, буду разбираться.
Значит ESP это такой же микроконтроллер типа Ардуино, только со встроенным ВайФай модулем? И его можно также программировать, как я программировал бы, например, Ардуино Нано, только на языке ESP?
Как называется язык программирования (С-подобный) в ArduinopIDE не скажу, но для arduino и esp он одинаков, в случае испольpования arduinoIDE

И каким образом в статье (ссылка выше) к одному пину подключено 3 затчика? Как один пин различает эти датчики?
К цифровому пину подключены цифровые датчики. С помощью протокола 1-wire это возможно. (идёт обращение к конкретному устройству по его id) Но именно цифровых датчиков. Аналоговые не катят.
 

AlexRyzh

New member
Понятно. Спасибо.
а как Вы запрограммировали Мегу, если не знаете таких понятий как serial port (rx|tx)?
А проект делал с помощью программы талантливого Российского разработчика Сергея Глушенко, программа FLProg
Цифровых датчиков практически нет, поэтому rx|tx как-то прошло мимо:)
Без особого напряга сделал довольно таки сложный и объемный проект.
Хотя программа еще не все умеет, но постепенно добавляется что-то новое. Хотя и сейчас можно делать очень много, тем более с последним обновлением появилась возможность добавлять сторонний код, на любом языке понятном Ардуино.
 
Последнее редактирование:

Dev

New member
Попробуйте использовать ESP как мост между вашей ардуино и сервером. По UART с ардуино шлёте данные в ESP, а ESP шлёт данные на сервер по TCP/IP. На компьютере принимаете и обрабатываете.
Также можно создать на ESP http сервер, который при обращении к нему будет слать страничку с показаниями датчиков.

Однако лично я считаю, что весьма расточительно использовать эту плату для такой простой функции. Для таких целей можно было взять и ESP v1 рублей за 150-200))
 
Сверху Снизу