Делаем прототип домашней метеостанции за 10 долларов


Сегодня, чтобы собрать рабочий прототип базовой домашней метеостанции не нужно обладать сильными навыками программирования (в нашем случае и подавно) или схемотехники. Достаточно умения «гуглить» и толики желания сделать что-то своими руками. В этом материале я расскажу и покажу, как за вечер собрать домашнюю метеостанцию с подключением к сети. Базовый бюджет — всего 10 долларов. 


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


Базовый набор комплектующих

Основой нашего будущего устройства является отладочная плата NodeMCU на базе модуля ESP8266. Я взял ее на Gearbest, но при желании вы можете поискать оную и на других площадках. 


Стоимость: $3.99


16


ESP8266 — это микроконтроллер китайского производителя Espressif с интерфейсом Wi-Fi. Модули на базе этого микроконтроллера в последнее время попросту взорвали DIY сообщество, в первую очередь из-за низкой цены (от 2-х долларов) и легкой доступности. Используемая нами NodeMCU содержит на борту необходимый для прошивки USB-UART преобразователь и стабилизатор питания, который понижает 5 Вольт от USB-порта до необходимых модулю 3.3 Вольт. 


DHT22 — цифровой датчик температуры и влажности. Является вторым необходимым компонентом для создания базового прототипа. Способен измерять температуру в пределах от -40 до 80 градусов по Цельсию с погрешностью в 0.5° и влажность с точностью 2%. 


Стоимость: $2.5


23


Для соединения модулей можно использовать шлейф с BLS-разъемами ($0.9) или беспаечную макетную плату с набором соединительных проводов ($3.74). 


Подключение и настройка

Несмотря на доступные 4 вывода, подключается наш датчик всего по 3 проводам: питание +5В (1 вывод), земля (4) и линия передачи данных (2). Питание для датчика берем либо с пина VUSB, либо с 3V, если первого на вашей плате не оказалось. Линию данных подключаем к порту GPIO14 (пин D5).


Напомню, что навыков программирования в нашем случае не нужно абсолютно никаких. Прошивку для модуля будем генерировать с помощью сайта WiFi-IoT.ru, автором которого является Максим Малкин, также известный по проекту домашней автоматизации homes-smart.ru. Для начала попросту регистрируемся на WIFi-IoT и подтверждаем почту.


Перед сборкой прошивки необходимо подготовить приобретенный модуль к работе и очистить его от возможного предустановленного китайского ПО. Для этого нам понадобится рабочий USB-microUSB кабель и компьютер или виртуальная машина с Windows. После регистрации на сайте вы попадете на англоязычную страницу "Getting started" с пояснениями по подготовке модуля к работе. Скачивайте файлы с ПО из первых двух пунктов инструкции. 


Снимок экрана 2016-07-26 в 21.35.58


Теоретически, после подключения модуля к компьютеру, Windows должна сама отыскать драйвера и установить их. На случай, если этого не произойдет, попробуйте идентифицировать на плате микросхему (отличается большим количеством «ножек») возле microUSB порта. Вероятнее всего это будут CP2102 или CH340 (драйвера к ним доступны по ссылкам).


После установки драйверов повторно подключаем нашу плату к компьютеру и запускаем программу NodeMCU Flasher, которую скачали ранее. В выпадающим списке выбираем присвоенный нашему устройству COM-порт. Скорее всего он будет один, в противном случае его номер можно уточнить в диспетчере устройств Windows. Во вкладке Config указываем расположение загруженного ранее blank-файла с расширением .bin. 



Для NodeMCU параметры во вкладке Advanced необходимо выставить в соответствии с нижеприведенным скриншотом, после чего возвращаемся на стартовую страницу и нажимам кнопку Flash. О завершении процесса прошивки программа просигнализирует зеленой галочкой в левом нижнем углу. 



После данных манипуляций модуль готов к загрузке прошивки, которую нам еще предстоит скомпоновать. Идем в конструктор и отмечаем необходимые нам пункты:


  • «DHT22» — это наш датчик температуры и влажности;
  • «Время и NTP» — для отображения времени в веб-интерфейсе;
  • «Настройки по умолчанию». Нажимаем шестеренку возле этого пункта и вводим логин и пароль от точки доступа, к которой будет подключен модуль. Остальные пункты пока не трогаем.

Нажимаем клавишу «Скомпилировать» внизу страницы и на выходе получаем готовое к установке ПО. Скачиваем одним файлом.


5


Далее повторяется процесс с прошивкой blank-файла, только вместо него выбираем уже загруженную на компьютер прошивку. После завершения процесса полностью перезагружаем модуль (отключаем и подключаем заново USB-кабель) и отправляемся в админ-панель роутера в поисках модуля. Так как мы не использовали предварительное присвоение статического IP, роутер должен сам выдать ему адрес. Напомню, что админ-панель обычно находится по адресу 192.168.0.1 или 192.168.1.1. Моему модулю роутер выдал адрес 192.168.1.142. После перехода по этому IP попадаем в веб-интерфейс нашей метеостанции. Предварительно необходимо будет ввести стандартный логин «esp8266» и пароль «0000» во всплывающем окне. 


