Публикация данных в браузере
- Din
- beginner
- Сообщения: 19
- Зарегистрирован: 13 мар 2019, 14:37
- Версия LabVIEW: 2017
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
Публикация данных в браузере
Всем привет.
Задача следующая. Публиковать данные с vi на сайт. Так чтобы любой клиент, хоть на андроиде, хоть на айосе, хоть на Винде, мог зайти на этот сайт и посмотреть текущие данные. Все клиенты могут находиться в любой точке мира. То есть они не в локалке.
Статических белых ай пи ни у кого нет. Какие средства для публикации данных на сайт есть в ЛВ?
1. Вэб сервис работает только при наличии СилверЛайта, который Майкрософт официально прекратило поддерживать.
2. Можно использовать модуль LabVIEW NXG Web Module в самой среде? Кто-то уже игрался с этим модулем?
Задача следующая. Публиковать данные с vi на сайт. Так чтобы любой клиент, хоть на андроиде, хоть на айосе, хоть на Винде, мог зайти на этот сайт и посмотреть текущие данные. Все клиенты могут находиться в любой точке мира. То есть они не в локалке.
Статических белых ай пи ни у кого нет. Какие средства для публикации данных на сайт есть в ЛВ?
1. Вэб сервис работает только при наличии СилверЛайта, который Майкрософт официально прекратило поддерживать.
2. Можно использовать модуль LabVIEW NXG Web Module в самой среде? Кто-то уже игрался с этим модулем?
-
taras_33
- professional
- Сообщения: 392
- Зарегистрирован: 31 окт 2009, 18:25
- Награды: 1
- Версия LabVIEW: 2019
- Поблагодарили: 13 раз
- Контактная информация:
Re: Публикация данных в браузере
Я игрался год назад. Использовал свой древний домашний сервер Synology. Со смартфона на android открывалось всё без проблем. IP адрес динамический. После покупки NAS, его регистрации и создание аккаунта на сайте Synology, у вас будет бесплатный домен третьего уровня.Можно использовать модуль LabVIEW NXG Web Module в самой среде? Кто-то уже игрался с этим модулем?
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
So far, the Universe is winning!
-
- professor
- Сообщения: 3408
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: Публикация данных в браузере
Вот тут уже можно остановиться. Или придётся при каждой смене адреса сервера всем менять закладку.
Откуда инфа? это доступ к RT требует серебра, а обычный web publish по-моему работает на обычном js, по крайней мере я не видел его признаков в своих экспериментах, и открывал вовсе не через IE.1. Вэб сервис работает только при наличии СилверЛайта, который Майкрософт официально прекратило поддерживать.
Серебро, поддержку которого прекратили, вас смущает, а NXG, с такой же судьбой нет? :)2. Можно использовать модуль LabVIEW NXG Web Module в самой среде? Кто-то уже игрался с этим модулем?
Есть ещё совсем продвинутый уровень - написать сервак. Реально, я делал. только знания js потребуются, ну или хотя бы основ html (зависит от запросов к системе).
Есть ещё лайфхак, который я год назад применил. Но потребуется отдельный сайт. На сайте создаётся страница хттп://сайт/чтоугодно.
Это чтоугодно содержит просто картинку/картинки. А ваша программа периодически делает свой скриншот и кидает картинку по ftp на сервер. Но тут уже интерактива не получится, в отличие от остальных вариантов.
- Din
- beginner
- Сообщения: 19
- Зарегистрирован: 13 мар 2019, 14:37
- Версия LabVIEW: 2017
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
Re: Публикация данных в браузере
Так они официально NXG прекращают, а разработку модулей, таких как Web Module продолжают. Ссылка на инфу тут на форуме была, кстати.Серебро, поддержку которого прекратили, вас смущает, а NXG, с такой же судьбой нет? :)
Вот ссылка: https://lavag.org/topic/21849-ni-abando ... velopment/
Там прям подчеркнуто, что Вэб модуль как стэнд элон модуль будет)))
Ну а по поводу "написать сервак", чтобы его написать, надо его купить/арендовать. Из воздуха белый ай пишник сервака не возьмется.
Это я уже делала, аренда vps. Думала, обойтись без нее...
В общем, в любом случае, без одного устройства со статическим белым ай пи никто не обходился.
- toshas
- assistant
- Сообщения: 105
- Зарегистрирован: 05 апр 2009, 22:45
- Версия LabVIEW: 9.0
- Благодарил (а): 13 раз
- Поблагодарили: 7 раз
- Контактная информация:
Re: Публикация данных в браузере
Статический ip не нужен при нормальном роутере, большинство сейчас имеют встроенные сервисы DynamicDNS.
Вариантов реализации много, нужно более подробное описание что за сайт и что за данные.
Просто данные публиковать можно и на внешних ресурсах, для этого не нужен свой сайт, например https://thingspeak.com/
Вариантов реализации много, нужно более подробное описание что за сайт и что за данные.
Просто данные публиковать можно и на внешних ресурсах, для этого не нужен свой сайт, например https://thingspeak.com/
- toshas
- assistant
- Сообщения: 105
- Зарегистрирован: 05 апр 2009, 22:45
- Версия LabVIEW: 9.0
- Благодарил (а): 13 раз
- Поблагодарили: 7 раз
- Контактная информация:
Re: Публикация данных в браузере
Давайте в этой теме продолжим, чтобы не терялось.
Доступ именно к FP дает инструмент web publishing tools его ограничения это работа только через IE и плагин MS SilverLight.
https://forums.ni.com/t5/LabVIEW/Web-Pu ... anguage=en
Его сложно развернуть на внешнем сервере, поэтому этот путь проще реализовать через организацию доступа на ваш пк извне.
Такое возможно при наличии белого ip, не обязательно статического и доступа к настройкам NAT в роутере.
Web service это фактически веб сервер от NI с возможностью отображать страничку и связывать переменные на этой страничке с данными VI.
https://zone.ni.com/reference/en-XX/hel ... b_service/
Тут придется делать страничку самостоятельно, помощь от NI будет в виде веб-сервера который запускается локально и отображает страничку, а главное в передаче данных между страничкой и VI. На внешний сервис такое решение вынести тоже сложно, поэтому реализация доступа пойдет как в первом варианте.
NXG web module это конструктор web странички на манер создания FP. Полученная страница уже не привязана к NI и может быть размещена на внешнем сервере. В этом случае придется придумать механизм передачи данных из VI на сервер. Сложность может представлять настройка портов/адресов на внешнем сервере, чтобы подключение проходило и со стороны VI и со стороны браузеров-клиентов.
https://www.ni.com/documentation/en/lab ... plication/
И последний вариант - полностью оригинальное решение - сделать страничку самостоятельно, разместить ее, передать и сохранить данные на внешнем сервере используя стандартные протоколы и подходы. Есть несколько проектов в комьюнити которые можно взять как образец
https://lavag.org/topic/19236-turn-your ... /#comments
https://lavag.org/topic/13777-labview-w ... s-and-svg/
Доступ именно к FP дает инструмент web publishing tools его ограничения это работа только через IE и плагин MS SilverLight.
https://forums.ni.com/t5/LabVIEW/Web-Pu ... anguage=en
Его сложно развернуть на внешнем сервере, поэтому этот путь проще реализовать через организацию доступа на ваш пк извне.
Такое возможно при наличии белого ip, не обязательно статического и доступа к настройкам NAT в роутере.
Web service это фактически веб сервер от NI с возможностью отображать страничку и связывать переменные на этой страничке с данными VI.
https://zone.ni.com/reference/en-XX/hel ... b_service/
Тут придется делать страничку самостоятельно, помощь от NI будет в виде веб-сервера который запускается локально и отображает страничку, а главное в передаче данных между страничкой и VI. На внешний сервис такое решение вынести тоже сложно, поэтому реализация доступа пойдет как в первом варианте.
NXG web module это конструктор web странички на манер создания FP. Полученная страница уже не привязана к NI и может быть размещена на внешнем сервере. В этом случае придется придумать механизм передачи данных из VI на сервер. Сложность может представлять настройка портов/адресов на внешнем сервере, чтобы подключение проходило и со стороны VI и со стороны браузеров-клиентов.
https://www.ni.com/documentation/en/lab ... plication/
И последний вариант - полностью оригинальное решение - сделать страничку самостоятельно, разместить ее, передать и сохранить данные на внешнем сервере используя стандартные протоколы и подходы. Есть несколько проектов в комьюнити которые можно взять как образец
https://lavag.org/topic/19236-turn-your ... /#comments
https://lavag.org/topic/13777-labview-w ... s-and-svg/
- Din
- beginner
- Сообщения: 19
- Зарегистрирован: 13 мар 2019, 14:37
- Версия LabVIEW: 2017
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
Re: Публикация данных в браузере
ООО! Спасибо большое, очень информативно!
Но я все больше склоняюсь к решению запилить свой сайт (ОМГ ) и принимать на него JSON строку со своего ВП по udp.
Смотрю в сторону Node Red....
Это аналогия с тимвьюером получается? Удаленный доступ к ПК?
Но я все больше склоняюсь к решению запилить свой сайт (ОМГ ) и принимать на него JSON строку со своего ВП по udp.
Смотрю в сторону Node Red....
- toshas
- assistant
- Сообщения: 105
- Зарегистрирован: 05 апр 2009, 22:45
- Версия LabVIEW: 9.0
- Благодарил (а): 13 раз
- Поблагодарили: 7 раз
- Контактная информация:
Re: Публикация данных в браузере
Не совсем тимвьювер, просто доступ к страничке которая будет размещена на локальном сервере.
Кстати, для доступа понадобится еще установленный LV Run-Time поэтому с телефона будет не посмотреть.
Вполне вариант! Там даже страничку делать не надо будет, есть плагин для UI - https://flows.nodered.org/node/node-red-dashboard
UDP подойдет, если учесть, что он может теряться, разумная скорость не более 10 пакетов в сек и максимальная посылка менее 1500байт
Полноценный сайт с делением на фронт и бэк делать конечно не просто, но зато полный контроль за происходящим и оптимизация под требуемую задачу.
Другое дело, что технологии NI под такое не заточены, хотя вполне реально взять на фронт Web Module и отдельным VI сделать бэк.
-
- assistant
- Сообщения: 119
- Зарегистрирован: 06 май 2015, 22:24
- Версия LabVIEW: 2014, 2018
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: Публикация данных в браузере
Din, не хотите использовать готовые решения для своей задачи?
Я далеко не профи в LabView, но вот насчет сбора данных опыт есть.
Weintek выпускает облачные панели, есть готовое приложение под все платформы, все красиво, правда требует программирования в EasyBuilder.
Применял недавно такую штуку, как WebHMI, программируется из браузера, есть возможность доступа через интернет от производителя, но само устройство дороже первого раза в 3-4.
В принципе ОВЕН уже со своим облачным сервисом вполне хорош.
Иногда, если задача того стоит, лучше, надежнее и быстрее использовать промышленные решения (ИМХО).
Я далеко не профи в LabView, но вот насчет сбора данных опыт есть.
Weintek выпускает облачные панели, есть готовое приложение под все платформы, все красиво, правда требует программирования в EasyBuilder.
Применял недавно такую штуку, как WebHMI, программируется из браузера, есть возможность доступа через интернет от производителя, но само устройство дороже первого раза в 3-4.
В принципе ОВЕН уже со своим облачным сервисом вполне хорош.
Иногда, если задача того стоит, лучше, надежнее и быстрее использовать промышленные решения (ИМХО).
-
- professor
- Сообщения: 3408
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: Публикация данных в браузере
Что в вашем понимании есть "внешний сервис"? Если иметь свой сервак, да ещё с виндой на борту (конечно, так мало кто делает), или установить на линух LV-RT, то ничто не мешает залить на этот сервак и сделанный на LabVIEW сервер.toshas писал(а): ↑21 май 2021, 11:22 Web service это фактически веб сервер от NI с возможностью отображать страничку и связывать переменные на этой страничке с данными VI.
https://zone.ni.com/reference/en-XX/hel ... b_service/
Тут придется делать страничку самостоятельно, помощь от NI будет в виде веб-сервера который запускается локально и отображает страничку, а главное в передаче данных между страничкой и VI. На внешний сервис такое решение вынести тоже сложно, поэтому реализация доступа пойдет как в первом варианте.
Конечно, если программа должна взаимодействовать с железом и предоставлять какие-то измерительные данные, то дело осложняется. но по-моему совсем незначительно. В обычной схеме и так есть нижний уровень (контроллеры и т.п), есть верхний (он же АРМ). В случае с вебор верхним уровнем будет сервер, который с одной стороны тягает данные с железа, с другой отдаёт их в виде сайта. Возни, конечно, особенно при малых знаниях html/js будет много, но их будет немало и без использования В остальном отличия будут только в том, что "обычно" вся система работает в локальной сети, а в случае выхода в веб, связь между верхним/нижним уровнями будет уже на уровне глобальной сети.
-
Chupakabra
- professional
- Сообщения: 360
- Зарегистрирован: 21 янв 2009, 10:50
- Награды: 1
- Версия LabVIEW: 2015
- Откуда: Москва
- Поблагодарили: 4 раза
- Контактная информация:
Re: Публикация данных в браузере
Могу предложить альтернативу web доступу: Telegram. Есть клиенты под все ОС. Не нужен белый IP. Легко организовать диалоговый интерфейс и оповещение по событиям, передачу изображений.
- Din
- beginner
- Сообщения: 19
- Зарегистрирован: 13 мар 2019, 14:37
- Версия LabVIEW: 2017
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
Re: Публикация данных в браузере
Решила я эту задачу.
Но не средствами LV. Со стороны LV по ЮДП протоколу передаю JSON строку на сайт.
Сервак у меня был. Оставалось запилить сайт. Тут помог node-red. Действительно, хорошая вещь. А главное, open source. )))
Благодарю всех за помощь и что натолкнули на мысли о сайте.
Node-red со своим дашбордом - самое то оказался. Спасибо!
Но не средствами LV. Со стороны LV по ЮДП протоколу передаю JSON строку на сайт.
Сервак у меня был. Оставалось запилить сайт. Тут помог node-red. Действительно, хорошая вещь. А главное, open source. )))
Благодарю всех за помощь и что натолкнули на мысли о сайте.
Потеря пакетов не страшна в этой задаче, поэтому простой добрый ЮДП подходит.toshas писал(а): ↑21 май 2021, 17:58 Вполне вариант! Там даже страничку делать не надо будет, есть плагин для UI - https://flows.nodered.org/node/node-red-dashboard
UDP подойдет, если учесть, что он может теряться, разумная скорость не более 10 пакетов в сек и максимальная посылка менее 1500байт
Node-red со своим дашбордом - самое то оказался. Спасибо!
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 3 Ответы
- 875 Просмотры
-
Последнее сообщение IvanLis
-
- 13 Ответы
- 1227 Просмотры
-
Последнее сообщение Boxa
-
- 0 Ответы
- 503 Просмотры
-
Последнее сообщение Juri
-
- 3 Ответы
- 272 Просмотры
-
Последнее сообщение AndreyDmitriev
-
- 13 Ответы
- 2454 Просмотры
-
Последнее сообщение rsv