Метеостанция рукажопа.
Доброго времени суток, хочу поделится своим творением и как сказано в заголовке это метеостанция рукажопа, поэтому в данном проекте существует куча ошибок, но все равно работает.
Для начала компоненты:
Arduino Nano
ESP-01
Модуль соглосования логических уровней для ESP-01
Стабилизатор 3.3В
Экран 20x4
Модуль часов
Датчик температуры и влажности DHT22 и DHT11
Bluetooth модуль(хотя он немного лишний)
Блок питания на 9В
Модуль Реле (Двойной)
Что всё это умеет делать:
Включать\Выключать две розетки 220В
Показывать температуру и влажность за окном и в комнате
Показывать время и дату :)
А дальше нужно куда то записывать температуру, я знаю что есть много сервисов для сбора, анализа и управления для IoT утсройств, но я решил сделать все сам.
Так как есть хостинг, я сделал на php API (если это можно так назвать) для общения с ардуиной.
Еще один момент не знаю почему, но мне пришлось прошить код общения с хостингом прямо в ESP-01 иначе не работало, причины я так и не нашел, поэтому ESP и Ардуина просто общаются через SerialPort.
ESP каждую секунду посылает GET запрос что бы узнать состояние розеток(которые хранятся в БД на хостинге) и за одно посылает температуру и влажность за окном.
На хостинге Cron бережно каждые пол часа берет присланные данные температуры и записывает в другую таблицу для составления графика.
В случае если состояние разеток меняется ESP отсылает команду Ардуине.
Ну а управление всем этим происходит с телефона на Андройде и с приложения на ПК.
Включение и выключение, а также синхронизация часов (Через bluetooth, и я знаю что можно было это и через WiFi сделать, но .. читайте заголовок):
График температуры и влажности:
Управление с Андройда, для графика использовал библиотеку "hellocharts"
У меня первая розетка это свет в аквариуме, а вторая обычная лампа настольная.
Вот так это выглядит:
Тут можно увидеть все компоненты и еще кнопку от компьютерной мышки(это Reset ESP), разные джамперы для включения отключения питания и пере прошивки ESP через Ардуину.
Вот и все! Я знаю что много чего можно было бы поумнее, дешевле, лучше сделать, но так как я недавно в этом, то на первый раз пойдет.
Все исходники тут Гугл Диск
Спасибо всем за внимание.