196

Термостат на NRF24l01 и ESP8266

Термостат на NRF24l01 и ESP8266 Esp8266, Attiny85, Nrf24l01, Arduino, Своими руками, Длиннопост

Всем здравствуйте. Мой первый пост, прошу слишком не пинать. Конструктивная критика приветствуется.


Начнем, наверное, с моего понятия умного дома. У всех оно разное. Для кого-то лампочка, включаемая с телефона- верх совершенства, кому-то умная розетка или кофеварка. Пылесос, наконец (с этим, пожалуй, соглашусь). Да много действительно умных и удобных вещей в продаже. Но я хочу поговорить об умном доме, который потихоньку делаю сам. Мое видение этого IoT.

Начнем сначала, что ли… Первый «девайс», который я посчитал шагом в мир умных вещей, как ни странно, стал AirWick, переделав который под свои алгоритмы много лет назад, стал подумывать о частичной автоматизации своего жилья. Было много проб и ошибок. О них мы разговаривать не будем- это отдельная тема. Много статей пересмотрел и о протоколах передачи данных, и о серверах для умных домов. Но одно мне покоя не давало – туева хуча проводов по всей хате. И ладно-бы , если ты купил новое жилье с черновой отделкой, или капитальный ремонт затеял… А блин, в готовой, отремонтированной квартире тогда как? Тут несколько лет назад, как выстрел, появилась ESP8266. На всех форумах по электронике только и разговора было о ней, кто что на ней собрал. Попробовал. Классно, понравилось. А что дальше- опять провода по всему дому? Так дело не пойдет.

И вот выстрелило. У сестры квартира с индивидуальным отоплением. Но какие-то чудаки с буквы МЫ, кабель под термостат не заложили. Котел работает хрен пойми как, насос постоянно гоняет теплоноситель, температуру руками на котле выставляешь. Выход- поставить термостат и не париться. Штробить стены в ремонтированной квартире? Не вариант. ESP8266 в роли датчика температуры? Вроде выход- ан нет. Батарейки менять замучаешься. Радиоканал- подходит. А как все контролировать и настраивать? Опять дисплеи? Не то. А если совместить радиоканал с WiFi? Выход найден!!! Осталось реализация. Решил так- датчик будет передавать параметры по радиоканалу, а блок управления котлом (не только котлом), принимать их и управлять розжигом.

Теперь по сути. Датчик получился практически универсальный. В роли датчика температуры выбрал AM2320, но подойдет и DHT22. Протоколы обмена одинаковые. В роли радиоканала выступит NRF24l01, подключенный по трехпроводной схеме. Забыл упомянуть про микроконтроллер. Выбрал для себя Attiny85. За низкое потребление в режиме сна. Осталось две ноги. Что можно добавить еще? Датчик освещенности на фоторезисторе или датчик протечки (два электрода). Да светодиодик, для контроля. Нашел подходящий корпус на али и понеслась… Получился универсальный датчик, который отправляет один раз, за запрограммированный промежуток времени (для температуры и влажности – 3 мин., для освещенности и протечки- 1 мин.

Батарейка -литиевая. Потребление в режиме сна примерно 11 uA. Расчетное время работы для температуры и влажности – 4 года, для АЦП – 1 год, может 1.5.

Теперь фотки:

Термостат на NRF24l01 и ESP8266 Esp8266, Attiny85, Nrf24l01, Arduino, Своими руками, Длиннопост
Термостат на NRF24l01 и ESP8266 Esp8266, Attiny85, Nrf24l01, Arduino, Своими руками, Длиннопост
Термостат на NRF24l01 и ESP8266 Esp8266, Attiny85, Nrf24l01, Arduino, Своими руками, Длиннопост
Термостат на NRF24l01 и ESP8266 Esp8266, Attiny85, Nrf24l01, Arduino, Своими руками, Длиннопост

Работает все в приложении BLYNK, не потому, что веб морду написать не могу, а потому, что систер часто уезжает и удаленно управлять хочется.

Arduino & Pi

1.5K постов20.8K подписчиков

Правила сообщества

В нашем сообществе запрещается:

• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)

• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском

• Выкладывать код прямо в посте - используйте для этого сервисы ideone.com, gist.github.com или схожие ресурсы (pastebin запрещен)

• Рассуждать на темы политики

• Нарушать установленные правила Пикабу

