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

Сколькими устройствами может управлять ESP8266?

adadurov

New member
Прочитал, что для использования доступно 11 GPIO из 14.
Правильно ли я понимаю, что это значит, что можно, скажем, управлять при помощи ESP8266 10ю реле и считывать информацию с одного датчика температуры?
 
Последнее редактирование:

pvvx

Активный участник сообщества
Можно, но при включении/перезагрузке модуля не будут дергаться только 4 пина, а рабочих, которые "не дергаются" и не управляют правильным типом загрузки модуля у ESP8266 всего 2 i/o.
Кол-во устройств, к примеру по шине RS-485 Modbus может быть подключено более нескольких сотен :)
При управлении только по SPI типа через MCZ33996EK сразу - 16 реле или ... до 24B и пару Ампер, с указанием состояния - отвалилась нагрузка или нет и т.д.
Снимок1549.gif
 
Последнее редактирование:

AndrF

Active member
Прочитал, что для использования доступно 11 GPIO из 14.
Правильно ли я понимаю, что это значит, что можно, скажем, управлять при помощи ESP8266 10ю реле и считывать информацию с одного датчика температуры?
Неверно. Выделив всего лишь пару пинов под I2C шину можно повесить на нее кучу устройств, в том числе и чипы для расширения интерфейса (они недорогие) и обзавестись счастьем в сотню-другую дрыгоножек...

И по одному лишь пину можно считать информацию с кучи датчиков температуры DS18B20 - смотрите описание этого датчика...
 

pvvx

Активный участник сообщества
Неверно. Выделив всего лишь пару пинов под I2C шину можно повесить на нее кучу устройств, в том числе и чипы для расширения интерфейса (они недорогие) и обзавестись счастьем в сотню-другую дрыгоножек...

И по одному лишь пину можно считать информацию с кучи датчиков температуры DS18B20 - смотрите описание этого датчика...
"Куча" на пару пинах ограничена длиной линии и входными емкостями и токами микросхем. В реалии не более пяти шт. Для поделок на Arduino - можно и сотню - там всё равно работает или нет :) При более 5-ти, программный "ногодрыг" в Arduino опроса этих датчиков займет всё время и не оставит времени для работы WiFi.
 
Последнее редактирование:

AndrF

Active member
Можно, но при включении/перезагрузке модуля не будут дергаться только 4 пина, а рабочих, которые "не дергаются" и не управляют правильным типом загрузки модуля у ESP8266 всего 2 i/o.
Насчет того что пины дергаются я пока нигде не читал - что-то не попадалось. Вроде они по умолчанию все входные - с чего им дергаться? Но измерений я не проводил.

4,5,12,13,14 - пины без всяких условностей.
0 и 2 - в момент старта должны быть подтянуты к единичке. Это ничуть не мешает использовать их, к примеру, для той же I2C шины, где заодно нужна подтяжка.
15 - в момент старта должен быть подтянут к нулю. Это более сложная ситуация. Чтобы не заморачиваться - можно использовать его в качестве выхода.
16 - выход с открытым коллектором. Лучше не использовать, резервируя до времен когда он понадобится для выхода из спящего режима.
1,3 - UART - лучше не трогать. Используется для программирования и общения с компом или другими устройствами. В Nodemcu он уже подключен к микросхеме интерфейса. лучше и оставить для этих целей, IMHO.
10 - мне удавалось использовать данный пин как выход без каких либо проблем.
9 - тут, как пишут уже нужно поизвращаться. Потому ну его на фиг.
 

pvvx

Активный участник сообщества
Насчет того что пины дергаются я пока нигде не читал - что-то не попадалось. Вроде они по умолчанию все входные - с чего им дергаться? Но измерений я не проводил.
Поищите на форуме и найдете. Прошло более 2-х лет как всё измерялось, рисовалось и описывалось... :)
Но для Ардуинщиков это всё равно - у них работает = "работает под присмотром" и пользователь за тамогочей следит сам. :)
 
Последнее редактирование:

