Страница 1 из 1
Новичок. Помогите понять как опрашивать датчики.
Добавлено: Ср окт 19, 2016 8:51 pm
roland07
Всем привет. Поставил мажордому на биглбон блэк. В пхп полный профан. Мне надо с моего сервера опрашивать датчик. Ну пусть к примеру это будет датчик света в комнате. Я хочу управлять светом и с сервера и по старинке - проходным выключателем.
Когда управление идет с сервера - все более менее ясно - я на сервере запускаю скрипт на пхп, который мне переключит свет. И иконка сама сменится на сцене. А как реализовать чтение датчика света, если кто-то переключит клавишный выключатель? Как мне обновить картинку на сервере и состояние объекта? Поллингом опрашивать датчики как то не очень хочется. Тем более, вдруг будет датчик, по сигналу которого надо все бросить...
Я могу как то пробросить прерывание от датчика через ядро линукса в пхп сервер? Как это сделать?
Заранее спасибо.
Re: Новичок. Помогите понять как опрашивать датчики.
Добавлено: Чт окт 20, 2016 12:54 pm
roland07
Может не совсем понятно сформулировал?
Читаю форум, пытаюсь понять как и что с этим всем делать. Поправьте если ошибаюсь..
Итак, все общение с веб сервером мажор дома происходит по хттп запросам. (Других вариантов нет?)
Т.е. тот узел, который обрабатывает состояния датчиков должен уметь отправлять эти запросы. А сервер умеет только обрабатывать нажатия от пользователя по объектам и инициировать запуск методов соотвествующих объектов от пользователя или удаленно по хттп запросам. Так?
Re: Новичок. Помогите понять как опрашивать датчики.
Добавлено: Чт окт 20, 2016 3:15 pm
devoff
Давайте пойдем от простого -
какое устройство у вас управляет светом ?
Re: Новичок. Помогите понять как опрашивать датчики.
Добавлено: Чт окт 20, 2016 5:33 pm
roland07
У меня пока ничего нет. Изначально были мысли на каждый выключатель поставить самые маленькте микроконтролеры(как исполнительные механизмы, а также содержащие в себе данные с подключенных к ним датчиков), которыми бы я управлял с сервера - одноплатного компьютера по rs232 или rs485. На сервере ком порт есть.
Я вот чем больше читаю, тем больше картина вырисовывается. Т.е. на сервере я запускаю бесконечный скрипт, который будет читать по ком порту данные с датчиков и формировать хттп запросы на локалхост для обновления информации. Видимо только так получится.
Re: Новичок. Помогите понять как опрашивать датчики.
Добавлено: Чт окт 20, 2016 7:06 pm
roland07
И еще вопрос: Есть ли редактор для редактирования кода? И как отлаживать сам код? Есть ли дебаг какой нибудь?
Re: Новичок. Помогите понять как опрашивать датчики.
Добавлено: Чт окт 20, 2016 10:38 pm
roland07
И еще вопрос. Есть две сцены, я сделал кнопки(buttons) по которым хочу переключать сцены. 1 и 2 этаж, к примеру. Как это сделать? Получается только всплывающим окном делать, но мне надо чтоб просто сцена менялась или как слайдер двигалась.
Уточню. План такой: к серверус МД будет подключен экран 7". При старте буду запускать браузер, в котором буду выводить страницу по умолчанию
http://localhost/popup/scenes/id.html
И вот как мне конкретно в этом случае переключать сцены? Добавил кнопки, а вот какой код писать и куда - совсем не ясно.
PS Добавил на кнопку код
<a href="#" onClick="return switchScene(5);">Сцена</a>
Так этот код работает только на странице localhost/popup/scenes.html
А мне такая страница не нравится, так как снизу эти цифры с номерами сцен есть. А на странице
http://localhost/popup/scenes/id.html не работает такое переключение.
Заранее спасибо.
Re: Новичок. Помогите понять как опрашивать датчики.
Добавлено: Пт окт 21, 2016 11:46 am
roland07
Сам же отвечаю.
Вообщем какие то костыли выходят, но сделал пока так:
Сделал кнопку(button) без картинки. Получился такой квадрат полупрозрачный. По клику ничего не делать. В пункт "Код" добавил следующее:
<a href=/popup/scenes/id.html#><img src="/cms/scenes/styles/button/имя_файла_с_картинкой" style="position:absolute;left:6px;top:6px;cursor:pointer;display:inline-block;"></a>
Вместо id поставить номер сцены, на которую надо переключиться. У меня размер картинки 60х60, если размеры другие, надо менять параметры left и top для выравнивания.
Что эта хрень значит - не знаю, но пока что получается так, как я хочу.