Разработка Web-интерфейса. (модульная CMS)
Re: Разработка Web-интерфейса. (модульная CMS)
А как сервер общается с мегадевайсом?
Есть некий webapi? может REST?
Есть некий webapi? может REST?
Re: Разработка Web-интерфейса. (модульная CMS)
Со страницы запрос посылается посредством ajax на сервер ( api.php). На сервере api.php осуществляет взаимодействие с мегадевайсом. Для взаимодействия напрямую, без сервера (браузер -> мегадевайс) необходима поддержка кроссдоменного ajax, а именно мегадевайс должен отдавать чуть другой хеадер (со свойством "Access-Control-Allow-Origin:*").XAPuTOH писал(а):А как сервер общается с мегадевайсом?
Есть некий webapi? может REST?
Re: Разработка Web-интерфейса. (модульная CMS)
А есть ли необходимость в таком взаимодействии?
ПОнятно что если сетка только локальная то такой вариант позволит с сервака загрузит SPA приложение, настройки виджетов и тп. А за данными будет ходить непосредственно на мегадевайс.
Но если есть необходимость использовать тот же функционал за пределами локальной сети появляется геммор в виде вывода наружу помимо сервера еще и мегадевайса, + вопросы по обеспечению безопасности.
Пусть сервак сам с мегадевайосм общается. а клиенское приложение по ajax с сервером. Возможности расширятся - промежуточные преобразования данных на стороне сервера, добавится гибкость в визуализации - бизнеслогика компонентов отработает на сервере и пошлет уже подготовленные данные для отображения и т.д.
Сам примерно подобное по работе реализую. Есть RESTFull сервис и веб сервер. С сервака на клиент загружается яваскриптовое одностраничное приложение(SPA) и далее за данными ходит на сервис. НО! На уровне сервиса обеспечена поддержка авторизации и аутентификации, некоторое количество модулей бизнеслогики и т.п. и т.д. что не целесообразно было бы пихать в мегадевайс. А если девайсов несколько? в общем такое ИМХО
ПОнятно что если сетка только локальная то такой вариант позволит с сервака загрузит SPA приложение, настройки виджетов и тп. А за данными будет ходить непосредственно на мегадевайс.
Но если есть необходимость использовать тот же функционал за пределами локальной сети появляется геммор в виде вывода наружу помимо сервера еще и мегадевайса, + вопросы по обеспечению безопасности.
Пусть сервак сам с мегадевайосм общается. а клиенское приложение по ajax с сервером. Возможности расширятся - промежуточные преобразования данных на стороне сервера, добавится гибкость в визуализации - бизнеслогика компонентов отработает на сервере и пошлет уже подготовленные данные для отображения и т.д.
Сам примерно подобное по работе реализую. Есть RESTFull сервис и веб сервер. С сервака на клиент загружается яваскриптовое одностраничное приложение(SPA) и далее за данными ходит на сервис. НО! На уровне сервиса обеспечена поддержка авторизации и аутентификации, некоторое количество модулей бизнеслогики и т.п. и т.д. что не целесообразно было бы пихать в мегадевайс. А если девайсов несколько? в общем такое ИМХО
Re: Разработка Web-интерфейса. (модульная CMS)
XAPuTOH, полностью разделяю вашу точку зрения. Хотел написать тоже самое, но вы сделали это лучше.
Re: Разработка Web-интерфейса. (модульная CMS)
Парни, Вы сейчас общаетесь на инопланетном языке, который большенству любителей паяльников не известен, здесь прорабатывается простая управлялка-отоброжалка о которой я говорил полтора года назад. Просто тот, кто чуть - чуть знает HTML и CSS сможет сам нарисовать интерфейс для работы с мегадевайсом, без всяких серверов с скриптами и прочих танцев с бубнами.
Re: Разработка Web-интерфейса. (модульная CMS)
GruNT, нужен будет еще один чекбокс без фиксации типа кнопки, нажал держишь - выход включен, отпустил - выход выключился. Да, и еще один вопрос, виджеты на одной странице обращаются только по одному IP? может предусмотреть пропись IP непосредственно в самом блоке виджета в HTML.
Re: Разработка Web-интерфейса. (модульная CMS)
Кнопку сделаю, а IP может быть разный.foolhome писал(а):GruNT, нужен будет еще один чекбокс без фиксации типа кнопки, нажал держишь - выход включен, отпустил - выход выключился. Да, и еще один вопрос, виджеты на одной странице обращаются только по одному IP? может предусмотреть пропись IP непосредственно в самом блоке виджета в HTML.
Например так:
Код: Выделить всё
<div class="port dev1" ... ></div>
<div class="port dev2" ... ></div>
<script>
$(".dev1").PortsController({
deviceIP:'192.168.0.14',
devicePass : 'sec',
});
$(".dev2").PortsController({
deviceIP:'192.168.0.200',
devicePass : 'sec',
});
</script>
Re: Разработка Web-интерфейса. (модульная CMS)
То что я пишу в данный момент, это плагин для низкоуровнего взаимодействия. А будут еще и забязанные с БД.XAPuTOH писал(а):А есть ли необходимость в таком взаимодействии?
ПОнятно что если сетка только локальная то такой вариант позволит с сервака загрузит SPA приложение, настройки виджетов и тп. А за данными будет ходить непосредственно на мегадевайс.
Но если есть необходимость использовать тот же функционал за пределами локальной сети появляется геммор в виде вывода наружу помимо сервера еще и мегадевайса, + вопросы по обеспечению безопасности.
Пусть сервак сам с мегадевайосм общается. а клиенское приложение по ajax с сервером. Возможности расширятся - промежуточные преобразования данных на стороне сервера, добавится гибкость в визуализации - бизнеслогика компонентов отработает на сервере и пошлет уже подготовленные данные для отображения и т.д.
Сам примерно подобное по работе реализую. Есть RESTFull сервис и веб сервер. С сервака на клиент загружается яваскриптовое одностраничное приложение(SPA) и далее за данными ходит на сервис. НО! На уровне сервиса обеспечена поддержка авторизации и аутентификации, некоторое количество модулей бизнеслогики и т.п. и т.д. что не целесообразно было бы пихать в мегадевайс. А если девайсов несколько? в общем такое ИМХО
Re: Разработка Web-интерфейса. (модульная CMS)
Как это противоречит моим словам?
Вы хотите что бы клиентское приложение (браузер) общалось с мегсдевайсом.
Как обеспечить такое общение из инета? Как обеспечить безопасность такого общения?
Вы хотите что бы клиентское приложение (браузер) общалось с мегсдевайсом.
Как обеспечить такое общение из инета? Как обеспечить безопасность такого общения?
Re: Разработка Web-интерфейса. (модульная CMS)
По уму мегсдевайсом - уровень данных. Сервер - уровень логики. Клиентское приложение - уровень представления.
Даже если получится клиенту общаться напрямую к данным, придётся всю логику реализовать в нём. В итоге оно вырастит и клиенту чтобы включить лампочку нужно будет ещё загрузить кучу кода не имеющего к лампочка никакого отношения
Даже если получится клиенту общаться напрямую к данным, придётся всю логику реализовать в нём. В итоге оно вырастит и клиенту чтобы включить лампочку нужно будет ещё загрузить кучу кода не имеющего к лампочка никакого отношения
Re: Разработка Web-интерфейса. (модульная CMS)
Все правильно, но Вы меня наверное не совсем поняли. Это низкоуровневый плагин и он предназначен как я уже говорил для прямого взаимодействия с мегадевайсом:-) Каждый может использовать его как хочет, например для проверки работоспособности мегадевайса. Так или иначе я планирую делать и другие модули. Например модуль измерения температуры. Там уже понадобится и php подключать и БД. Внешне это будет выглядеть также. Инициализация, передача настроек визуализации, но внутренне будет работать в php в цикле, измеряющий температуру в соответствии с настройками устройств и переодичности и записывать в БД, а браузерная часть будет заниматься визуализацией. Мы сохраняем чистое программирование, но упращаем процесс создания элементов. Т.е. подключил модуль, указал настройки в файле php, инициализировал плагин jquery на странице и указал настройки отображения. ВСЕ! Вы получили на своей странице независимый ни от чего график температур в комнате например:-), который привязан к конкретному датчику. Вот Вам и все три уровня: мегадевайс - бд -это данные. На php логика. Плагин - визуализация. Если вы подразумеваете например выполнение сценариев, то это может организовать уже любой, сам, при помощи например еще одного не хитрого модуля. Плагин будет отвечать за связь с сервероом, а серверный php за выполнение команд. Суть модуля в том, чтобы пользователю предоставить максимум возможностей при минимуме написания кода. Идеи по этому поводу уже есть, но до этого дожить еще надо.XAPuTOH писал(а):По уму мегсдевайсом - уровень данных. Сервер - уровень логики. Клиентское приложение - уровень представления.
Даже если получится клиенту общаться напрямую к данным, придётся всю логику реализовать в нём. В итоге оно вырастит и клиенту чтобы включить лампочку нужно будет ещё загрузить кучу кода не имеющего к лампочка никакого отношения
Re: Разработка Web-интерфейса. (модульная CMS)
GruNT, ткни пожалуйста носом, где рыть надписи ON/OFF/Warning по входу, хотелось бы их тоже изменять для информативности. И еще одна хотелка появилась, для удобства пользования бегунком ШИМа не хватает кнопок МИН и МАХ, например нажал МИН - он свалился в 0, нажал МАХ - он включился на уровень по умолчанию.
Re: Разработка Web-интерфейса. (модульная CMS)
На основе вышеизложенного накарябал примерчик, может кому пригодится
- Вложения
-
- IPhomeWEB.rar
- (72.5 КБ) 139 скачиваний
Re: Разработка Web-интерфейса. (модульная CMS)
Пример живой работы
- Вложения
-
- Безымянный4.jpg (75.35 КБ) 3700 просмотров
Re: Разработка Web-интерфейса. (модульная CMS)
Щас доделаю свой релейный блок и займусь всеми примочками)))foolhome писал(а):GruNT, ткни пожалуйста носом, где рыть надписи ON/OFF/Warning по входу, хотелось бы их тоже изменять для информативности. И еще одна хотелка появилась, для удобства пользования бегунком ШИМа не хватает кнопок МИН и МАХ, например нажал МИН - он свалился в 0, нажал МАХ - он включился на уровень по умолчанию.
Re: Разработка Web-интерфейса. (модульная CMS)
Ооо, ну замечательно!!!foolhome писал(а):Пример живой работы
Re: Разработка Web-интерфейса. (модульная CMS)
Мне то же очень нравиться.foolhome писал(а):Пример живой работы
Re: Разработка Web-интерфейса. (модульная CMS)
Все сделал))) А Warning выпадает когда нету связи с девайсом.foolhome писал(а):GruNT, ткни пожалуйста носом, где рыть надписи ON/OFF/Warning по входу, хотелось бы их тоже изменять для информативности. И еще одна хотелка появилась, для удобства пользования бегунком ШИМа не хватает кнопок МИН и МАХ, например нажал МИН - он свалился в 0, нажал МАХ - он включился на уровень по умолчанию.
Это тоже сделал))) Использовать можно, но лучше просто всю страницу обновлять, т.к. нагрузка на браузер меньше.foolhome писал(а):Запустил на денвере, вроде работает, не хватает авто обновления элементам.
Почти доделал, будет в бета версии...foolhome писал(а):Теперь, еще одна хотелка появилась, есть отображение ADC 0-1023, возможно ли преобразовать отображение, например 0 - это минус 40 градусов, а 1023 - это плюс 40 градусов, а страница сама пересчитала и теперь образно говоря при нулевой температуре, мы бы видели на экране 0, а не загадочную цифру 512.
А пока что тестируем 1.2a . Могут быть глюки, но это лечиться. Советую посмотреть файл плагина с описанием настроек.
- Вложения
-
- PortWidget_v1.2a.rar
- (69.71 КБ) 126 скачиваний
Re: Разработка Web-интерфейса. (модульная CMS)
Пожелания или критика есть?
Re: Разработка Web-интерфейса. (модульная CMS)
до кучи всякие индикаторы можно пределать
Как обеспечить безопасность такого общения?
логин/пароль
Как обеспечить безопасность такого общения?
логин/пароль