AndrF

Active member
"Куча" на пару пинах ограничена длиной линии и входными емкостями и токами микросхем. В реалии не более пяти шт.
Ну я не говорил что десятиметровыми проводами. Все в разумных пределах. Один же чип может дать 4..40 ногодрыгалок (глянул из того что сейчас есть у Чипа с Дипом).

При более 5-ти, программный "ногодрыг" в Arduino опроса этих датчиков займет всё время и не оставит времени для работы WiFi.
Не по одной же ножке опрашивается, а по 8, так что не так уж и медленно выйдет.
Но я пока для себя в домашней обстановке не вижу применения такому количеству ножек вообще (а по работе приходится заниматься СУБД :( )...
 

AndrF

Active member
Поищите на форуме и найдете. Прошло более 2-х лет как всё измерялось, рисовалось и описывалось... :)
Но для Ардуинщиков это всё равно - у них работает = "работает под присмотром" и пользователь за тамогочей следит сам. :)
Я не ардуинщик - пришел с PIC-ов. Ну и да - мне все равно, так как если что-то там и дернется в момент включения на то что я делаю просто не повлияет.
 

pvvx

Активный участник сообщества
Я не ардуинщик - пришел с PIC-ов. Ну и да - мне все равно, так как если что-то там и дернется в момент включения на то что я делаю просто не повлияет.
Некоторым очень сложно сосчитать постоянную времени RC подключенной ко входу управления загрузкой цепи, а входы ESP8266 защелкивает за пару наносекунд (такова его реакция на ножку RESET)… :)
 

AndrF

Active member
Некоторым очень сложно сосчитать постоянную времени RC подключенной ко входу управления загрузкой цепи, а входы ESP8266 защелкивает за пару наносекунд (такова его реакция на ножку RESET)… :)
И причем тут ножка RESET? Казалось бы...

Вообще чип мне нравится - все пины описанные выше я использовал...
 

pvvx

Активный участник сообщества
И причем тут ножка RESET? Казалось бы...
deep_sleep и момент включения, эми помеха, WDT и прочее приводящее к перезагрузке. К примеру на выводах был установлен транзистор c G-S с емкостью 3000 пФ (обычное дело для ардуинщиков :) ) и на выводе был выведен нуль. Резистор подтяжки при этом пусть 3 ком. Задача для старшеклассника - вычислить, через сколько времени на пине появиться "1" с учетом времени заряда внешней емкости затвора... :) Время реакции ножки сброса с защелкиванием состояния входных пионов для выбора типа загрузки у ESP8266 - менее 1.4 нс. Далее обучение платное :p
 
Последнее редактирование:

AndrF

Active member
deep_sleep и момент включения, эми помеха, WDT и прочее приводящее к перезагрузке. К примеру на выводах был установлен транзистор c G-S с емкостью 3000 пФ (обычное дело для ардуинщиков :) ) и на выводе был выведен нуль. Резистор подтяжки при этом пусть 3 ком. Задача для старшеклассника - вычислить, через сколько времени на пине появиться "1" с учетом времени заряда внешней емкости затвора... :) Время реакции ножки сброса с защелкиванием состояния входных пионов для выбора типа загрузки у ESP8266 - менее 1.4 нс. Далее обучение платное :p
А, вы про подобное... Ну без фанатизма - я же говорил. Честно говоря я как-то не пойму зачем подобное даже ардуинщикам городить. Хотя, конечно, экземпляры встречаются. Но это все же крайние случаи, на мой взгляд.
 

pvvx

Активный участник сообщества
А, вы про подобное...
Всё было более 10 раз описано. По этому заново и подробнее = платно. Желающие обучить найдутся в ветке Предложения о выполнении проектов на заказ :) Тема то баян, дублируется на данном форуме уже дцатый раз. :)
Вычисленный итог и гласит - модуль ESP8266 требует десяток внешних деталек для нормального пересброса, а лучшее решение для стабильности его работы дает только внешний MCU, управляющий его ногами и питанием.
 