Теперь нужно указать модулю к какому порту подключен датчик, чтобы первый смог считывать его показания. Делается это на странице «Hardware». Соответствующей отметкой активируем первый датчик, а в строке GPIO указываем 14-й порт. Произойдет инициализация и на главной странице интерфейса появится отображение температуры и влажности. Ура!



Напоследок не забудьте на странице «Main» изменить пароль для входа в систему и часовой пояс для отображения времени. Также необходимо перевести модуль на статический IP-адрес (кнопка внизу страницы), чтобы после перезагрузки роутера ваша метеостанция не «потерялась». Если разбираетесь в настройках своего роутера, то лучше сделать бессрочную аренду IP-адреса для модуля, вместо установки статического IP. 


Прототип готов, теперь перейдя по установленному IP-адресу можно посмотреть температуру и влажность в месте, где вы установили датчик. 


Подключение метеостанции к сервису метрик Thingspeak.com

Но просто смотреть температуру не интересно. Необходима визуализация данных, чтобы можно было проследить какие-то тенденции в изменении показаний. Для этого регистрируемся в сервисе метрик Thingspeak.com и в своем профиле создаем новый канал. 


10


На открывшееся странице заполняем название канала, отмечаем первых два поля field и записываем туда значения «temp» (первое поле) и «humidity / temp» (второе).


Теперь снова займемся модулем. В конструкторе прошивок в дополнение ко всем предыдущим отметкам добавляем «Thingspeak.com», компилируем прошивку и прошиваем по аналогии. К сожалению, все настройки на модуле придётся произвести заново, т.к. OTA-обновления с сохранением оных доступны только в платной версии ПО (цена вопроса всего 100 рублей на модуль). 


Возвращаемся на страницу созданного нами канала в сервисе Thingspeak.com и открываем вкладку «Api Keys». Нам понадобится код из поля «Write Api Key». Его нужно скопировать и вставить в соответствующее поле на странице «Servers» в веб-интерфейсе нашей метеостанции, предварительно не забыв установить отметку на «Enable Thingspeak.com send.». 


Показания будут отправляться каждые 5 минут. А выглядеть это в итоге будет следующим образом:


Внешний вид графиков поддается редактированию, так что вы вольны творить! :)


Итоги

5


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

Об авторе
Geek. Дружу с электроникой и паяльником. Люблю гаджеты и пишу о них.
+8 0 19627 8
Автор fragik Рейтинг +5.30 Сила 11.49
Блог Умный дом 60 68 RSS

8 комментариев

На связи
Интересно как все это можно на GSM посадить минимальной ценой.
Заинтересован удаленно мониторить параметры среды в некоторых точках (не дома) и писать логи.
Есть ли подобные модули сразу с SIM картой и соединением данных?
Применять относительно дорогостоящие роутеры 3G-Wi-Fi не хочется.
Какое есть дешевое решение?
fragik
Конструктор прошивок GSM-модули поддерживает. Цена вопроса — 6 долларов, подключение максимально простое. А вот в возможностях уже нужно разбираться. 
Balin
судя по интерфейсу у автора Windows 95 или Win3.1?
fragik
Это вы по какому скриншоту определили? 
Шамиль Джанболатов
Спасибо, но я купил себе метеостанцию за 320 р. и не парюсь. Ну, если захочется поиграться в «сделай сам», возьму на заметку, спасибо
5511637@vkontakte
Вы меня конечно простите, но статья полна туфта, в принципе это что- то вроде «подцепили пару датчиков, привязали вифи модуль- крутяк».
Вот теперь давайте разберём.
Какой смысл от метеостанции, если она всецело зависит от внешних ресурсов, таких как вифи? Ну как вы себе представляете мониторить показания, например, в гараже. Ну вот нужно мне, я туда роутер должен поставить? Смешно, не так ли?Во вторых,10$ говорите? Хорошо, модуль стоит сейчас 360 рублей т.е. допустим 5$, датчик DHT порядка 170 рублей т.е. 2.5$, на картинке (первой) вижу значения давления, значит ещё датчик давления, пусть будет BMP180- 260 рублей (3$), индикатор, мелочёвка… Короче далеко не 10$, пусть не критично от 10, но не 10 уж явно. Но не суть, суть в том, что ЗАЧЕМ такая конструкция?!?!?  
Примерно 1,5  минуты гугления меня сразу же вывели на вполне вменяемые решения, например вот: http://radiokot.ru/circuit/digital/home/214/ и статистика тебе с датчиков и охрана и всё что хочешь, т.е. как бы люди лисапед уже придумали. Я не спорю, идея правильная, но реализация, как бы… Поэтому, не задеть или оскорбить, нет, не в коем случае, просто развивайтесь, думайте наперёд, ну и всего доброго! 

Добавить комментарий