понедельник, 5 ноября 2012 г.

NXT метеостанция на дому

В настоящее время большое распространение получили домашние метеостанции. Это не удивительно: люди всегда хотят знать, что одеть на прогулку или при какой температуре им комфортно работать.
Но зачем покупать то, что можно сконструировать и запрограммировать самостоятельно? Наверно, подобные размышления посещали и Xander Soldaat, одного из активистов Lego сообщества. Он использовал датчик освещенности, датчик звука, барометр компании HiTechnic, и модуль NXT2WIFI. Теперь Xander смог измерять температуру, атмосферное давление, освещенность, уровень шума и передавать эти данные по wi-fi.

Для получения данных было решено использовать протокол SNMP. Данный протокол позволяет управлять устройствами по сети или запрашивать у них необходимые данные. Каждый тип данных имеет свой идентификатор, который называется OID. Xander определил следующие OID идентификаторы для получения значений сенсоров:
  • iso.3, 6, 1, 2, 1, 1, 5, 0: имя блока
  • iso.3, 6, 1, 3.1: температура в С
  • iso.3, 6, 1, 3.2:  давление в миллиметрах ртутного столба
  • iso.3, 6, 1, 3.3: уровень шума в дБ
  • iso.3, 6, 1, 3.4: уровень освещения
Чтобы компьютер запрашивал эти данные, Xander написал небольшой скрипт для Linux:

#!/bin/sh
IP=192.168.0.102 
DATE=`date` 
TEMP=`snmpget  -r 0 -c public -v 1 $IP iso.3.6.1.3.1 | sed 's/[^:]\+: //'` 
TEMP=`echo "scale=2; $TEMP/100" | bc` 
sleep 1 
PRESS=`snmpget  -r 0 -c public -v 1 $IP iso.3.6.1.3.2 | sed 's/[^:]\+: //'` 
sleep 1 
SOUND=`snmpget  -r 0 -c public -v 1 $IP iso.3.6.1.3.3 | sed 's/[^:]\+: //'` 
sleep 1 
LIGHT=`snmpget  -r 0 -c public -v 1 $IP iso.3.6.1.3.4 | sed 's/[^:]\+: //'` 
echo $DATE,$TEMP,$PRESS,$SOUND,$LIGHT

Этот скрипт автоматически запускался каждую минуту и результатом его работы была строка с данными метеостанции, которую легко обработать: Mon Jun 11 20:46:19 CEST 2012,23.5,30761,34,60.
После сбора статистики, получились такие графики:



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

Комментариев нет:

Отправить комментарий

Related Posts Plugin for WordPress, Blogger...