01.12.2014, 14:57 | #112 |
Senior Member
Регистрация: 12.10.2012
Адрес: Moscow-Voronezg
Сообщений: 272
Вес репутации: 0 |
Re: ВЕБ МОРДА
Ардуино общается с mr3020 по uart. Для примера взял кусок кода из модуля AquaLog. Раз в 30 сек sh скрипт отсылает команду на ардуино по uart, ардуино отвечает, ответ пишу в data.html , это показания всех датчиков, температуры, влажности, давления, обновляемые каждые 30 сек.
Вторая ардуино, подцепленная к тому же роутеру (будет подцеплена, пока что на разных роутерах эксперементирую) отвечает за диммирование и реле, это освещение, разные нагрузки, реле... Общение происходит также через uart. Например диммирование реализовано так: Код на ардуино слушает com порт. Прилетает R255. Что означает канал "R" и уровень PWM "255". Соответственно яркость устанавливается на данном пине в 255. Чтобы в ком порт ардуино послать этот сигнал использую php скрипт, он принимает параметр из GET запроса и шлёт его в ком порт ардуины. Для отсылки GET использовать можно что угодно, нужно лишь набрать в адресной строке браузера ссылку вида http://192.168.1.100/sensor_test/test.php?R=255 Я приноровился использовать openremote, там есть слайдер, который может слать такие запросы. Только openremote контроллер нужно куда-то установить, у меня он установлен на Synology. Отлично было бы иметь аналог openremote, только по легче, не на java, как он написан, а хотяб на php. Последний раз редактировалось Sirocco; 01.12.2014 в 15:00. |
01.12.2014, 15:40 | #113 |
Senior Member
Регистрация: 30.05.2011
Возраст: 50
Сообщений: 291
Вес репутации: 0 |
Re: ВЕБ МОРДА
Кнопки делаем двух фиксированных размеров. Больше не нужно.
Первый 100Х100 пикселей под кнопки с иконками. Второй 100Х210 пикселей под кнопки с надписями. Размер, изображение и надписи кнопки берут из модулей. Для красоты изображение динамическое (Пример). Либо отображают какие то данные из модуля (примерно так). Так как это и сделано в Metro UI в Windows 8. Окна модулей открываются таким образом. В правом верхнем углу модуля есть кнопка закрытия окна модуля и возврата в главное меню. Заготовка для интерфейса меню (demo.zip). Перемещаете кнопки так как вам надо, нажимаете кнопку "Получить параметры" и вносите изменения в файл index.html. Параметр data-row отвечает за смещение сверху вниз. Параметр data-col отвечает за смещение слева направо. Автоматизировать это можно таким образом. Скрипт отлавливает окончание перемещения кнопки (событие "Stop") и сохраняет положение в файл. Расположение кнопок читается из этого файла. В результате этого все изменения по расположению кнопок в меню сохраняются. Из примера выше взял заготовку для скрипта отлавливающего окончание перемещения кнопки: Код:
<script type="text/javascript"> var gridster; $(function(){ var log = document.getElementById('log'); gridster = $(".gridster ul").gridster({ widget_base_dimensions: [100, 55], widget_margins: [5, 5], draggable: { stop: function(e, ui, $widget) { log.innerHTML = 'STOP' + "<br >" + log.innerHTML; } } }).data('gridster'); }); </script> Само меню выглядит так же как в видео про Switch Automation из этого сообщения. При нажатии кнопки "+" открываются модули. Через них можно добавлять или удалять модули в CyberWrt и ,соответственно, кнопки в главном меню. Последний раз редактировалось St@rz; 01.12.2014 в 16:32. |
03.12.2014, 11:07 | #114 |
Senior Member
Регистрация: 30.05.2011
Возраст: 50
Сообщений: 291
Вес репутации: 0 |
Re: ВЕБ МОРДА
Как лучше добавить модуль в меню?
Нужно сделать через добавление одной строки в div. Самый простой способ через вставку html в php: Код:
<?php include ("file.html"); ?> Код:
<li data-row="2" data-col="5" data-sizex="1" data-sizey="1" class="gs-w"> <?php include ("file.html"); ?> </li> Последний раз редактировалось St@rz; 03.12.2014 в 11:11. |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|