Публикация данных в браузере

VISA, TCP/IP, USB, CAN, GPIB и подобные протоколы
Ответить
Аватара пользователя
Din
beginner
beginner
Сообщения: 19
Зарегистрирован: 13 мар 2019, 14:37
Версия LabVIEW: 2017
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 1 раз

Публикация данных в браузере

Сообщение Din »

Всем привет.
Задача следующая. Публиковать данные с vi на сайт. Так чтобы любой клиент, хоть на андроиде, хоть на айосе, хоть на Винде, мог зайти на этот сайт и посмотреть текущие данные. Все клиенты могут находиться в любой точке мира. То есть они не в локалке.
Статических белых ай пи ни у кого нет. Какие средства для публикации данных на сайт есть в ЛВ?
1. Вэб сервис работает только при наличии СилверЛайта, который Майкрософт официально прекратило поддерживать.
2. Можно использовать модуль LabVIEW NXG Web Module в самой среде? Кто-то уже игрался с этим модулем?
Аватара пользователя
taras_33

Activity
professional
professional
Сообщения: 391
Зарегистрирован: 31 окт 2009, 18:25
Награды: 1
Версия LabVIEW: 2019
Поблагодарили: 13 раз
Контактная информация:

Re: Публикация данных в браузере

Сообщение taras_33 »

Можно использовать модуль LabVIEW NXG Web Module в самой среде? Кто-то уже игрался с этим модулем?
Я игрался год назад. Использовал свой древний домашний сервер Synology. Со смартфона на android открывалось всё без проблем. IP адрес динамический. После покупки NAS, его регистрации и создание аккаунта на сайте Synology, у вас будет бесплатный домен третьего уровня.
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!
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Публикация данных в браузере

Сообщение Artem.spb »

Din писал(а): 18 май 2021, 14:57 Статических белых ай пи ни у кого нет. Какие средства для публикации данных на сайт есть в ЛВ?
Вот тут уже можно остановиться. Или придётся при каждой смене адреса сервера всем менять закладку.
1. Вэб сервис работает только при наличии СилверЛайта, который Майкрософт официально прекратило поддерживать.
Откуда инфа? это доступ к RT требует серебра, а обычный web publish по-моему работает на обычном js, по крайней мере я не видел его признаков в своих экспериментах, и открывал вовсе не через IE.
2. Можно использовать модуль LabVIEW NXG Web Module в самой среде? Кто-то уже игрался с этим модулем?
Серебро, поддержку которого прекратили, вас смущает, а NXG, с такой же судьбой нет? :)

Есть ещё совсем продвинутый уровень - написать сервак. Реально, я делал. только знания js потребуются, ну или хотя бы основ html (зависит от запросов к системе).

Есть ещё лайфхак, который я год назад применил. Но потребуется отдельный сайт. На сайте создаётся страница хттп://сайт/чтоугодно.
Это чтоугодно содержит просто картинку/картинки. А ваша программа периодически делает свой скриншот и кидает картинку по ftp на сервер. Но тут уже интерактива не получится, в отличие от остальных вариантов.
Аватара пользователя
Din
beginner
beginner
Сообщения: 19
Зарегистрирован: 13 мар 2019, 14:37
Версия LabVIEW: 2017
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 1 раз

Re: Публикация данных в браузере

Сообщение Din »

Серебро, поддержку которого прекратили, вас смущает, а NXG, с такой же судьбой нет? :)
Так они официально NXG прекращают, а разработку модулей, таких как Web Module продолжают. Ссылка на инфу тут на форуме была, кстати.
Вот ссылка: https://lavag.org/topic/21849-ni-abando ... velopment/
Там прям подчеркнуто, что Вэб модуль как стэнд элон модуль будет)))

Ну а по поводу "написать сервак", чтобы его написать, надо его купить/арендовать. Из воздуха белый ай пишник сервака не возьмется.
Это я уже делала, аренда vps. Думала, обойтись без нее...

В общем, в любом случае, без одного устройства со статическим белым ай пи никто не обходился.
Аватара пользователя
toshas
assistant
assistant
Сообщения: 105
Зарегистрирован: 05 апр 2009, 22:45
Версия LabVIEW: 9.0
Благодарил (а): 13 раз
Поблагодарили: 7 раз
Контактная информация:

Re: Публикация данных в браузере

Сообщение toshas »

Статический ip не нужен при нормальном роутере, большинство сейчас имеют встроенные сервисы DynamicDNS.

Вариантов реализации много, нужно более подробное описание что за сайт и что за данные.
Просто данные публиковать можно и на внешних ресурсах, для этого не нужен свой сайт, например https://thingspeak.com/
Аватара пользователя
toshas
assistant
assistant
Сообщения: 105
Зарегистрирован: 05 апр 2009, 22:45
Версия LabVIEW: 9.0
Благодарил (а): 13 раз
Поблагодарили: 7 раз
Контактная информация:

Re: Публикация данных в браузере

Сообщение toshas »

Давайте в этой теме продолжим, чтобы не терялось.

Доступ именно к 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
beginner
Сообщения: 19
Зарегистрирован: 13 мар 2019, 14:37
Версия LabVIEW: 2017
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 1 раз

Re: Публикация данных в браузере

Сообщение Din »

ООО! Спасибо большое, очень информативно!
toshas писал(а): 21 май 2021, 11:22 Его сложно развернуть на внешнем сервере, поэтому этот путь проще реализовать через организацию доступа на ваш пк извне.
Такое возможно при наличии белого ip, не обязательно статического и доступа к настройкам NAT в роутере.
Это аналогия с тимвьюером получается? Удаленный доступ к ПК?

