Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > CyberWrt

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.11.2014, 08:52   #111
St@rz
Senior Member
 
Регистрация: 30.05.2011
Возраст: 49
Сообщений: 291
Вес репутации: 0
St@rz is on a distinguished road
По умолчанию Re: ВЕБ МОРДА

Еще одна ссылка.

Нажмите на изображение для увеличения
Название: 200d6faa55ec6eb7.jpg
Просмотров: 321
Размер:	467.6 Кб
ID:	2048

Последний раз редактировалось St@rz; 30.11.2014 в 09:19.
St@rz вне форума   Ответить с цитированием
Старый 01.12.2014, 14:57   #112
Sirocco
Senior Member
 
Регистрация: 12.10.2012
Адрес: Moscow-Voronezg
Сообщений: 272
Вес репутации: 0
Sirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant future
По умолчанию Re: ВЕБ МОРДА

Цитата:
Сообщение от mebitek Посмотреть сообщение
Хочется поинтересоваться, как у кого организован обмен данными?
Ардуино общается с 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.
Sirocco вне форума   Ответить с цитированием
Старый 01.12.2014, 15:40   #113
St@rz
Senior Member
 
Регистрация: 30.05.2011
Возраст: 49
Сообщений: 291
Вес репутации: 0
St@rz is on a distinguished road
По умолчанию Re: ВЕБ МОРДА

Кнопки делаем двух фиксированных размеров. Больше не нужно.
Первый 100Х100 пикселей под кнопки с иконками.
Второй 100Х210 пикселей под кнопки с надписями.

Размер, изображение и надписи кнопки берут из модулей.
Для красоты изображение динамическое (Пример).
Либо отображают какие то данные из модуля (примерно так). Так как это и сделано в Metro UI в Windows 8.

Окна модулей открываются таким образом. В правом верхнем углу модуля есть кнопка закрытия окна модуля и возврата в главное меню.

Заготовка для интерфейса меню (demo.zip).

Нажмите на изображение для увеличения
Название: 1.JPG
Просмотров: 268
Размер:	25.0 Кб
ID:	2053

Перемещаете кнопки так как вам надо, нажимаете кнопку "Получить параметры" и вносите изменения в файл 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.
St@rz вне форума   Ответить с цитированием
Старый 03.12.2014, 11:07   #114
St@rz
Senior Member
 
Регистрация: 30.05.2011
Возраст: 49
Сообщений: 291
Вес репутации: 0
St@rz is on a distinguished road
По умолчанию 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.
St@rz вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 3 (пользователей: 0 , гостей: 3)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 15:09. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика