Радости тред или "Метеостанция королева снова в строю".
После более чем полугодового перерыва частично восстановил работу метеостанции.
Пока частично (генерация страниц пока не работаеn), но данные уже пишутся.
Трансляция на Weather underground (трасляция realtime), CWOP уже работает.
Попутно перенес базу в мускуль (был sqlite)
ЗЫ ищется разработчик (за печеньки) для написать красивый интерфейс, а то веб1.0 интерфейс навевает тоску и уныние.
Метеостанция рукажопа.
Доброго времени суток, хочу поделится своим творением и как сказано в заголовке это метеостанция рукажопа, поэтому в данном проекте существует куча ошибок, но все равно работает.
Для начала компоненты:
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 через Ардуину.
Вот и все! Я знаю что много чего можно было бы поумнее, дешевле, лучше сделать, но так как я недавно в этом, то на первый раз пойдет.
Все исходники тут Гугл Диск
Спасибо всем за внимание.
Метеостанция из разного барахла)
Привет всем любителям электроники, микроконтроллеров, программирования. Не так давно обзавелся халявными development kit-ами от Nordic на основе микроконтроллеров NRF51 со встроенным Bluetooth 4.1. Так же получил пару BLE модулей от Microchip для теста:
Модули эти отличаются очень низким энергопотреблением, довольно просты в программировании, в отличии например от CC2541 с их ОС)). было решено начать осваивать технологию BLE c самых простых режимов: Observer и Broadcaster в качестве элементов так многими любимой метеостанции. Просто маячки (Beacon) мне не так интересны, а вот по передавать свои данные было любопытно.
Первым делом опробовал примеры от Nordic для NRF51. Довольно быстро разобрался что к чему. В итоге был написан код для передатчика. В качестве датчика пробовал SHT21, BMP180, BMЕ280. Выбор остановил на датчике температуры и влажности SHT21. накидал схемку:
Сделал "лутом" платку и запаял все "пиздюлинки" (оказались довольно паябельны, особенно согласующий трансформатор, который выглядит как блоха между мк и чип-антенной):
Питание броадкастера от литиевой батарейки CR2032 - 3V, хватить которой должно на довольно долгое время (надеюсь год хотя бы проживет). Потребляет передатчик в режиме ожидания менее 2 мкА (так показывает мультиметр на режиме 2 мА, поэтому может и меньше) Пока проработал 2 недели, разряд батареи составил около 0,01 В. Передает данные (adversting) раз в 10 сек. Измерение происходит раз в 20 сек., зависит от желания.
Рабочее расстояние метров 10 - 15, так как антенна с низким усилением 0,5 дБ, да и в NRF51 только один уровень выходной мощности, вроде бы 0 дБм (в NRF52 уже поинтереснее).
Приемник (Obsrver) решил сделать на MSP430G2553 и RN4020 чтоб протестировать (тоже самое и проще на NRF51 ). Управление BLE модулем осуществляется по UART, довольно простое. Потребляет модуль в режиме ожидания менее 1 мкА. В режиме передачи 15 - 20 мА.
Информация выводится на дисплей на PCD8544.
Схема приемника:
Приемник раз в 30 секунд сканирует на наличие широковещательных сообщений и принимает нужное по известному MAC адресу. Расшифровывает строку с сообщением и высчитывает показатели температуры, влажности и заряда батарее с модуля передатчика, RSSI.
Так же выводится на дисплей заряд собственной батареи. Так же параметры для отладки (кол-во полученных пакетов, код выполняемой операции).
В итоге потребляет приемник в режиме ожидания со включенным дисплеем 100 - 120 мкА,в режиме сканирования 20 мА. Питание осуществляется аккумулятором на 1150 мАч.
В результате можно сделать вывод: nrf51 везде сующийся китайцами для BLE устройств чип вполне пригоден для любительской техники, устройств. Единственное это разобраться со стеком и настройкой разных режимов Bluetooth, благо примеров от Nordic достаточно идет в комплекте с SDK. Есть идеи для подключаемых устройств, но пока так и не понял как организовать свой сервис.
RN4020 вполне пригодный модуль для ардуино-проектов. Работает шустро. Паяется просто. Жрет мало. Есть возможность реализовывать свои сервисы и многие стандартные. Так же поддерживает скрипты. пару раз подвисал когда во время сканирования принимал часто передаваемые сообщения с других BLE устройств и в этот момент я останавливал сканирования, после чего проскакивало еще одно широковещательное сообщение. Возможно какой то мой косяк, сейчас не наблюдается.
Сейчас есть желание написать программу для смартфона для приема инфы с подобных датчиков. Если есть уже опыт помогите начинающему android программисту)))
Если интересует мой быдло код, спрашивайте))). Благодарю за внимание.
Зародыш метеостанции на ардуино
Решил вечерок занять, спаял на макетке сие чудо. Датчик DS18b20 будет выносным (в дальнейшем попробую добавить NRF24l01 чтоб избавиться от проводов. ) За эстетикой не гонюсь, будет без корпуса. Библиотека для дисплея поддерживает русский язык вот ссылка на скачивание https://yadi.sk/d/WoSHAIshu5spU все остальные библиотеки можно скачать прям из arduino IDE
Собрано на ардуино нано (китайской) ,датчики BMP180 и DS18b20 ,стабилизатор 3.3v на AMS1117
BMP 180 и дисплей нокиа 5110 питаются от 3.3v
У меня подключено к 12 пину (выносной датчик ,подключен на разьеме)
За красоту кода не пинайте - я в этом деле новичок. Код писал по примерам, попытался прокомментировать. Может кому пригодится. Всем добра!!!!
Поиграем в бизнесменов?
Одна вакансия, два кандидата. Сможете выбрать лучшего? И так пять раз.
Первый метеоспутник
25 июня 1966 года запущен первый в нашей стране метеорологический спутник «Космос-122»
Атмосфера Земли — это очень сложная природная система, которая непрерывно изменяется, находясь все время в движении. Чтобы знать состояние воздушной оболочки нашей планеты в каждый конкретный момент и предвидеть ее изменения, необходимо следить за всей атмосферой по всей поверхности Земли.
Еще в первой половине XX века для этого была создана огромная сеть метеорологических станций на всех материках. Но, несмотря на усилия наблюдателей за атмосферой во всех странах, в этой сети были огромные пробелы. «Неохваченными» оставались огромные просторы океанов, над которыми зарождаются многие циклоны, влияющие на погоду и климат. Да и на суше находятся многочисленные пустыни, незаселенные территории, покрытые девственными лесами, льдом или высокими горами, где содержать метеостанции очень непросто.
Выходом стала идея использования для наблюдений за атмосферой Земли искусственных космических спутников. Такой спутник должен был фотографировать облачность над океанами и ненаселенными участками планеты. После передачи этих фотоизображений на Землю они анализировались учеными-метеорологами, которые, зная о распределении облачности, могли уже делать обоснованные выводы об особенностях общей циркуляции атмосферы и давать более точные прогнозы погоды. Нет нужды объяснять, насколько важны такие метеопрогнозы в нашей жизни — от простого быта до сельского хозяйства, функционирования авиации и т.п.
В нашей стране первый в истории метеорологический спутник был создан в 1966 году в Москве во Всесоюзном НИИ электромеханики. Первый метеорологический спутник был оснащен телевизионными и инфракрасными камерами, чтобы делать снимки не только в дневное, но и ночное время. Это позволяло сравнивать изображения одной и той же облачности, полученные в видимых и инфракрасных лучах. С помощью телевизионной аппаратуры спутника можно было узнать формы и распределение облачности в атмосфере, снежного покрова на земле и ледяных полей в океанах, температуру верхней границы облаков и открытых участков земли и океанов.
Прежде чем запустить в космос первый метеорологический спутник, наши ученые провели ряд экспериментальных запусков так называемых технологических аппаратов, которые использовались для отработки отдельных систем и комплекса метеоспутника в целом. Всего с 1964 по 1966 годы было запущено четыре таких технологических спутника.
Создаваемые метеорологические спутники представляли собой контейнер с двумя панелями солнечных батарей. В нижней, «приборной» части контейнера размещалась научная аппаратура, в верхней — энергоаппарат и все служебные системы. Обе эти части представляли собой герметические отсеки, энергоаппаратный отсек был связан с механизмом электропривода солнечных батарей, раскрывавшихся после отделения спутника от ракеты-носителя.
Первый настоящий метеоспутник, получивший имя «Космос-122», был выведен на орбиту 25 июня 1966 года при помощи ракеты-носителя «Восток-2М». Спутник провел в полете четыре месяца, впервые обеспечив поступление круглосуточной информации о состоянии атмосферы Земли, которая использовалась метеорологической службой нашей страны, а также передавалась метеослужбам других государств.
Спутник «Космос-122» стал первым в системе метеоспутников «Метеор». За следующие 15 лет было запущено 36 метеорологических аппаратов этой системы, что позволило впервые создать глобальную систему метеослужбы и прогнозирования погоды.