Но я все больше склоняюсь к решению запилить свой сайт (ОМГ :shok: ) и принимать на него JSON строку со своего ВП по udp.
Смотрю в сторону Node Red....
Аватара пользователя
toshas
assistant
assistant
Сообщения: 105
Зарегистрирован: 05 апр 2009, 22:45
Версия LabVIEW: 9.0
Благодарил (а): 13 раз
Поблагодарили: 7 раз
Контактная информация:

Re: Публикация данных в браузере

Сообщение toshas »

Din писал(а): 21 май 2021, 12:16 Это аналогия с тимвьюером получается? Удаленный доступ к ПК?
Не совсем тимвьювер, просто доступ к страничке которая будет размещена на локальном сервере.
Кстати, для доступа понадобится еще установленный LV Run-Time поэтому с телефона будет не посмотреть.
Din писал(а): 21 май 2021, 12:16 Смотрю в сторону Node Red....
Вполне вариант! Там даже страничку делать не надо будет, есть плагин для UI - https://flows.nodered.org/node/node-red-dashboard
UDP подойдет, если учесть, что он может теряться, разумная скорость не более 10 пакетов в сек и максимальная посылка менее 1500байт

Din писал(а): 21 май 2021, 12:16 Но я все больше склоняюсь к решению запилить свой сайт
Полноценный сайт с делением на фронт и бэк делать конечно не просто, но зато полный контроль за происходящим и оптимизация под требуемую задачу.
Другое дело, что технологии NI под такое не заточены, хотя вполне реально взять на фронт Web Module и отдельным VI сделать бэк.
Alex Dem
assistant
assistant
Сообщения: 119
Зарегистрирован: 06 май 2015, 22:24
Версия LabVIEW: 2014, 2018
Благодарил (а): 1 раз
Поблагодарили: 1 раз
Контактная информация:

Re: Публикация данных в браузере

Сообщение Alex Dem »

Din, не хотите использовать готовые решения для своей задачи?
Я далеко не профи в LabView, но вот насчет сбора данных опыт есть.
Weintek выпускает облачные панели, есть готовое приложение под все платформы, все красиво, правда требует программирования в EasyBuilder.
Применял недавно такую штуку, как WebHMI, программируется из браузера, есть возможность доступа через интернет от производителя, но само устройство дороже первого раза в 3-4.
В принципе ОВЕН уже со своим облачным сервисом вполне хорош.
Иногда, если задача того стоит, лучше, надежнее и быстрее использовать промышленные решения (ИМХО).
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Публикация данных в браузере

Сообщение Artem.spb »

toshas писал(а): 21 май 2021, 11:22 Web service это фактически веб сервер от NI с возможностью отображать страничку и связывать переменные на этой страничке с данными VI.
https://zone.ni.com/reference/en-XX/hel ... b_service/
Тут придется делать страничку самостоятельно, помощь от NI будет в виде веб-сервера который запускается локально и отображает страничку, а главное в передаче данных между страничкой и VI. На внешний сервис такое решение вынести тоже сложно, поэтому реализация доступа пойдет как в первом варианте.
Что в вашем понимании есть "внешний сервис"? Если иметь свой сервак, да ещё с виндой на борту (конечно, так мало кто делает), или установить на линух LV-RT, то ничто не мешает залить на этот сервак и сделанный на LabVIEW сервер.
Конечно, если программа должна взаимодействовать с железом и предоставлять какие-то измерительные данные, то дело осложняется. но по-моему совсем незначительно. В обычной схеме и так есть нижний уровень (контроллеры и т.п), есть верхний (он же АРМ). В случае с вебор верхним уровнем будет сервер, который с одной стороны тягает данные с железа, с другой отдаёт их в виде сайта. Возни, конечно, особенно при малых знаниях html/js будет много, но их будет немало и без использования :labview: В остальном отличия будут только в том, что "обычно" вся система работает в локальной сети, а в случае выхода в веб, связь между верхним/нижним уровнями будет уже на уровне глобальной сети.
Аватара пользователя
Chupakabra

Tutorials
professional
professional
Сообщения: 360
Зарегистрирован: 21 янв 2009, 10:50
Награды: 1
Версия LabVIEW: 2015
Откуда: Москва
Поблагодарили: 4 раза
Контактная информация:

Re: Публикация данных в браузере

Сообщение Chupakabra »

Могу предложить альтернативу web доступу: Telegram. Есть клиенты под все ОС. Не нужен белый IP. Легко организовать диалоговый интерфейс и оповещение по событиям, передачу изображений.
Аватара пользователя
Din
beginner
beginner
Сообщения: 19
Зарегистрирован: 13 мар 2019, 14:37
Версия LabVIEW: 2017
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 1 раз

Re: Публикация данных в браузере

Сообщение Din »

Решила я эту задачу. :wink:
Но не средствами LV. Со стороны LV по ЮДП протоколу передаю JSON строку на сайт.
Сервак у меня был. Оставалось запилить сайт. Тут помог node-red. Действительно, хорошая вещь. А главное, open source. )))
Благодарю всех за помощь и что натолкнули на мысли о сайте. :super:
toshas писал(а): 21 май 2021, 17:58 Вполне вариант! Там даже страничку делать не надо будет, есть плагин для UI - https://flows.nodered.org/node/node-red-dashboard
UDP подойдет, если учесть, что он может теряться, разумная скорость не более 10 пакетов в сек и максимальная посылка менее 1500байт
Потеря пакетов не страшна в этой задаче, поэтому простой добрый ЮДП подходит. :wink:
Node-red со своим дашбордом - самое то оказался. Спасибо! :super:
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Коммуникация с приборами»