Хочу, чтобы Мегадевайс можно было настраивать из этого-же интерфейса. Например порты [In, Out, ADC, DSen, PWM].Andrey_B писал(а):Принимаются любые предложения и мысли по этому поводу. Например: "Хочу, чтобы для каждого порта можно было выбрать иконку" или что-нибудь в этом духе.
Готовое решение.
Re: Готовое решение.
Re: Готовое решение.
x13dev, стоит сказать, что текущий "эскиз" на уровне кода адаптирован под исполнительный модуль MegaD-7I7O для того, чтобы неопытные пользователи не включали "Входы". Но эти ограничения можно позже снять/настраивать. Сделать системную настройку Мегадевайса из этого интерфейса, конечно, можно. Но я бы отложил эту задачу на более поздние этапы. Сейчас мне бы хотелось получить отклик по визуальной части и по функциональности управления устройствами.
-
- Сообщения: 395
- Зарегистрирован: 17 фев 2013, 23:49
- Откуда: Волгодонск, Ростовская обл.
- Контактная информация:
Re: Готовое решение.
Мне кажется сюда нужно ввести какой либо таймер или какие-то другие примитивные условия, ибо не вижу особого смысла моргать из веб интерфейса лампочками.
Re: Готовое решение.
Ну почему же нет смысла? Например у меня на момент создания и тестов освещения в комнате не было своей веб морды, а тестить через интерфейс девайса не очень удобно, мне нравится идея, для новичков самое оно.
-
- Сообщения: 395
- Зарегистрирован: 17 фев 2013, 23:49
- Откуда: Волгодонск, Ростовская обл.
- Контактная информация:
Re: Готовое решение.
И чем в корне интерфейс устройства отличается от этого? Только тем, что все лампочки выведены на одну страницу.
Re: Готовое решение.
Mixman, в данном случае речь о том, чтобы помочь начинающему пользователю побороть свои страхи и войти в наше священное озеро. Как только пользователь поймет, что не так страшен черт, он, возможно, захочет проникнуться и более тонкими материями. Но с чего-то же надо начинать, пройти, так сказать, курс молодого бойца.
Что касается функциональности. Чем это отличается или может отличаться от Web-интерфейса, встроенного в устройство.
1. В меню мы здесь видим все наши устройства, которые могут иметь человеческие имена. То есть нет необходимости запоминать IP-адреса
2. Входы и выходы также подписаны и мы можем управлять портами четко зная что мы включаем и выключаем
3. Все же интерфейс более удобен
4. Его можно установить на сервер/роутер и управлять Мегадевайсам по Интернету
Что мы здесь можем добавить.
- На центральную страницу вытащить порта (из разных устройств), которые наиболее востребованы. Например, если мы хотим выключать свет в спальне с телефона, то мы можем вытащить управление портом на центральную страницу панели.
- В режиме просмотра состояния портов, автоматически опрашивать устройства и менять состояние портов без рефреша страницы
- Добавить функцию: включить все выходы, выключить все выходы.
- Настраивать логику работы выходов.
Добавление: Теперь появилась возможность одним кликом включать или выключать все входы. Ссылка на архив прежняя.
http://ab-log.ru/files/File/megad-panel/megad-panel.zip
Что касается функциональности. Чем это отличается или может отличаться от Web-интерфейса, встроенного в устройство.
1. В меню мы здесь видим все наши устройства, которые могут иметь человеческие имена. То есть нет необходимости запоминать IP-адреса
2. Входы и выходы также подписаны и мы можем управлять портами четко зная что мы включаем и выключаем
3. Все же интерфейс более удобен
4. Его можно установить на сервер/роутер и управлять Мегадевайсам по Интернету
Что мы здесь можем добавить.
- На центральную страницу вытащить порта (из разных устройств), которые наиболее востребованы. Например, если мы хотим выключать свет в спальне с телефона, то мы можем вытащить управление портом на центральную страницу панели.
- В режиме просмотра состояния портов, автоматически опрашивать устройства и менять состояние портов без рефреша страницы
- Добавить функцию: включить все выходы, выключить все выходы.
- Настраивать логику работы выходов.
Добавление: Теперь появилась возможность одним кликом включать или выключать все входы. Ссылка на архив прежняя.
http://ab-log.ru/files/File/megad-panel/megad-panel.zip
Re: Готовое решение.
Andrey_B, не скачивал еще, не смотрел на функционал "минисервера", пока не обзавелся Мегадевайсом.
Возможно, будет интересна группировка портов по определенному признаку (id), и управление не только одним портом/всеми, а группой
Возможно, будет интересна группировка портов по определенному признаку (id), и управление не только одним портом/всеми, а группой
Re: Готовое решение.
У меня то же нет Мегадевайса. Думалось будут отдельные модули с пояснением их работы. Например работа кнопок на панели. Возможно ли поставить пока "заглушки", что бы разобраться в в самих программах. Без девайса я так понимаю не работает интерфейс.
Re: Готовое решение.
lion_sm, интересная мысль по поводу группировки. Нужно подумать.
To_, внес коррективы. Теперь можно отредактировать файл config.php и переменной $demo присвоить "true", тогда интерфейс будет работать и без Мегадевайса.
To_, внес коррективы. Теперь можно отредактировать файл config.php и переменной $demo присвоить "true", тогда интерфейс будет работать и без Мегадевайса.
-
- Сообщения: 395
- Зарегистрирован: 17 фев 2013, 23:49
- Откуда: Волгодонск, Ростовская обл.
- Контактная информация:
Re: Готовое решение.
Может проще сделать проверку на файлик "demo.txt"? Присутствует - демо режим, удалили - работаем с мегой. Для новичка мне кажется проще, чем менять переменную, особенно вспоминать как она правильно пишется да еще не забыть точку с запятой после.
Re: Готовое решение.
Там уже все прописано. Нужно только поменять false на true.
-
- Сообщения: 21
- Зарегистрирован: 15 окт 2013, 09:04
Re: Готовое решение.
К моему сожалению, не заработало на lighttpdAndrey_B писал(а):Там уже все прописано. Нужно только поменять false на true.
Код: Выделить всё
conf[$_REQUEST['id']]); $megad->write_conf(); } ?>
Мой дом
MegaD-Panel - Это простой интерфейс, позволяющий управлять устройствами MegaD-328 и получать информацию о текущем состоянии портов.
Для работы интерфейса не требуется База Данных.
Слева в меню вы можете выбрать существующее устройство или добавить новое. Наименования портов настраиваются.
menu(); ?>
Re: Готовое решение.
Andrey_B, можно добавить немного интерактивности (обратной связи) в скрипт. дело 2х минут.
если код некрасив/избыточен, а он избыточен, прошу не ругать))) это просто передача идеи.
1. сделать файл update.php в корне с содержимым:
2. в скрипт control.php в конец javascript-а добавить
теперь при изменении любого контакта это отобразится и в интерфейсе. для демонстрации (не для демо-режима) можно открыть ссылку в 2х браузерах
-----
upd:
ps у этого способа есть маленький недостаток: при попадании на момент обновления данных клик по выключателю может не сработать. хотя это попадание и маловероятно.
конечно лучше просто забирать данные и менять состояние чекбоксов
если код некрасив/избыточен, а он избыточен, прошу не ругать))) это просто передача идеи.
1. сделать файл update.php в корне с содержимым:
Код: Выделить всё
<?
require_once("megad_class.php");
$megad = new megad();
for ( $i = 0; $i < 14; $i++ )
{
$state = $megad->get($_GET['id'], $i);
if ( preg_match("/^ON/", $state) )
$checked = ' checked="checked"';
else
$checked = '';
if ( $i < 7 )
echo "<p><input type=\"checkbox\" class=\"iToggle\" id=\"example\" data-label-on=\"on\" data-label-off=\"off\"$checked disabled> <b>".$megad->conf[$_GET['id']]["P".$i]." (IN P$i)</b> </p>";
else
echo "<p><input type=\"checkbox\" class=\"iToggle\" data-label-on=\"on\" port=\"$i\" data-label-off=\"off\" value=\"1\"$checked /> <b>".$megad->conf[$_GET['id']]["P".$i]." (OUT P$i)</b> </p>";
}
?>
Код: Выделить всё
setInterval(function(){
$.get('./update.php', {id: id}, function(res){
$('#forma').html(res);
var my_toggle = $('.iToggle').iToggle(
{
callback_func: function(data)
{
$.get("megad-ajax.php",
{
id : id,
port : data.attr("port"),
state : data.prop("checked"),
}, function(data2){} );
}
});
});
}, 3000);
-----
upd:
ps у этого способа есть маленький недостаток: при попадании на момент обновления данных клик по выключателю может не сработать. хотя это попадание и маловероятно.
конечно лучше просто забирать данные и менять состояние чекбоксов
Последний раз редактировалось Dron 13 дек 2013, 17:56, всего редактировалось 3 раза.
Re: Готовое решение.
измените в php.ini параметр short_open_tag на OnAcid_Reptile писал(а): К моему сожалению, не заработало на lighttpd
-
- Сообщения: 21
- Зарегистрирован: 15 окт 2013, 09:04
Re: Готовое решение.
Спасибо, заработало!Dron писал(а):измените в php.ini параметр short_open_tag на OnAcid_Reptile писал(а): К моему сожалению, не заработало на lighttpd
Re: Готовое решение.
Реализовал немного по-своему предложение Dron о добавлении в интерфейс интерактивности.
Теперь состояния портов обновляются автоматически.
По умолчанию обновление происходит один раз в 3 секунды.
Настроить это можно в файле config.php
$update_time = 3;
Здесь указывается время в секундах. Значение 0 будет означать - не обновлять состояния портов.
Новый архив по прежнему адресу
http://ab-log.ru/files/File/megad-panel/megad-panel.zip
Теперь состояния портов обновляются автоматически.
По умолчанию обновление происходит один раз в 3 секунды.
Настроить это можно в файле config.php
$update_time = 3;
Здесь указывается время в секундах. Значение 0 будет означать - не обновлять состояния портов.
Новый архив по прежнему адресу
http://ab-log.ru/files/File/megad-panel/megad-panel.zip
Re: Готовое решение.
Andrey_B писал(а):Реализовал немного по-своему предложение Dron о добавлении в интерфейс интерактивности.
Теперь состояния портов обновляются автоматически.
По умолчанию обновление происходит один раз в 3 секунды.
Настроить это можно в файле config.php
$update_time = 3;
Здесь указывается время в секундах. Значение 0 будет означать - не обновлять состояния портов.
Новый архив по прежнему адресу
http://ab-log.ru/files/File/megad-panel/megad-panel.zip
С заглушкой периодически не срабатывают выключатели. Так и должно быть?
Re: Готовое решение.
Немного поправил код.
Теперь интерфейс проверяет доступность устройства и если оно не доступно, выводит соответствующую информацию и автоматически переключается в демо-режим. Попробуйте.
Теперь интерфейс проверяет доступность устройства и если оно не доступно, выводит соответствующую информацию и автоматически переключается в демо-режим. Попробуйте.
Re: Готовое решение.
Мой первый пост:)
Мегадевайс заинтересовал, решил "пощупать" для начала. Больше всего интересует управление, поэтому я в этой ветке. Скачал, прочитал, исправил все как тут написано. Вебсервер uhttpd стоит на роутере 703N. Первое - кирилица у меня кракозябры, но попробую сам или исправить или переведу на английский. Ну и не запускается демо : "Fatal error: Call to undefined function json_decode() in /www/panel/megad_class.php on line 17". Немогу понять причину.
Мегадевайс заинтересовал, решил "пощупать" для начала. Больше всего интересует управление, поэтому я в этой ветке. Скачал, прочитал, исправил все как тут написано. Вебсервер uhttpd стоит на роутере 703N. Первое - кирилица у меня кракозябры, но попробую сам или исправить или переведу на английский. Ну и не запускается демо : "Fatal error: Call to undefined function json_decode() in /www/panel/megad_class.php on line 17". Немогу понять причину.
Re: Готовое решение.
NE_XT, кодировка интерфейса - UTF-8
Странно, проблем быть не должно.
Какая версия у вас PHP?
Функции json появились в версии PHP 5.2.0 и выше.
Странно, проблем быть не должно.
Какая версия у вас PHP?
Функции json появились в версии PHP 5.2.0 и выше.