Беспроводной датчик температуры и влажности на DHT22

Добавления 2015.01.18: датчик интергирован в систему HTTP-логгирования.

Первоначально идея выносного датчика была следующей:

На схеме: P1 - подключение модуля nRF24l01, P2 - датчика DHT22, P3 - питание. Планировалось взять простой микроконтроллер семейства ATtiny, сделать управляемое питание датчика и радиомодуля и использовать батарейное питание. Для экономии энергии отправлять контроллер в самый глубокий сон, просыпаясь каждые несколько секунд по WDT.

Однако, т.к. я специализируюсь в первую очередь на микроконтроллерах LPC, первый прототип собран на основе микроконтроллера LPC1343. Модуль nrf24l01 подключен к стандартному SPI. Для CS сигнала используется вывод P0.2, для сигнала CE вывод P3.2. Вывод SDA датчика подключается к P3.3 и обслуживается в обычном GPIO-режиме.

Для получения температуры и влажности используется датчик DHT22 (он же AM2302).

Он позволяет получать относительную влажность воздуха с точностью не хуже 5% и температуру с точностью не хуже 1 градуса цельсия.

Внешний вид выносного датчика (девайс Амплитуда - обычный PowerBank для питания), в основе уже знакомая плата на LPC1343:

А вот так выглядит приемник на стороне PC:

И лог, полученный при помощи приложения recv.exe:

Энергосбережение

Как и планировалось, поэкспериментировал с понижением энергопотребления. По-умолчанию, устройство кушало около 25мА. После всех телодвижений получилось понизить расход до 1.5-2мА в момент простоя.

Для этого в моменты простоя:

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

Интеграция в систему логгирования

Для приема данных в систему HTTP-логгирования была расширена соответсвующая плата. На ней добавлен приемник nRF24l01:

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

Ссылки

Original: http://igorkov.org/sens,
Author: igorkov