![]() |
|
|
#112 |
|
Senior Member
Регистрация: 12.10.2012
Адрес: Moscow-Voronezg
Сообщений: 272
Вес репутации: 0 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Ардуино общается с 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. |
|
|
|
|
|
#113 |
|
Senior Member
Регистрация: 30.05.2011
Возраст: 51
Сообщений: 291
Вес репутации: 0 ![]() |
Кнопки делаем двух фиксированных размеров. Больше не нужно.
Первый 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. |
|
|
|
|
|
#114 |
|
Senior Member
Регистрация: 30.05.2011
Возраст: 51
Сообщений: 291
Вес репутации: 0 ![]() |
Как лучше добавить модуль в меню?
Нужно сделать через добавление одной строки в 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) | |
| Опции темы | Поиск в этой теме |
| Опции просмотра | |
|
|