Как сделать метеостанцию своими руками. Проект " метеостанция в домашних условиях"

Из завалявшихся деталей решил сделать небольшую метеостанцию. На сборку и написание прошивки для контроллера ушло два дня выходных. Еще пара дней ушла на написание, тестирование и отладку остального программного обеспечения. Текущая версия метеостанции измеряет температуру, влажность, давление, имеется связь с компьютером через USB порт от него же и питается, резервное питание от батареи 9 В. Данные отображает на LCD. Еще есть часы. Поскольку, не нашлось подходящего кварца (а покупать принципиально не хотел), сделал синхронизацию времени с компьютером.

Этот проект абсолютно не коммерческий, поэтому схему метеостанции, прошивку контроллера и все необходимое программное обеспечение можно скачать . Исходный код прошивки .

Станция собрана на макетной плате, поэтому чертеж печатной платы и не просите.

Использовались следующие основные компоненты:
ATMega8 - контроллер
MPX4115A - датчик давления
HIH-4000 - датчик влажности
DS18B20 - датчик температуры
WH1602A - дисплей

Я использовал LCD на PLED технологии, можно обыкновенные типа WH1602A. Датчики температуры и влажности вынесены на улицу в защитную коробочку.

Подключаем к компьютеру

Подключение к порту USB требует отдельного описания.

В принципе, можно было подключить и к COM порту, так проще. Но у меня он занят. Выбора нет - USB. Поскольку станция собиралась с чего было, то в ход пошел завалявшийся огрызок кабеля CA-42 для подключения мобильного телефона к компьютеру. Разъем к мобильному телефону ушел в дело, а тот конец, который подключается к компьютеру остался. В самом этом разъеме уже имеется микросхема для USB порта, а на выходе - стандартный UART, тот, который используется в мобильных телефонах и самый раз для контроллера, поэтому провода запаиваем напрямую, без каких либо преобразователей сигнала. После установки драйверов для этого кабеля, появляется виртуальный COM порт. Далее можем любой программой подключиться к нашей метеостанции, например HyperTerminal . Распайку кабеля специально не привожу, поскольку кабеля разные, могут отличатся. Использовать нужно 3 провода TX, RX, GND. Запитать устройство от кабеля, скорее всего, не получится. Я взял не нужный USB разъем и запитал с другого USB порта.

Для того чтобы можно было из командной строки отправлять команды и принимать ответ от метеостанции, была написана программа getfromcom.exe.

Метеостанция понимает только две команды:

AGOV - Возвращает текущие показания датчиков.

SETTIME [время в секундах с начала суток] - команда устанавливает время в метеостанции

Для получения данных выполняем getfromcom.exe COM6 AGOV

Для установки времени выполняем getfromcom.exe COM6 "SETTIME 72565"

COM6 - порт.
72565 - количество секунд с начала суток.

Автоматизация процесса