Последнее редактирование:

adadurov

New member
Понятно! Спасибо, вникаю в тему... :)
MCZ33996EK крутоват для моих целей. Мне нужно управлять всего 4мя соленоидными клапанами 12В и одним двигателем (насосом) на 12 В.
 

AndrF

Active member
Понятно! Спасибо, вникаю в тему... :)
MCZ33996EK крутоват для моих целей. Мне нужно управлять всего 4мя соленоидными клапанами 12В и одним двигателем (насосом) на 12 В.
Входов сколько надо и для чего?
А так - простейший расширитель интерфейса типа этого: PCA9672D,512, Расширитель I/O, 8бит, 1 МГц, I2C, 2.3 В, 5.5 В, SOIC | купить в розницу и оптом
 

adadurov

New member
Входов сколько надо и для чего?
Я делаю автомат полива комнатных растений. Хочу управлять им по WiFi. Там насос 12В 400мА, четыре соленоидных клапана 12В 300мА и предполагается датчик DHT11 температура/влажность.
Получается нужно задействовать 6 входов/выходов
 

AndrF

Active member
Я делаю автомат полива комнатных растений. Хочу управлять им по WiFi. Там насос 12В 400мА, четыре соленоидных клапана 12В 300мА и предполагается датчик DHT11 температура/влажность.
Получается нужно задействовать 6 входов/выходов
Вы еще не написали что конкретно используете - модули они разные.

Если ESP-12E/F или модуль Nodemcu на их основе то это вообще без проблем - вам достаточно стандартных пинов.

Используйте пины 0, 2, 15 на выходы и 4,5,12,13,14 - на все остальное. Пинов вам хватит с избытком.

Главное не перегружать выходы и не вешать на них большой емкостной нагрузки. Только и всего.

Ну и для большей уверенности - можете показать как именно планируете подключать выходы. А то подтянут тот же 15-ый к плюсу вы можете получить проблему при старте модуля...
 
Последнее редактирование:

adadurov

New member
Понятно... У меня два модуля NodeMCU и Wemos D1 mini Pro. Буду тогда NodeMCU и использовать. Посмотрел принципиальную схему своего модуля NodeMCU, там уже все обсуждаемые GPIO (2, 0, 15), RST и EN подтянуты куда нужно резисторами на 12 кОм:


Я планирую использовать модуль на 4 реле. Модуль управляется низким уровнем, там тоже все токи уже рассчитаны:


Поэтому планирую напрямую соединять выходы модулей, в том числе датчик (на модуле датчика тоже уже стоит резистор):
 

Вложения

AndrF

Active member
Есть замечание:

Вам нужно перебросить вход модуля реле C 15-го на 4 или 5 пин! Иначе вход релюшки при включении подтянет GPIO15 к единичке, что делать нельзя!

И перебросьте лучше так же выход датчика на оставшийся из 4 или 5 - вы ведь не уверены что будет на выходе датчика в момент включения устройства (я вот с ними не работал - сказать не могу)! Поэтому, чтобы точно было без проблем, лучше сразу сделать так чтобы потом не искать причину почему не работает. Пинов-то ведь хватает...

Если хотите - можете использовать пины 2 и 0 как выходы для модулей реле - в этом качестве они будут работать нормально.

А так - вполне нормально - все заведется.
 
Последнее редактирование:

nikolz

Well-known member
Понятно... У меня два модуля NodeMCU и Wemos D1 mini Pro. Буду тогда NodeMCU и использовать. Посмотрел принципиальную схему своего модуля NodeMCU, там уже все обсуждаемые GPIO (2, 0, 15), RST и EN подтянуты куда нужно резисторами на 12 кОм:


Я планирую использовать модуль на 4 реле. Модуль управляется низким уровнем, там тоже все токи уже рассчитаны:


Поэтому планирую напрямую соединять выходы модулей, в том числе датчик (на модуле датчика тоже уже стоит резистор):
А MOC использовать не смотрели?
 
Сверху Снизу