• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Вопрос Я пока даже не новичок, а просто интересующийся

Alexey N

Member
Приветствую участников форума!
Спасибо, что обратили внимание на мой пост. У меня есть несколько общих вопросов, ответы на которые я уверен, я смог бы найти и в интернете, но для людей имеющих опыт использования ESP, надеюсь не составит труда на них ответить.
Я очередной пионер, мечтающий сделать очередной умный дом. Недавно начал осваивать работу с Ардуино и в принципе мне нравится это занятие и у меня даже почти все получается.
В двух словах опишу концепцию планируемого умного дома. Мне не очень нравится идея центрального управления, и я пошел по пути созданий отдельных устройств, которые работают автономно, а данные для статистики и наглядности передают по беспроводной связи на центральный блок, который используется только как база данных. В качестве беспроводной связи я начал использовать небезызвестные модули nRF24l01+. Ушло достаточно много времени, чтобы начать работать с ними, и все равно к ним есть некоторые претензии. Изучая различные форумы, периодически наталкиваюсь на сообщения, что даже те люди, которые отлично разбираются во всех особенностях работы с nRF24l01+, отказываются от него в пользу ESP, и я решил поподробнее узнать, что этот такое.
На первый взгляд ESP очень сложный в освоении модуль, но с громадными возможностями. Информации по нему достаточно немного, сравнивая с тем же Ардуино, но тем не менее она есть, и я думаю, что дальше ее будет только больше и изучение будет проще. И я сейчас хочу принять решение, разбираться ли мне дальше с nRF24l01+ или отказаться от него, пока это будет безболезненно (макет "умного дома" пока умничает только на рабочем столе), и попытаться освоить ESP. К сожалению, работа, семья и стройка оставляют очень немного времени на хобби, поэтому хочется тратить его с максимальной пользой. И чтобы сделать правильный выбор, я бы хотел проконсультироваться с уже знающими людьми. Если вас не затруднит поясните мне некоторые моменты.
1. Как я понимаю, ESP это целый "микрокомпьютер" по сравнению с Ардуино. Для него имеются различные прошивки и эти прошивки меня пугают больше всего. На первых шагах я бы хотел использовать ESP в связке с Ардуино и только как замену nRF24l01+ для организации беспроводной связи между устройствами, собранными на Ардуино. Будет ли такое начало знакомства более простым? Или от разбирательства с прошивками никуда не деться с самого начала?
2. Можно ли при помощи ESP одновременно передавать данные по Wi-Fi и выполнять код на Ардуино. nRF24l01+ этого не может и это достаавляет неудобства при его использование.
3. Также мне интересно качество связи. Одна из претензий к nRF24l01+ это потеря связи по любому поводу. Наводки, малейшие колебания в питании, неоптимизированый код - на все это радиомодули реагируют мгновенной потерей пакетов. ESP, насколько я понимаю это Wi-Fi и в отличие от радиомодулей должен иметь постоянно устойчивую, хотя и не очень быструю связь. Может ли ESP, например, находясь в металлическом распределительном щитке, быть в доступе?
4. Где-то прочитал, что количество ESP, которые можно объединить в сеть ограничено десятью штуками. Так ли это? И насколько сложно расширить сеть, хотя бы до двух десятков? nRF24l01+ в этом плане имеет преимущество. Хотя он может работать только с шестью каналами, но правильным алгоритмом передачи данных и структурой пакетов можно объединить практически неограниченное их количество.
Пожалуй, это пока все вопросы, которые у меня есть.
 

Atom

Member
1. Все правильно понимаете. Но есть реализация Esp8266 для Arduino IDE. Это попросту возможность сделать из esp8266-модуля полновесный Arduino Board. А дальше как вам будет удобно можно и другую доску к ней цеплять и писать и загружать свой код.
2.Ситуация, когда один контроллер ждет выполнения кода от другого контроллера не нова. И в некоторых вариантах зависит от возможностей программистов и реализации кода.
3. Качество связи впечетляет. Намучившись с nrf и попробовав Esp8266, понял что такое нормальная работа.
4. Опять же - все зависит от реализации. Если создавать что либо в виде Access Point, то ограничения будут. И сомневаюсь, что десять штук. Если же использовать STA c отдельным рутером(и), то как и в распределенной сети такого некогда не будет.
 

tretyakov_sa

