Главная > Arduino > Ethernet погодная станция

Ethernet погодная станция


15 марта 2013. Разместил: Berkut
Было написано множество статей на тему вариаций погодных станций на платформе Arduino. Вывод данных везде был различен. Позвольте представить мою вариацию, с выводом данных через Ethernet.

Итоговое фото сборки:

Ethernet погодная станция на Arduino


Компоненты:

* Arduino Uno r.3 — 1 шт.;

Arduino Uno r.3


* Ethernet Shield W5100 — 1 шт.;

Ethernet Shield W5100


* Prototype Shield — 1 шт.;

Prototype Shield


* Датчик температуры и влажности DHT-22;

Датчик температуры и влажности DHT-22


Датчики DHT-22 бывают в различных исполнениях, мне попался датчик уже готовый к подключению, с подтягивающим резистором:

Датчик DHT-22


* Датчик давления BMP085;

Датчик давления BMP085


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

Ethernet погодная станция



Итоговые компоненты схемы:

Все компоненты



Задачи:
Основной задачей была реализация вывода данных о температуре, влажности и давлении в домашнюю сеть, так же в ходе разработки и прототипирования была реализована побочная задача управления нагрузкой через сеть.
Реализована возможность управления любой нагрузкой через WEB-интерфейс.


Образно алгоритм работы устройства выглядит так:

* Задаем на Ethernet Shield MAC-адрес, ip-адрес и маску под сети;
* Задаем PIN для управления нагрузкой;
* Получаем данные с датчиков;
* Производим необходимые преобразования ( в данном случае имеется ввиду преобразование давления);
* Формируем WEB-страницу;
* Выводим значения с датчиков и состояние PIN нагрузки на страницу.

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

Код скетча:





Web-интерфейс выглядит следующим образом:

Ethernet погодная станция


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


Схема устройства:

Схема



Стоимость устройства:

  • Arduino Compatible UNO Rev3 = USD$ 15.20
  • Ethernet W5100 Shield Network Expansion Board w/ Micro SD Card Slot for Arduino = USD$ 25.30
  • DHT22 2302 Digital Temperature Humidity Sensor = USD$ 10.90
  • BMP085 Barometric Pressure / Height Sensor Module for Arduino – Blue = USD$ 10.30
  • NT-R02BM 250~450MHz OOK/ASK Receiver Module (DC 5.0V) = USD$ 4.20


ИТОГО: USD $ 65.9


Предвижу сразу, что многие скажут что это дорого, но для меня роль играл сам факт реализации, а не цена.


Скетч и схема устройства:
LAN_Weather.rar


Дальнейшие планы:

* В дальнейшем планируется доработка данной схемы RF-приемником и стандартным датчиком для измерения температуры и влажности Oregon THGN132N. Такие эксперименты уже описывались.
* Так же в наличии имеется роутер типа ASUS RT-N16, на котором есть утилита RRDTool. Планируется получение данных со станции и построение графиков при помощи данной утилиты.

Ethernet погодная станция

Ethernet погодная станция

Ethernet погодная станция



Ссылки по теме:
Arduino на Хабре
Arduino&Oregon на Хабре
Колдуем метеостанцию…
Содержание данных передаваемых датчиком Oregon
Описание протокола Oregon
Разбор протокола Oregon

Вернуться назад