![]() |
![]() |
#1 |
Junior Member
Регистрация: 16.12.2015
Сообщений: 3
Вес репутации: 0 ![]() |
![]()
Добрый день, собираю систему умного дома на базе OpenWRT и Arduino.
Частный дом с электроотоплением и желанием его мониторить удаленно. Что сделано: Сбор статистики с датчика DHT22 в БД sqlite Отправка смс с показаниями датчика в 8, 12,18,22 часов. Отображение текущей информации и архива на сайте. Также VPN для удаленного доступа за серым IP. Вся логика лежит на Shell и cron. Shell отправляет запрос в нужное время и получает данные с ардуины. Все хорошо, но хочу повесить датчики дыми и движения чтоб ставить дом под охрану таблеткой тоуч мемори. Как сделать так чтобы не пинать ардуину шелом, а ардуина бы слала раз в 10с - 1 минута в UART данные примерно такого вида D1 27 D2 18 D3 1 D4 22, а Openwrt постоянно слушала его и на основании этих данных что-то делала. Команда read заканчивает прием после \n CAT постоянно слушает ttyUSB. Прошу совета или ссылки где это реализовано. Желательно без особых костылей. |
![]() |
![]() |
![]() |
#2 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Нужно с OpenWrt с требуемой периодичностью посылать запрос на ардуину и получать ответ
Пример скетча можно подсмотреть у WiFi робота |
![]() |
![]() |
![]() |
#3 |
Junior Member
Регистрация: 16.12.2015
Сообщений: 3
Вес репутации: 0 ![]() |
![]()
Датчик движения который у меня есть размыкает контакты на несколько секунд. Может 1 сек если объект прошел быстро через зону датчика.
Неужели нужно каждую секунду запускать Shell кроном чтобы опрашивать ардуину. Я хотел сделать что-то типо такого: при загрузке роутера запускается shell, который командой read слушает ttyUSB0, если ардуина послала какой то символ(допустим A - alarm), команда read прекращает работу, данные по аварии передаются на gnokii - приходим смс. И надо как то обратно поставить команду на прослушку порта. Может я не правильно мыслю и нужно от этот вариант вообще выкинуть из головы? |
![]() |
![]() |
![]() |
#4 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Слушать тоже можно.
В "Light Control" так реализовано То есть даже оба варианта, он и слушает и запрос отправляет когда нужно |
![]() |
![]() |
![]() |
#5 | |
Junior Member
Регистрация: 16.12.2015
Сообщений: 3
Вес репутации: 0 ![]() |
![]()
Нашел что хотел - бесконечный скрипт. Вроде и кушает не много.
Получилось так: Цитата:
Последний раз редактировалось Pol_butcher; 17.12.2015 в 14:59. |
|
![]() |
![]() |
![]() |
#6 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Как бы давно известная функция, но она кривая
Работает крайне не стабильно |
![]() |
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|