Moderator
Команда форума
В двух словах опишу концепцию планируемого умного дома. Мне не очень нравится идея центрального управления, и я пошел по пути созданий отдельных устройств, которые работают автономно, а данные для статистики и наглядности передают по беспроводной связи на центральный блок, который используется только как база данных.
Я считаю что это разумное решение. Каждый отдельный прибор подключается к роутеру и каждое устройство работает не зависимо друг от друга. При этом через веб интерфейс любого устройства видны все остальные устройства. Сейчас уже есть решения для управления жалюзи и шторами, RGB лентой, управление люстрой и бытовой техникой по ИК каналу.
 

Alexey N

Member
Ага, стало чуть понятнее. Теперь про роутер появился вопрос. Сейчас я использую ардуино с эзернет-шилдом и nRF24l01 в качестве "центрального блока". Он собирает данные c рабочих модулей, записывает их в файлы на СД-карту и дает возможность скачать их в MySQL на настольный компьютер (пока не реализовано, но в проекте есть). Если я перехожу на ЕСП, то этот "центральный блок" надо будет заменять на роутер с OpenWRT? И такая сеть не будет иметь ограничений на количество подключаемых модулей? Неожиданно подумал: если у меня в доме имеется два десятка устройств с ЕСП, то они все будут видны в досттупных подключениях? И не только мне, но и соседям :) ? Или можно настроить их в какой-то "невидимый" режим?
Прошу прощения за возможно детские вопросы, но в гугле я пока не знаю даже как сформулировать свой запрос. Для начала хочу определиться что я могу сделать с ЕСП и насколько это будет сложно.
 
Последнее редактирование:

Atom

Member
Ага, стало чуть понятнее. Теперь про роутер появился вопрос. Сейчас я использую ардуино с эзернет-шилдом и nRF24l01 в качестве "центрального блока". Он собирает данные c рабочих модулей, записывает их в файлы на СД-карту и дает возможность скачать их в MySQL на настольный компьютер (пока не реализовано, но в проекте есть). Если я перехожу на ЕСП, то этот "центральный блок" надо будет заменять на роутер с OpenWRT? И такая сеть не будет иметь ограничений на количество подключаемых модулей? Неожиданно подумал: если у меня в доме имеется два десятка устройств с ЕСП, то они все будут видны в досттупных подключениях? И не только мне, но и соседям :) ? Или можно настроить их в какой-то "невидимый" режим?
Прошу прощения за возможно детские вопросы, но в гугле я пока не знаю даже как сформулировать свой запрос. Для начала хочу определиться что я могу сделать с ЕСП и насколько это будет сложно.

Ну у многих такая же каша в голове. Особенно сначала.
Рутер - это средство обмена информацией. Не более того. То, что некоторые в него умудряются засунуть OpenWRT - частный случай. Не более.

Есть конечные устройства (сенсоры[датчики]-модули, реле-модули и программы отображения пользователю[OpenWRT, ваша ардуина]). Между ними должа как-то двигаться информация посреством вспомогательных устройств [Рутер, свичи и хабы].
ESP будут видны в сети, но доступность их зависит от вас - в решиме STA (Подключению к рутеру) к ним есть возможность доступа только из вашей локальной сети. То есть если к вашему рутеру есть доступ сторонних людей - вам нужно это как то решать. Но ЕСП-устройства видны, но не доступны.

Есть еще MESH-схема, и вот тогда уже нужно заботиться о безопасности всерьез.

Обычно народ тут заморачивается с работой так называемых брокеров: где то в сети есть комп с установленным брокером, принимающих все сигналы от датчиков, храняших их и потом отдающих конечным устройствам. то есть то, что у вас делает ардуина на СД карте, может делать отдельностоящий комп на каком-нить raspberry Pi, с MySQL и web-сервером на борту. Но это просто различие в описании вашей структуры и моей(как пример). И не означает, что должно быть именно так.
 

tretyakov_sa

Moderator
Команда форума
И не только мне, но и соседям :) ? Или можно настроить их в какой-то "невидимый" режим?
Прошу прощения за возможно детские вопросы, но в гугле я пока не знаю даже как сформулировать свой запрос. Для начала хочу определиться что я могу сделать с ЕСП и насколько это будет сложно.
Трудно сказать что, вы там пытаетесь сделать.
Например у вас уже есть устройства пусть они останутся как есть центральный блок и он подключен к роутеру по проводу, теперь подключайте ESP через wifi и все.
 

Alexey N