Теперь можно любой программой считать, обработать данные, отправить куда надо, синхронизировать время метеостанции. Я это сделал с помощью скриптового языка PHP. Во первых это быстро и всегда можно оперативно подправить скрипт и не искать куда делся исходный код. Во вторых, я постоянно работаю с PHP. Но Вы можете написать свою программу на любом удобном для Вас языке. Разумеется, для работы PHP придется его скачать (http://www.php.net/downloads.php) и установить на компьютере. Под Windows это делается элементарно. Скрипт getfromcom.php запускается из файла get_data.bat опрашивает метеостанцию, обрабатывает данные и отправляет на HTTP-сервер скрипту get_data.php. О скриптах на сервере поговорим чуть позже.

Спящий режим рабочего компьютера

Мой компьютер стоит в спящем режиме. Просыпается каждые 3 часа, опрашивает метеостанцию, отправляет данные на сервер и снова засыпает (можно и не выключать - кому как удобнее.). Делается это так: В планировщике задач указывается пакетный файл get_data.bat для выполнения и устанавливается опция "разбудить компьютер для выполнения этого задания".

Компьютер отправляется в спячку командой fShutdown.exe /hibernate
Теперь по указанному времени компьютер проснется и выполнит get_data.bat

Особенности get_data.bat

Команды:

devcon.exe enable PCIVEN_10EC
ping 127.0.0.1
RASPHONE -d Setilite

Запускают сетевое подключение и подымают VPN к моему провайдеру Интернет.

ping 127.0.0.1 - так я сделал необходимую паузу.

Соответственно, отключаем командами:

RASPHONE -h Setilite
devcon.exe disable PCIVEN_10EC

У Вас будет все по другому, поэтому в файле эти строки закомментированы.

После выхода из спячки компьютер начинал думать, что COM порт занят другой программой. Пришлось виртуальный COM порт перезагружать командой devcon.exe restart "USBVid_6547&PID_0232"
У Вас будет другой ID устройства.

Серверные скрипты:

Теперь о скриптах на сервере. Скрипт, который принимает данные: get_data.php
Скрипт сохраняет данные в файл pogoda.log. Вообще то, данные отправляются и в базу данных MySQL. Но для простоты, рассмотрим работу только с файлом. Принимая данные, скрипт проверяет подходит ли IP адрес отправителя. Разрешенные адреса перечислены в файле ip_allow.lst От "чужого" отправителя данные не принимаются.

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

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

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

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

Для соединения модулей можно использовать шлейф с 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 » с пояснениями по подготовке модуля к работе. Скачивайте файлы с ПО из первых двух пунктов инструкции.

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

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

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

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

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

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

Далее повторяется процесс с прошивкой 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 и в своем профиле создаем новый канал.

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

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

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

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

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

Итоги

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



«Так, давайте сразу договоримся: вы не собираетесь снимать кино для Голливуда. Даже в Стране чудес утверждается не более пяти процентов от всех сценариев, и только один процент идет затем в производство… Таким образом, вместо всего этого вы собираетесь создать свой собственный Голливуд.»
Эд Гаскель «Снимаем цифровое кино, или Голливуд на дому»

Предисловие

Что, ещё одна погодная станция на Arduino?! Да, ещё одна и, что-то мне подсказывает, не последняя в интернете вещей.


Точно также, как каждый программист обязан написать программу «Hello World!», так и каждый ардуинщик обязан иметь за плечами опыт построения простой или не очень метеостанции.
Уже созданных проектов метеостанций в интернете описано немалое количество, читатель может выбрать любой из них для реализации. Не скрою, я внимательно изучил около десятка подобных проектов и ещё кучу смежных. Поэтому нельзя сказать, что я создал всё с нуля, конечно же я «стоял на плечах гигантов».


Сразу скажу, что в мои планы не входило использование сторонних сервисов для хранения и отображения данных. Хотелось лично пощупать и понять как всё это работает изнутри от начала до конца, от А до Я.


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



Этот проект был реализован в далеком уже 2016 году, но надеюсь еще актуален.

Набор технологий

Мы изучим и будем работать с простыми и сложными вещами:

  • датчиками температуры и влажности типа DHT22, DHT11
  • датчиком барометрического давления типа BMP180
  • WiFi модулем ESP8266
  • радиомодулем типа nRF24 2,4 Ггц
  • семейством Arduino Pro Mini, Arduino Mega
  • солнечной батареей и аккумуляторами
  • языком программирования C/C++
  • языком программирования PHP
  • системой управления базами данных MySQL
  • языком программирования Java и фреймворком Android (создание приложения для Adnroid для отображения погодных данных на смартфоне).

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


Но начнем мы с самого начала правильно. А именно с описания и проектирования будущего устройства «на бумаге» , чтобы в конце концов каждый кирпичик лёг на своё место.

Прототипирование

Как нам правильно говорит Википедия, прототипирование - это быстрая черновая реализация работающей системы. Которая, да, будет работать не совсем неэффективно и с некоторыми ошибками, но даст представление о том, следует ли развивать поделку до промышленного образца. Процесс создания прототипа не должен быть затяжным. За этапом прототипирования следует анализ системы и её доработка.


Но это в промышленности, где работники заняты полный рабочий день.


Каждый, кто клепает по вечерам свои поделки pet-project для «internet of things», должен отдавать себе отчёт в том, что он создаёт именно прототип, полуфабрикат. До уровня нормального промышленного изделия ему очень далеко. Поэтому не следует поручать нашим любительским поделкам какие-либо ответственные участки жизнеобеспечения и надеяться, что они нас не подведут.


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


Итак, вместо всей этой тягомотины, мы создадим свою собственную игрушку, но не простую. С элементами технического творчества, зачатками программирования и познания (в процессе создания) многих других смежных вещей.


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

Требования

Обычно этот этап пропускают. Решая сделать что-нибудь эдакое прямо сейчас, а потом выясняются мелкие детали, которые ставят весь проект в тупик или вовсе делают его неподъемным. Все наши хотелки необходимо записывать, я использую для этого гугл диск, он доступен с ПК и с мобильного устройства.


Итак, наша метеостанция должна:

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

Датчики используются самые простые и дешевые. Например, забегая наперед скажу, что температуру DHT22 измеряет достаточно точно, а вот с влажностью немного неточен. Но, опять таки повторюсь, это не имеет значения, поскольку перед нами - прототип, и разброс в 5% влажности ни на что важное в нашей жизни не повлияет.


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

Железо. Выбор компонентов

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


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


Замкнутый круг? Но замкнутые круги для того и существуют, чтобы их разрывать.


Выход есть. Можно просто взять и повторить чей-то проект. Я же изучил уже существующие проекты метеостанций и надеюсь сделал шаг вперед.


Итак. Архитектура погодной станции базируется на Arduino. Потому что Arduino имеет небольшой порог вхождения и я уже имел с этим дело. Дальше выбирать уже проще.


Сразу стало ясно, что в составе метеостанции будет удаленый, заоконный датчик и центральный модуль.


Центральный, основной блок будет расположен внутри помещения. Это важно определить на начальном этапе, от этого «пляшут» такие важные характеристики как температурный режим работы и питание.


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


Для сношений с внешним миром интернет был однозначно выбран WiFi модуль ESP8266 практически без альтернативы (прим. возможно сейчас такие альтернативы появились). К Arduino выпускаются Ethernet платы расширения, но совсем не хотелось привязываться к кабелю.



Интересный вопрос состоял в том, чем обеспечивать связь между заоконным датчиком (или датчиками, про требование расширяемости системы помним?) и центром. Радиомаячки на 433 Мгц однозначно не подходят (они не подходят ни для чего вообще).


Воспользоваться опять ESP8266 ?


Минусы такого решения:

    необходим устойчивый WiFi за пределами дома

    дальность связи не будет большой

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

    большее энергопотребление.

    Энергопотребление ESP8266:

    при передаче 120-170 mA

    при приеме 50-56 mA

    в режиме Deep Sleep 10 µA (мкА)

    в выключенном состоянии 5 µA (мкА).

В конце концов для связи удаленных датчиков с основным домашним блоком был выбран чип nRF24L01+ с 2,4 Ггц передатчиком и приемником в одном флаконе, с дополнительной внешней антенной, чтоб уж наверняка «пробить» стены.



Энергопотребление nRF24L01+ 2,4 GHz:

  • при приеме 11 mA
  • при передаче на скорости 2Mbps - 13 mA
  • в режиме standby-I - 26 μA (мкА)
  • в выключенном состоянии 900 nA (нА).

Что у ESP8266, что у nRF24L01+ диапазон рабочих температур подходящий: от -40℃ до +80℃.


Купить nRF24L01+ можно примерно за $1, или сразу с внешней антенной за $3. Купить ESP8266-01 можно примерно за $4. Читайте внимательно описание товара! Иначе купите одну антенну.


Ядро системы вырисовалось. Переходим к самим датчикам.


На улице, как известно, температура может достигать отрицательных значений, поэтому датчик DHT11 не подходит, а вот DHT22 в самый раз.



Характеристики DHT22 / AM2302:

  • питание от 3,3 В до 5 В, рекомендуется 5 В
  • потребление 2.5mA максимум, в момент измерения и передачи данных
  • диапазон измерения влажности 0-100% с погрешностью 2-5%
  • диапазон измерения температуры от -40 до +125°C с погрешностью ±0.5°C
  • запрос на измерение не чаще 0,5 Гц - одного раза в 2 секунды.

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


Характеристики DHT11:

  • питание от 3,3 В до 5 В
  • потребление 2,5 mA максимум, в момент измерения и передачи данных
  • диапазон измерения влажности 20-80% с погрешностью 5%
  • диапазон измерения температуры от 0 до +50°C с погрешностью ±2°C
  • запрос на измерение не чаще 1 Гц - одного раза в секунду.

Купить DHT22 можно примерно за $3. DHT11 стоит дешевле - $1, но он и менее точен.


Теперь возвращаемся опять к Arduino. Какую плату выбрать?


Я тестировал отдельные части системы на Arduino UNO. Т.е. подключал к уно ESP модуль и изучал его, отключал, затем подключал nRF24 и т.д. Для финальной реализации заоконного датчика выбрал Arduino Pro Mini как наиболее близкую к Uno из миниатюрных.



По энергопотреблению Arduino Pro Mini также выглядит неплохо:

  • нет преобразователя USB-TTL, который сам по себе «кушает» много,
  • светодиод подключен через 10к резистор.

Для продвинутого сбережения энергии планировалось:

  • удалить светодиод - индикатор питания на Arduino Pro Mini (я пожалел, не стал портить плату)
  • либо использовать «голую» сборку на микропроцессоре Atmel ATmega328 (не использовал)
  • использовать библиотеку Low Power Library или JeeLib .

Из библиотек выбрал Low Power Library , она проста и содержит только то, что нужно.


Для центрального блока, поскольку к нему планировалось подключить многочисленную периферию, была выбрана плата Arduino Mega. К тому же она полностью совместима с UNO и имеет больше памяти. Забегая наперед скажу, что этот выбор полностью оправдался.


Купить Arduino Mega можно примерно за $8.

Питание и энергопотребление

Теперь про питание и энергопотребление.


Arduino Pro Mini бывают двух видов:

  • на напряжение питания 5В и частоту 16МГц
  • на напряжение питания 3,3В и частоту 8МГц.

Поскольку радио-модуль nRF24L01+ требует для питания 3,3 В, а быстродействие здесь не важно, то покупайте Arduino Pro Mini на 8MHz и 3,3В.


При этом диапазон питающего напряжения Arduino Pro Mini составляет:

  • 3,35-12 В для модели 3,3 В
  • 5-12 В для модели 5 В.

У меня уже была Arduino Pro Mini на 5В, только поэтому я её и использовал. Купить Arduino Pro Mini можно примерно за $4.


Питание центрального блока будет от сети 220 В через небольшой блок питания, дающий на выходе 12В, 450mA, 5W. Типа такого за $5. Там еще есть отдельный вывод на 5В.



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


Поэтому Arduino Pro Mini и радиомодуль nRF24 будут запитываться от связки 4-х Ni-Mh аккумуляторов.


И помните, максимальная емкость современного аккумулятора примерно 2500-2700mAh, всё что больше это либо маркетинговые уловки (Ansmann 2850) либо обман (UltraFire 3500).


Li-Ion аккумуляторы я не использую по нескольким причинам:

  • очень дорогие
  • при снижении температуры окружающего воздуха ниже 0°C происходит снижение мощности литий-ионного аккумулятора до 40-50%
  • те которые дешёвые производятся без защиты и небезопасны (при КЗ или разряде могут взрываться и гореть, см. кучу роликов на ютюбе)
  • стареют, даже если не используются (впрочем это можно сказать обо всех химических элементах), через 2 года Li-Ion батарея теряет около 20% ёмкости.

Для прототипа вполне можно обойтись качественными Ni-MH AA или AAA аккумуляторами. Тем более, что нам не нужны большие токи. Единственный минус Ni-MH аккумуляторов - это их долгая зарядка.

Общая схема метеостанции

Подведем итоги. Вот общая схема как всё работает.



Продолжение следует.

Захотелось иметь свою метеостанцию, которая передает показания с датчиков на карту народного мониторинга (ищется в гугле за 5 секунд). Оказалось это не так сложно, как кажется. Рассмотрим, что было сделано.

Для данного действия я взял себе Arduino Uno и Ethernet Shield w5100 для нее. Все это заказывалось из Китая на Aliexpress.

Так же там заказал себе датчики: DHT22, DHT11, DS18B20, BMP280 (в планах еще датчики газа, дыма…)

Покурив форумы, гугл, яндекс, я нашел неплохой вариант скетча — https://student-proger.ru/2014/11/meteostanciya-2-1/

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

В тех скетчах не было поддержки 280-го датчика давления, пообщались с автором, он заменил 180 на 280. Все заработало прекрасно (спасибо ему за это огромное)

Ниже приведу пример итогового скетча, что получился у меня.

В данный момент у меня подключены датчики:
DHT22 — 1шт.
DHT11 — 1шт.
BMP280 — 1шт.
DS18B20 — 2шт.

ВНИМАНИЕ! Перед тем как заливать скетч, не забудьте изменить MAC-адрес устройства, чтобы не пересекаться с другими (например взять Mac-адрес вашего мобильного телефона и изменить в нем последние буквы/цифры, что не «будоражило» вашу локальную сеть!

Примерная схема подключения (картинка взята на просторах интернета от данного скетча):

По техническим причинам у меня не получается выложить скетч прямо сюда. Поместил его в архив. Ссылка на него строчкой выше.

Как видно, показания есть, идут исправно, для примера выложу пару скриншотов со своих датчиков:

МБОУ СОШ Селихинского сельского поселения

Тема проекта

« Метеостанция в домашних условиях»

Выполнил:

Пюви Райнис, ученик 5 кл.

Руководитель:

Бессмертная О.А.

2016г

Тема : «Метеостанция в домашних условиях».

Гипотеза: Можно ли создать метеостанцию в домашних условиях.

Цель: Изготовление метеостанции в домашних условиях и наблюдение за изменениями погоды.

Задачи:

    Узнать что такое метеостанция.

    Изучить историю фенологии.

    Изучить строение метеостанции.

    Изготовить метеостанцию в домашних условиях;

    Наблюдать за погодой и записывать результаты наблюдений в таблицу;

Методы исследования:

    поисковый (сбор информации по теме)

    наблюдения

    практический (изготовление приборов)

    аналитический (сравнение результатов)

    Введение.

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

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

Все народы обожествляли Солнце, Луну, ветер, молнию и гром. У восточных славян до принятия ими христианства особо почитался Перун- земледельческий бог, податель дождя, творец молнии и грома, в его власти было появление весенней зелени на земле и деревьях. Приняв новую веру, наши предки стали чтить Илью- громовержца.

Многие народы считали Солнце главным источником жизни на Земле. Они называли его «князем Земли и царем неба». Луну почитали как княгиню.

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

    Из истории фенологии.

Фенология - наука о закономерностях сезонного развития природы. Развитие фенологии определяется запросами практики (сельского, рыбного, охотничьего, лесного хозяйства, охраны природы, здравоохранения и др.) .

Фенология позволяет прогнозировать сезонные явления и планировать хозяйственную деятельность (природоохранные мероприятия, сроки сельскохозяйственных работ и т. п.) в соответствии со сроками этих явлений.

(№1.)

Имеются свидетельства, что древнейшие народы земли - китайцы и египтяне - в своей земледельческой практике умели следить за сезонным развитием природы. Сезонные явления нашли отражение в ряде трудов античных авторов (например, у греческого философа Феофраста (372-287 г. до н. э.) и римского писателя Плиния Младшего (62-114 г. н. э.)).

В средние века в русских и зарубежных летописях и хрониках иногда велись записи о сроках наступления важнейших сезонных явлений (например, в монастыре Кракова за 1490- 1527 г., во дворце японского микадо с 812 г. и др.). Однако эти материалы оставались без систематизации и научной обработки.

В России самым старинным считается рукописный календарь, датированный 1670 годом, а первым печатным календарем следует считать «Святцы или календарь, изданный Копиевским в Амстердаме и датированный 1702 годом.

Первая мысль о необходимости вести наблюдения за сезонными явлениями природы в России принадлежала Петру I.

В 1721 году Петр I писал из Москвы в Петербург А.Д. Менишкову: «Когда деревья станут раскидываться, тогда велите присылать нам весточки оных, понедельно, наклеивши на бумагу с подписями чисел, дабы узнать, где ранее началась весна». А указом государя, изданным 28 марта 1722 года, предписывалось адмиралу Крюйсу вести систематические записи о состоянии погоды в Петербурге.

Во второй половине XVIII века караульным у Кремлевской стены вменялось в обязанность отмечать состояние мороза, наступление метели, толщину снежного покрова, характер ветра, града, грозы и другие показатели погоды.

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

После революции 1917 года метеорология продолжала совершенствоваться. В настоящее время гидрометеорологическая служба располагается тысячами наблюдательных станций, множеством обсерваторий и целым рядом научно-исследовательских учреждений. Работники метеослужбы стремятся дать информацию не только на ближайшую, но и на отдаленную перспективу.

№2.

    Понятие метеостанции, её состав.

Метеостанция - совокупность различных приборов для метеорологических измерений (наблюдения за погодой).

В узком смысле метеостанция - учреждение, проводящее метеорологические наблюдения. Основным официальным метеостанциям мира присвоены синоптические индексы. В России большинство метеостанций находятся в ведении Росгидромета. В зависимости от установленного объёма наблюдений, метеостанции имеют определённый разряд. Данные метеостанций СССР публиковались в «Метеорологическом ежемесячнике».

Различают аналоговые и цифровые метеорологические станции.

На классической (аналоговой) метеостанции имеется:

1.Термометр для измерения температуры воздуха и почвы.

2. Барометр для измерения давления.

3. Анемометр для направления ветра.

4. Осадкомер (плювиограф) для измерения осадков.

5. Гигрометр для измерения влажности воздуха

6. Снегомерная рейка - рейка, предназначенная для измерения толщины снежного покрова при метеонаблюдениях.

7.Термограф- самописец, непрерывно регистрирующий температуру воздуха.

№3.

4.Метеорологические приборы:

Термо́метр (греч. θέρμη - тепло; μετρέω - измеряю) - прибор для измерения температуры воздуха, почвы, воды и так далее. Существует несколько видов термометра: жидкостные; механические; электронные;

Баро́метр (др.-греч. βάρος - «тяжесть» и μετρέω - «измеряю») - прибор для измерения атмосферного давления. Ртутный барометр был изобретён итальянским математиком и физиком Эванджелистой Торричелли в 1644 году, это была тарелка с налитой в неё ртутью и пробиркой(колбой), поставленной отверстием вниз. Когда атмосферное давление повышалось, ртуть поднималась в пробирке, когда же оно понижалось - ртуть опускалась. Из-за неудобства такая конструкция перестала применяться и уступила место барометру-анероиду, но метод, по которому такой барометр был изготовлен, стал применяться в термометрах.

А.А. Летягин. География. Начальный курс:5 класс: учебник для учащихся общеобразовательных организаций/А.А. Летягин; под ред. В.П. Дронова.-3-еизд.,дораб. и доп.-М.: Вентана-Граф, 2015г.-160с.