Вы смотрите срез комментариев. Показать все
3
Автор поста оценил этот комментарий

а зачем одновременно используется и NRF24l01 и ESP8266??

раскрыть ветку (46)
4
Автор поста оценил этот комментарий

ESP8266 используется для настройки и управления реле. Настройки сохраняются в EEPROM. NRF24l01 используется для приема данных с датчика.

раскрыть ветку (45)
3
Автор поста оценил этот комментарий

так у вас же вроде как все на одной частоте, разве нет?
если все только на вафле то используйте esp
если все на разных протоколах но одной частоте - используйте NRF

раскрыть ветку (44)
4
Автор поста оценил этот комментарий

ESP нужна для удаленного контроля, частота хоть и одна, а протоколы обмена разные.

раскрыть ветку (34)
1
Автор поста оценил этот комментарий

пункт два - использование NRF
чистого NRF для датчиков обычно с головой хватает

раскрыть ветку (33)
3
Автор поста оценил этот комментарий

Так в датчике только он и стоит вместе с attiny85

раскрыть ветку (32)
1
Автор поста оценил этот комментарий

так слепить все на NRF строя меш сеть и будет счастье)
есть же куча уже готовых гайдов в сети)

раскрыть ветку (31)
3
Автор поста оценил этот комментарий
Так и сделано. А настраивать Вы как будете и контролировать?
раскрыть ветку (30)
1
Автор поста оценил этот комментарий

програмно
NRF24l01 если что так же как и esp вполне себе прошивается своим кодом)

раскрыть ветку (29)
3
Автор поста оценил этот комментарий
Вы телефон к нему подключите?
раскрыть ветку (28)
1
Автор поста оценил этот комментарий

ага
ловкость рук и переключение между протоколами по нажатию на кнопочку

раскрыть ветку (27)
1
Автор поста оценил этот комментарий

esp жрёт дофига, nrf24, именно 24 - мало, т.к. тупой радио канал и spi интерфейс. То что ниже про nRF52832 - тоже мимо, т.к. жрать будут тоже дофига(в сравнении с 24 и attiny, ибо арм кортекс. Другое дело - если на стороне котла ставить сразу nRF52832, вместо esp с 24, если nRF52832 умеет в протокол 24-ой.

раскрыть ветку (8)
0
Автор поста оценил этот комментарий

так вот и я за это
ESP прожорлива и урезена четко под протоколы
на 24 все можно в одно лицо сделать

раскрыть ветку (7)
0
Автор поста оценил этот комментарий

Ну, esp на стороне котла, там вообще пофигу на потребление, так что хоть малину туда вкорячивать ) А вот на другой стороне, я так понял, пара датчиков - и тут без доп контроллера никуда. + при использовании nrf я бы ещё в передачу зафигачил(я хз как там сделано) - контрольную сумму, чтоб подделать данные сложнее было + валидация переданных.

раскрыть ветку (6)
2
Автор поста оценил этот комментарий

Контрольная сумма передается, естественно, ну а подделывать данные- 125 каналов по 6 адресов. Зачем? Ну и во вторых, перехват пакетов допустим осуществился, дальше то что?

раскрыть ветку (5)
0
Автор поста оценил этот комментарий

Да просто, если делать - сразу надёжней. А то найдётся "умный вася", который возьмёт nrf24 с внешней антенной и будет просто так пакостить.

раскрыть ветку (4)
2
Автор поста оценил этот комментарий

125 каналов, адрес устройства, контрольная сумма. Ради того, чтобы передать измененные показания датчика? "Васе" делать нечего?)))

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

125 каналов, адрес устройства, контрольная сумма. Ради того, чтобы передать измененные показания датчика?
Если Вася все это знает -- то он умный. А если Вася умный -- то он не будет страдать херней.

0
DELETED
Автор поста оценил этот комментарий

Так говорят люди с дохрильоном недоделанных проектов.

Потом часть будет уже не актуальна, часть так и не будет закончена.

+++

А у автора оно уже работает. Захочет сделать лучше - сделает;)

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Мало того, что работает. Добавил второй датчик температуры, влажности и освещения (все в одном) в ванную. Теперь у меня еще и вентилятор по разнице влажности включается и по нахождению на толчке. И все в одном приложении. А не 100500 приложух для каждого устройства. И не меняя схемы ESP.

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку