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

Подключение других датчиков

Добавлено: Пн фев 23, 2015 9:37 am
DimNsk
Как на Rsspberryy завести в систему показания сторонних датчиков DS1820 DHT22 и т.д
подключенных GPIO показания я могу снимать на bash но как передавать их в MDM ?

Re: Подключение других датчиков

Добавлено: Пн фев 23, 2015 9:54 am
mirsum
Записать данные в текстовый файл (скрипты в инете надо искать) а затем считать данные из файла через веб переменные.

Re: Подключение других датчиков

Добавлено: Пн фев 23, 2015 10:01 am
DimNsk
mirsum писал(а):Записать данные в текстовый файл (скрипты в инете надо искать) а затем считать данные из файла через веб переменные.
Скрипты есть могу в текст могу в БД записать только куда правильно.
Может есть модули в системе?

Re: Подключение других датчиков

Добавлено: Пн фев 23, 2015 2:18 pm
savenko_egor
Вы можете записать их в обычный файл и модулем Веб-переменные забрать их откуда Вам будет удобно.
Так же можно напрямую из Вашего скрипта послать запрос на Алису и установить значение того или иного свойства\объекта Интеграция сторонних программ и сервисов
Если bash, то например:

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

curl http://192.168.0.21/objects/?object=USBDev&op=set&p=status&v=connected > /dev/null   
Если PHP, то я делал так:

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

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://192.168.0.21/objects/?object=USBDev&op=set&p=status&v=connected');
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_USERAGENT, 'PHP Bot (http://192.168.0.21/)');
$data = curl_exec($ch);
curl_close($ch);
Наверное не совсем правильно, но зато работает :D

Re: Подключение других датчиков

Добавлено: Пн фев 23, 2015 5:04 pm
DimNsk
warik писал(а):Вы можете записать их в обычный файл и модулем Веб-переменные забрать их откуда Вам будет удобно.
Как это сделать не могу найти инструкцию.
warik писал(а): Так же можно напрямую из Вашего скрипта послать запрос на Алису и установить значение того или иного свойства\объекта Интеграция сторонних программ и сервисов
Если bash, то например:

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

curl http://192.168.0.21/objects/?object=USBDev&op=set&p=status&v=connected > /dev/null     
Если PHP, то я делал так:

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

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://192.168.0.21/objects/?object=USBDev&op=set&p=status&v=connected');
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_USERAGENT, 'PHP Bot (http://192.168.0.21/)');
$data = curl_exec($ch);
curl_close($ch);
Наверное не совсем правильно, но зато работает :D
Кажется не сильно логично с локальной машины нагружать веб-сервер лишними вызовами, когда есть доступ и к БД и к скриптам

Re: Подключение других датчиков

Добавлено: Пн фев 23, 2015 5:40 pm
savenko_egor
DimNsk писал(а):Как это сделать не могу найти инструкцию.
Так по ссылке сходите что я привёл. Там в принципе всё опнятно.
Или я как-то не так понял всю суть?
DimNsk писал(а):Кажется не сильно логично с локальной машины нагружать веб-сервер лишними вызовами, когда есть доступ и к БД и к скриптам
Верно. Не логично. Но просто прогер с меня не ахти, потому мне проще заюзать то, что есть уже готовое. :D

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

Re: Подключение других датчиков

Добавлено: Пн фев 23, 2015 8:26 pm
sergejey
DimNsk писал(а):Кажется не сильно логично с локальной машины нагружать веб-сервер лишними вызовами, когда есть доступ и к БД и к скриптам
Ещё как логично :)
Обработка одного http-запроса занимает гораздо меньше процессорного времени, чем запуск скрипта через командную строку. HTTP-сервер выступает в роли общей шины событий и всё оптимизировано для работы с ним.

Re: Подключение других датчиков

Добавлено: Пн фев 23, 2015 8:28 pm
DimNsk
sergejey писал(а):Обработка одного http-запроса занимает гораздо меньше процессорного времени, чем запуск скрипта через командную строку. HTTP-сервер выступает в роли общей шины событий и всё оптимизировано для работы с ним.
Как это может быть?
если в HTTP запросе кроме самой ОС еще как минимум участвуют 3 потребителя ресурсов Web Сервер + PHP + MySQL

Re: Подключение других датчиков

Добавлено: Пн фев 23, 2015 10:32 pm
sergejey
DimNsk писал(а):
sergejey писал(а):Обработка одного http-запроса занимает гораздо меньше процессорного времени, чем запуск скрипта через командную строку. HTTP-сервер выступает в роли общей шины событий и всё оптимизировано для работы с ним.
Как это может быть?
если в HTTP запросе кроме самой ОС еще как минимум участвуют 3 потребителя ресурсов Web Сервер + PHP + MySQL
Очень просто -- эти ресурсы уже задейстованы и отвечают на запросы очень быстро, а инициация и закрытие нового процесса (запуск скрипта) задача довольно небыстрая. Хотя на нормальном железе разница и не заметна.