Страница 1 из 4

Народный мониторинг температуры

Добавлено: Ср янв 30, 2013 4:00 pm
Anton_kulibin
Набрел на интересный ресурс Народный мониторинг http://narodmon.ru/, особо ничего описывать не буду надо читать, все просто сделал сценарий с таким кодом (код можно найти на выше указанном сайте ):

Код: Выделить всё

$data = array('ID'=>'00:e0:53:0c:53:ee', '288237140300009D'=>(getGlobal('sensorulica.temp')));
$context = stream_context_create(array('http' => array('method'=>'POST','content' => http_build_query($data))));
$fp = @fopen("http://narodmon.ru/post.php", 'r', false, $context);
if($fp) { fpassthru($fp); fclose($fp); }
запускаю его каждый час, неплохо бы почаще, но у меня не хватило ума как это сделать.
00:e0:53:0c:53:ee- МАС адрес сетевухи, (getGlobal('sensorulica.temp')) - соответственно температура, 288237140300009D - адрес датчика DS18B20. Все эти цыфры нужны им для регистрации устройств. Мне понравилось.

Re: Народный мониторинг температуры

Добавлено: Ср янв 30, 2013 5:03 pm
sergejey
Да, интересно. Надо будет подключиться.
Чаще чем раз в час можно сделать, включив этот код в onNewMinute, но сделав проверку на те6ущее значение минут (например 0,15,30,45), что б не каждую минуту слать.

Re: Народный мониторинг температуры

Добавлено: Чт янв 31, 2013 11:45 am
immortal
Я уже там, Linux Ubuntu + owfs + DS9490R + 18B20 обновление каждые 30 минут

Re: Народный мониторинг температуры

Добавлено: Чт янв 31, 2013 12:04 pm
Anton_kulibin
Я сделал отправку каждые 10 минут. В планах датчик давления и влажности. Но учитывая сколько посылки идут из поднебесной планы долго будут сбываться

Re: Народный мониторинг температуры

Добавлено: Чт янв 31, 2013 1:50 pm
sergejey
В описании датчика по-моему можно вставлять ссылки, так что если не принципиально, то ставьте ссылку на http://smartliving.ru, что б знали, какая система данные посылает :)

Re: Народный мониторинг температуры

Добавлено: Пт фев 01, 2013 6:38 pm
artko
Anton_kulibin писал(а): запускаю его каждый час, неплохо бы почаще,.
вставил в onnewminute таймера такую вставку

Код: Выделить всё

if (($m=="00") | ($m=="15") | ($m=="30")| ($m=="45"))
{
 file_get_contents("http://127.0.0.1:80/objects/?script=send_weather_narodmon_ru");
 file_get_contents("http://127.0.0.1:80/objects/?script=send_to_openweather");
}
где send_weather_narodmon_ru - cкрипт отсылки, описаный отдельно.

Re: Народный мониторинг температуры

Добавлено: Пт фев 01, 2013 9:12 pm
Anton_kulibin
У меня вот так в принципе также

Код: Выделить всё

if (($m==10) || ($m==20) || ($m==30) || ($m==40) || ($m==50)) {
runScript('tempnarod');
}

только увидел что без кавычек, но тоже работает.

Можешь ссылку на open weather дать ?

Re: Народный мониторинг температуры

Добавлено: Пт фев 01, 2013 9:32 pm
artko
Anton_kulibin писал(а):
Можешь ссылку на open weather дать ?
http://openweathermap.org/

Re: Народный мониторинг температуры

Добавлено: Ср фев 13, 2013 12:00 am
viris
Для OWFS только подставить свой датчик. А скрипт запускать через cron но не чаще чем каждые 10мин. Мой датчик http://narodmon.ru/?id=652 также в планах датчики давления и влажности но учитывая их цену думаю не скоро.
<?php
require "/opt/owfs/bin/ownet.php";
$ow=new OWNet("tcp://localhost:3000");
$temp = $ow->read("10.DE3C53000800/temperature");
$data = array('ID'=>'11-DE-3C-53-00-08-00-AF', '11DE3C53000800AF'=>$temp);
$context = stream_context_create(array('http' => array('method'=>'POST','content' => http_build_query($data))));
$fp = @fopen("http://narodmon.ru/post.php", 'r', false, $context);
if($fp) { fpassthru($fp); fclose($fp); }
// unset($ow);
?>

Re: Народный мониторинг температуры

Добавлено: Ср фев 13, 2013 9:33 am
narodmon
Уважаемые пользователи MajorDoMo !

От лица администрации проекта Народного мониторинга убедительная просьба использовать tcp/udp протокол для передачи показаний на сервер narodmon.ru(или на любой из его IP).
Пример отправки и реквизиты доступа доступны на сайте проекта после авторизации в разделе Мои датчики \ Протокол. Использование tcp/udp вместо HTTP POST улучшает стабильность приема показаний и повышает отказоустойчивость даже при большом числе посетителей, т.к. листенер tcp/udp никак не зависит от нагрузки на вебсервер.
Использование HTTP POST допускается только для передачи данных через прокси-сервера, когда передавать данные напрямую через NAT не представляется возможным!

PS Разглашать протокол и реквизиты подключения без согласия администрации проекта также недопустимо!
Данная информация только для личного пользования.