Member
Про кашу это верно подмечено. Недавно только узнал про ЕСП, пока еще не очень понимаю как оно работает, но уже очень хочется. nRF24l01+ все больше и больше мне не нравится.
Ну что ж, выбор сделан. Пожалуй осталось определиться, что мне потребуется заказать, кроме самих ЕСП. Посоветуйте, что необходимо купить сразу вместе с модулями. Мне больше понравился ESP-07. К ним, соответственно, еще буду заказывать антенны. Для питания такой модуль 5 шт./лот AMS1117 3.3 В модуль питания купить на AliExpress. Для общения с Аруиной конвертер с 5 на 3,3 вольта 5 ШТ. IIC I2C Логический Уровень Конвертер Двунаправленный Модуль 5 В до 3.3 В Для Arduino купить на AliExpress. И программатор CH340 модуля вместо PL2303, CH340G RS232 в TTL модуль обновления USB к последовательному порту в девяти Brush маленькие тарелки купить на AliExpress. Всякая мелочевка типа резисторов и конденсаторов у меня вроде есть. Подскажите ,что еще можно заказать, чтобы облегчить знакомство с ESP.

В ссылках херня какая-то вылезла про тарелки, я не знаю как это случилось, но ссылки на самом деле на модули.
 

Юрий Ботов

Moderator
Команда форума
Неожиданно подумал: если у меня в доме имеется два десятка устройств с ЕСП, то они все будут видны в досттупных подключениях? И не только мне, но и соседям :) ?
Только те которые будут настроены как "точка доступа" (насколько я понимаю вашу конфигурацию - только сервер). Остальные не видны.
 

Юрий Ботов

Moderator
Команда форума
Недавно только узнал про ЕСП, пока еще не очень понимаю как оно работает, но уже очень хочется. nRF24l01+ все больше и больше мне не нравится.
Понимайте ESP как некий как-бы-ARM контроллер с подключенным к нему как-бы-nRF. Код и данные контроллера находятся в едином ОЗУ, в которое автоматически загружаются при старте из внешнего SPI-ПЗУ. Все это крутится под управлением некой как-бы-FreeRTOS. Из Arduino IDE вам доступен только один из процессов которые работают в ОС (поэтому ваша зона ответственности не затягивать свои вычисления, иначе тот же wifi не получит вовремя свой квант времени). Не ждите чудес: процессор нормально работает только с нормальными цепями питания, необходимыми подтяжками на выводах и в разумной помеховой обстановке.
 

Alexey N

Member
На радиомодулях у меня по другому было задумано. Центральный блок в определенное время по RTC делал запрос к периферийным модулям (к одним раз в час, к другим раз в восемь часов) и получал от них ответ. То есть если перейти на язык Wi-Fi, то центральный блок был клиентом, а вся периферия - серверами (если я ничего не путаю). Но это небольшая проблема. Можно будет чуть изменить концепцию и алгоритм связи.

И снова становится сложно. Про процессорное время я немного понимаю. И это еще одна из причин, по которой хочу отказаться от радиомодулей. Так как основной выполняемый код, как правило, содержит много условных переходов, чтений и записей в пины, то на слушание радиоэфира остается очень маленький промежуток времени. И, как следствие, пакеты летят мимо. Я может быть не очень понятно изложил свои мысли. Я хочу использовать связку ЕСП и Ардуино. На ЕСП я бы хотел переложить работу по передаче данных, а весь остальной код оставить на ардуино, и таким образом распараллелить эти процессы. Или я неправильно понимаю принципы использования ЕСП и так делать не стоит?
 

Юрий Ботов

Moderator
Команда форума
Ветвления и прочие рабочие моменты - это чепуха. Опасны огромные NOP-циклы для реализации протоколов внешнего обмена с всевозможными... 1-wire например. Однако для того чтобы избежать их есть специальные средства организации пауз средствами операционной системы (специальные функции с точки зрения пользователя). Просто надо немного перестроить свои мозги и понять что "ты тут не один". А так - нормаааально все работает. RTOS выделяет достаточно времени WiFi модулю, места под буферы - достаточно. Главное не мешать процессору работать :)

Можно реализовать основную логику на Ардуино - и если у вас нужно много доступных ног, несколько ацп и т.д. - то это решение гораздо правильнее. Тогда есть два выбора: самом реализовать протокол обмена между внешним миром и Arduino (Arduino IDE для ESP) или воспользоваться одной из существующих AT - прошивок. Выбор за вами. Лично я предпочитаю держать ситуацию в своих руках и предпочитаю первый вариант.
 

Atom

Member
Смотря что вы хотите делать и как. Есть ESP-01.



У него только UART и два вывода для управления. Отлично подходит, как соединение по UART (примерно таже шема, что и nRF, только по другому интерфейсу). Это то, что у вас сейчас в вашем же описании подходит. Или, например, UART со смартфоном гле либо в поле использовать.

НО!! после того, как займетесь ESP, обнаружите, что всякая атмеловская хрень более не нужна. А значит нужно более выводов и как вариант внешняя антенна. Для этого подходит ESP-07 именно такого типа


или любая другая более позднего.
Потом вы обнаружите, что все это хорошо, но обмен прошивки лучше делать по Wifi. А это значит лучше искать сразу модули с флэшем от 4Mb.

К ним нучно еще и переходник накромсать. Я такие покупал, делал сам. Разницы нет. - цепляется любой переходник, создающий в операционке COM-порт и все льется без проблем. Но покупал так же и такого зверя:
ESP8266 SERIEN WIFI Witzigen wolke Entwicklungsboard ESP 12F modul MINI nodemcu in hinweis: Die neue spurhaltungszahl für China-pfosten Gewöhnliche Kleine Packet Plusnur kann es zu verfolgen haben schiff aus Integrierte Schaltungen auf AliExpress.com | Alibaba Group
У неги там уже снизу и COM приделан.
У всех у них одна беда: не подходят на бреадбоард с шагом 2.54. Но есть еще модели (ESP-12F вроде), у которых эта проблема решена и можно коннектить с бордой.

:mad: Welcom to СЕКТА
 

Alexey N

Member
Спасибо всем за ответы. Буду заказывать модули и пробовать разбираться.

Можно ли здесь обсудить саму концепцию "умного" дома? Пока буду ждать модули, все равно буду изучать матчасть и заново продумывать алгоритм работы. Или эти вопросы выходят за рамки форума? Хотя, как я вижу, здесь народ разбирается в вопросе.
 

tretyakov_sa

Moderator
Команда форума
Можно ли здесь обсудить саму концепцию "умного" дома? Пока буду ждать модули, все равно буду изучать матчасть и заново продумывать алгоритм работы.
Прежде чем заказывать стоит обсудить концепцию. :)
 

Сергей_Ф

Moderator
Команда форума
@tretyakov_sa для старта рекомендую
Плата для разработчиков ESP8266 ESP-12F, модуль Wi-Fi с поддержкой облачных технологий
Плата для разработчиков ESP8266 ESP 12F, модуль Wi Fi с поддержкой облачных технологий купить на AliExpress
(from AliExpress Android)
Хотя они и подорожали безумно, я покупал по 2,73.
Есть USB адаптер на бутерброде, стандартные пины, встроенный трехцветный светодиод , фоторезистор и кнопка. Необходимые подтяжки уже сделаны. Очень удобно.

Нашел дешевле
ESP8266 серийный WIFI Остроумный облако Развитию ESP-12F модуль MINI nodemcu
ESP8266 серийный WIFI Остроумный облако Развитию ESP 12F модуль MINI nodemcu купить на AliExpress
(from AliExpress Android)
 
Последнее редактирование:

nikolz

Well-known member
Автору данного поста хочу кое-что объяснить, что ему еще не сказали.
Вы очевидно удивитесь, но я предполагаю использовать nRF24l01+ совместно с ESP.
Удивились?
-----------------------
В качестве информации для размышления.
ESP потребляет для WIFI примерно 200mА, а nRF примерно 20 ма
ESP WIFI - 14 каналов, а nRF - 120.
Поэтому nRF может очень хорошо дополнять ESP при организации локальных сетей.
-------------------------
 

nikolz

Well-known member
что касается модуля то берите D1 mini по 160 руб.
в нем уже все есть и микро USB и 3.3v и 4 мв.
 

Alexey N

Member
Думаю брать ЕСП-07 с переходником. ESP8266 серийный WIFI модуль + переходная пластина Полный порты ввода вывода приводит (вы можете выбрать ESP 07, ESP 08, ESP 12E) купить на AliExpress
Но пока изучаю матчасть. Вот эта штука: "Плата для разработчиков ESP8266 ESP-12F, модуль Wi-Fi с поддержкой облачных технологий". Она для чего? Просто для отладки прошивки?
С nRF24l01 у меня никак не срастается. Поэтому нафиг. Никакие 150 мА не компенсируют моего уже потраченного на этот модуль времени.
 
Сверху Снизу