SlideShare a Scribd company logo
Bergmans Mechatronics LLC
Extending LabVIEW
to the Web Using the
LabSocket System

John Bergmans, CLD

Bergmans Mechatronics LLC
Bay Area LabVIEW User Group Meeting
Santa Clara, CA
Nov 19, 2013
1616 Bedford Lane, Unit A
Newport Beach, CA 92660

bergmans.com
@jbergmans
Bergmans Mechatronics LLC

Current Approaches to Remote LabVIEW Access
1.Native Client App
• Use TCP/IP sockets, LabVIEW shared variables, or .NET, to transmit data between
client and LabVIEW
• Requires custom client development and modifications to LabVIEW app

2.LabVIEW Remote Panels
• Requires LabVIEW Run-Time Engine (RTE) and browser plug-in on client platform
3.LabVIEW Web Services
• Data transferred between application and client using the HTTP requestresponse model (REpresentative State Transfer (REST) architecture)
• Requires development of client software using Web languages
eg. HTML/JavaScript
4.LabVIEW Web UI Builder (http://www.ni.com/uibuilder/)
• Build and run apps in browser using reduced-capabiliy LabVIEW
• Requires Silverlight plug-in (runs on Windows and Mac OS X)

5.Data Dashboard for LabVIEW
• Requires development of user interface and linking UI to block diagram
• Limited to iOS, Android, Windows 8 and Windows Phone devices
Bergmans Mechatronics LLC

LabSocket System
WebSocket
Interface
(Over TCP-IP)
Browser

“Target VI”

HTTP Server

Browser

Message Broker

Browser

LabSocket Server
Platform

TCP-IP
Socket
Interface

LabSocket
Support VIs

LabVIEW Host Platform

LabSocket Support VIs
Startup
- LabVIEW Front Panel screenscrape, send HTML and JavaScript code to HTTP server
Continous Operation
- Transmit updates of LabVIEW front panel to browser
- Update LabVIEW front panel when user generates events in browser
HTML5 WebSockets enable automatic replication of
LabVIEW front panel in a browser without plug-ins
Bergmans Mechatronics LLC

Other Configurations
WebSocket
Interface
(Over TCP-IP)
Browser

“Target VI”

HTTP Server

Browser

Message Broker

Browser

TCP-IP
Socket
Interface

LabSocket Server
Platform (VM)

LabSocket
Support VIs
LabVIEW Host Platform

PC on LAN
WebSocket
Interface
(Over TCP-IP)
Browser

“Target VI”

HTTP Server

Browser

Message Broker

Browser

TCP-IP
Socket
Interface

LabSocket Server
Platform (VM)
LabVIEW Host Platform

LabSocket
Support VIs
Bergmans Mechatronics LLC

Demo Configuration

Server in San Jose, CA
WebSocket
Interface
(Over TCP-IP)
Browser

“Target VI”

HTTP Server

Browser

Message Broker

Browser

TCP-IP
Socket
Interface

LabSocket Server
Platform

LabSocket
Support VIs
MacBook Pro

Amazon EC2 Instance
in Northern VA
Bergmans Mechatronics LLC

Graphing

LabVIEW Front Panel

Browser Representation
Bergmans Mechatronics LLC

MultiColumn ListBoxes

LabVIEW Front Panel

Browser Representation
Bergmans Mechatronics LLC

LabSocket Start VI
Tools Palette

Context Help
Bergmans Mechatronics LLC

Authentication
•
•

Authentication=T forces users to enter credentials
User authentication managed by ActiveMQ message broker
Bergmans Mechatronics LLC

Moodle Integration
•
•

Option for integration with MOODLE Course
Management System - https://moodle.org/
application_type = moodle_integration places web
page in moodle file structure

LabVIEW Front Panel

LabSocket iframe in Moodle Lesson
Bergmans Mechatronics LLC

Remote Cascade Lab - KTH Royal Institute of Technology (Sweden)
• Objective: to perform tests on turbine airfoils
• LabVIEW software used to control test rig
• LabSocket system enables lab testing to be performed
remotely using browser
• Remote control of rig aided by use of web cam
• 70 students have operated rig remotely with LabSocket
system to date (60 in groups of 3-6 and 10 individually)
• Lab part of EU funded Virtual Campus Hub project

GUI Main View

Additional information at: http://www.energy.kth.se/proj/projects/Remote_labs/RL/RL_website/RCL/RCL.html

Live Traverse Results
Bergmans Mechatronics LLC

SportJury – First Commercial LabSocket Application
• Distributed, multi-user application for judging ski competitions
• Used successfully at 2011 Swiss Snow Happening in Saas-Fee, Switzerland
• Developed by Dynasys, D. Kölliker (Neuenegg, Switzerland) www.dynasys.ch

iPod touch browser screenshots

Swiss Snow Happening judges entering score
data on iPod touch devices

Data aggregated on central PC
Bergmans Mechatronics LLC

“Multi-Pack” Systems for TEMPUS Program
• TEMPUS: EU Program for modernization of higher education programs in Eastern
Europe, Central Asia, Western Balkans and Mediterranean http://eacea.ec.europa.eu/tempus/
• “Multi-Pack” systems (eg. “Twin-Pack”, “Five-Pack”, etc) to be delivered as complete
sets to TEMPUS partner university labs
• Integration with MOODLE Course Management System - https://moodle.org/
Lab 1

Lab 1 Data
browser

One or More Desktop or
Mobile Devices on public
Internet
(Lab 1)

Lab 2
Data
browser

MOODLE
Server PC
(XX.XX.XX.01)

LabSocket
Support VIs

HTTP Server

Target VI 1

LabVIEW

ELVIS

LabVIEW Host PC (192.168.1.101)
LabSocket
Server PC
(XX.XX.XX.02)

Lab 2

HTTP Server
and Message
Broker

LabSocket
Support VIs

Target VI 2

LabVIEW

One or More Desktop or
Mobile Devices on public
Internet
(Lab 2)

ELVIS

LabVIEW Host PC (192.168.1.102)

…

…
Lab 5
Lab 5 Data

browser
One or More Desktop or
Mobile Devices on public
Internet
(Lab 5)

LabSocket
Support VIs

Target VI n

LabVIEW
LabVIEW Host PC (192.168.1.105)

ELVIS
Bergmans Mechatronics LLC

LabSocket-RT
LabSocket for LabVIEW Real-Time
Bergmans Mechatronics LLC

LabSocket-RT
•
•
•

Special version for access to applications on
LabVIEW Real-Time platforms
Support for reduced set of Front Panel elements
Possible use case: RT application monitoring /
debugging

“Target VI”

LabSocket-RT
Converter

Step 2 LabSocket-RT Converter
inserts Block Diagram Interface
VIs into “Target VI” copy

“Target VI” Copy
Block Diagram
Interface VIs

Step 3 “Target VI” Copy
manually deployed to RT Host

LabVIEW Development PC
Step 1 LabSocket-RT Converter copies
HTML and JS to HTTP Server

“Target VI” Copy
Block Diagram
Interface VIs

WebSocket
Interface
(Over TCP-IP)
Browser

HTTP Server

Message Broker

VM or Physical Server

TCP-IP
Socket
Interface

LabSocket
Support VIs

LabVIEW RT Host
Platform
Bergmans Mechatronics LLC

LabSocket-RT
• Converter replaces front panel elements in block diagram with “Block
Diagram Interface VIs”
Block Diagram Interface VIs

Demo1.vi

Demo1_RT.vi
Bergmans Mechatronics LLC

LabSocket-RT
• LabSocket RT Converter modifies copy of Target VI block diagram
• Start Converter from Tools > LabSocket RT > LabSocket RT Converter …
• Target copy manually added to project, included in build, and deloyed to RT plaform

LabVIEW RT Project
LabSocket RT Converter
Bergmans Mechatronics LLC

LabSocket-RT
Screenshots

Demo1.vi Front Panel (Idle)

Chrome Browser on Mac

Chrome Browser on iPhone
Bergmans Mechatronics LLC

Closing Notes
• Coming soon: LabSocket on LabVIEW Tools Network
• Possible framework for custom or more complex applications
• Consider: LabVIEW / LabSocket as dynamic web authoring system (NoFlo alternative)
• What other applications can be enabled by WebSockets?
Bergmans Mechatronics LLC

More Information and Downloadable Demos
labsocket.com

Contact
John Bergmans
Bergmans Mechatronics LLC
phone: 714-474-8956
e-mail: jbergmans@bergmans.com
web: bergmans.com
twitter: @jbergmans
Bergmans Mechatronics LLC

Extra Slides
Bergmans Mechatronics LLC

LabSocket Details
• Dynamically replicates LabVIEW front panel element values and properties such as
color, visibility, disabled state, etc.
• Compatible with desktop and mobile browsers that have native WebSocket support
(including Safari browser in iPhone, iPod touch and iPad). Option available for
browsers without WebSocket support.
• Two possible architectures
• Basic – one LabVIEW front panel replicated in one or more browsers
• Multi-Client – multiple unique copies of a LabVIEW VI each connect to one or
more browsers
• Two platforms for LabSocket Server
• Customer Server (LAN or cloud)
• LabSocket Cloud
• Additional information and downloadable evaluation system at www.labsocket.com
Bergmans Mechatronics LLC

Element Test VI

LabVIEW Front Panel

Browser Representation
Bergmans Mechatronics LLC

Waveform Charts

LabVIEW Front Panel

Browser Representation
Bergmans Mechatronics LLC

Waveform Graphs

LabVIEW Front Panel

Browser Representation

More Related Content

What's hot

Evolution of Applications & Web
Evolution of Applications & WebEvolution of Applications & Web
Evolution of Applications & Web
Himanshu Jindal
 
Phalcon 2 - PHP Brazil Conference
Phalcon 2 - PHP Brazil ConferencePhalcon 2 - PHP Brazil Conference
Phalcon 2 - PHP Brazil Conference
Jackson F. de A. Mafra
 
Java dev mar_2021_keynote
Java dev mar_2021_keynoteJava dev mar_2021_keynote
Java dev mar_2021_keynote
Suyash Joshi
 
Java vs .Net
Java vs .NetJava vs .Net
Java vs .Net
Tejasvi Rastogi
 
Enterprise Integration Patterns with ActiveMQ
Enterprise Integration Patterns with ActiveMQEnterprise Integration Patterns with ActiveMQ
Enterprise Integration Patterns with ActiveMQRob Davies
 
Liberty dynacache ffw_iea_ste
Liberty dynacache ffw_iea_steLiberty dynacache ffw_iea_ste
Liberty dynacache ffw_iea_ste
Rohit Kelapure
 
Server Side Programming
Server Side ProgrammingServer Side Programming
Server Side Programming
Milan Thapa
 
Upgrade to java 16 or 17
Upgrade to java 16 or 17Upgrade to java 16 or 17
Upgrade to java 16 or 17
Johan Janssen
 
[Part 1] automation of home appliances using raspberry pi – software installa...
[Part 1] automation of home appliances using raspberry pi – software installa...[Part 1] automation of home appliances using raspberry pi – software installa...
[Part 1] automation of home appliances using raspberry pi – software installa...
Azilen Technologies Pvt. Ltd.
 
V mware v fabric 5 - what's new technical sales training presentation
V mware v fabric 5 - what's new technical sales training presentationV mware v fabric 5 - what's new technical sales training presentation
V mware v fabric 5 - what's new technical sales training presentation
solarisyourep
 
What is Loadrunner ?
What is Loadrunner ?What is Loadrunner ?
What is Loadrunner ?
Guru99
 
Server side programming
Server side programming Server side programming
Server side programming
javed ahmed
 
HP LoadRunner - What it is and How it works
HP LoadRunner - What it is and How it worksHP LoadRunner - What it is and How it works
HP LoadRunner - What it is and How it works
Dhrumil Patel
 

What's hot (14)

Evolution of Applications & Web
Evolution of Applications & WebEvolution of Applications & Web
Evolution of Applications & Web
 
Resume
ResumeResume
Resume
 
Phalcon 2 - PHP Brazil Conference
Phalcon 2 - PHP Brazil ConferencePhalcon 2 - PHP Brazil Conference
Phalcon 2 - PHP Brazil Conference
 
Java dev mar_2021_keynote
Java dev mar_2021_keynoteJava dev mar_2021_keynote
Java dev mar_2021_keynote
 
Java vs .Net
Java vs .NetJava vs .Net
Java vs .Net
 
Enterprise Integration Patterns with ActiveMQ
Enterprise Integration Patterns with ActiveMQEnterprise Integration Patterns with ActiveMQ
Enterprise Integration Patterns with ActiveMQ
 
Liberty dynacache ffw_iea_ste
Liberty dynacache ffw_iea_steLiberty dynacache ffw_iea_ste
Liberty dynacache ffw_iea_ste
 
Server Side Programming
Server Side ProgrammingServer Side Programming
Server Side Programming
 
Upgrade to java 16 or 17
Upgrade to java 16 or 17Upgrade to java 16 or 17
Upgrade to java 16 or 17
 
[Part 1] automation of home appliances using raspberry pi – software installa...
[Part 1] automation of home appliances using raspberry pi – software installa...[Part 1] automation of home appliances using raspberry pi – software installa...
[Part 1] automation of home appliances using raspberry pi – software installa...
 
V mware v fabric 5 - what's new technical sales training presentation
V mware v fabric 5 - what's new technical sales training presentationV mware v fabric 5 - what's new technical sales training presentation
V mware v fabric 5 - what's new technical sales training presentation
 
What is Loadrunner ?
What is Loadrunner ?What is Loadrunner ?
What is Loadrunner ?
 
Server side programming
Server side programming Server side programming
Server side programming
 
HP LoadRunner - What it is and How it works
HP LoadRunner - What it is and How it worksHP LoadRunner - What it is and How it works
HP LoadRunner - What it is and How it works
 

Similar to Extending LabVIEW to the Web Using the LabSocket System

JCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptxJCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptx
Grace Jansen
 
Techdays 2011 - Things I will remember
Techdays 2011 - Things I will rememberTechdays 2011 - Things I will remember
Techdays 2011 - Things I will remember
Alexander Vanwynsberghe
 
Cloud-based performance testing
Cloud-based performance testingCloud-based performance testing
Cloud-based performance testing
abhinavm
 
Test Strategy For Future Cloud Architecture
Test Strategy For Future Cloud ArchitectureTest Strategy For Future Cloud Architecture
Test Strategy For Future Cloud Architecture
MaheshShri1
 
Stateful mock servers to the rescue on REST ecosystems
Stateful mock servers to the rescue on REST ecosystemsStateful mock servers to the rescue on REST ecosystems
Stateful mock servers to the rescue on REST ecosystems
Nuno Caneco
 
eXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework IntroductioneXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework Introductionvstorm83
 
Hpe service virtualization 3.8 what's new chicago adm
Hpe service virtualization 3.8 what's new chicago admHpe service virtualization 3.8 what's new chicago adm
Hpe service virtualization 3.8 what's new chicago adm
Jeffrey Nunn
 
DevCon5 (July 2014) - Acision SDK
DevCon5 (July 2014) - Acision SDKDevCon5 (July 2014) - Acision SDK
DevCon5 (July 2014) - Acision SDK
Crocodile WebRTC SDK and Cloud Signalling Network
 
The Emergence of Choice in the .NET Ecosystem
The Emergence of Choice in the .NET EcosystemThe Emergence of Choice in the .NET Ecosystem
The Emergence of Choice in the .NET Ecosystem
James Avery
 
Felix Ramos_Automation Programmer Analyst_QA
Felix Ramos_Automation Programmer Analyst_QAFelix Ramos_Automation Programmer Analyst_QA
Felix Ramos_Automation Programmer Analyst_QAFelix Ramos
 
Surekha_haoop_exp
Surekha_haoop_expSurekha_haoop_exp
Surekha_haoop_expsurekhakadi
 
COMPRO- WEB ALBUM & MOTION ANALYZER
COMPRO- WEB ALBUM  & MOTION ANALYZERCOMPRO- WEB ALBUM  & MOTION ANALYZER
COMPRO- WEB ALBUM & MOTION ANALYZERAshish Tanwer
 
IMPACT Final Conference - Clemens Neudecker
IMPACT Final Conference - Clemens NeudeckerIMPACT Final Conference - Clemens Neudecker
IMPACT Final Conference - Clemens Neudecker
IMPACT Centre of Competence
 
Web Application Development using PHP and MySQL
Web Application Development using PHP and MySQLWeb Application Development using PHP and MySQL
Web Application Development using PHP and MySQLGanesh Kamath
 
Webinar: Automating the Creation and Use of Virtual Testing Environments
Webinar: Automating the Creation and Use of Virtual Testing Environments Webinar: Automating the Creation and Use of Virtual Testing Environments
Webinar: Automating the Creation and Use of Virtual Testing Environments
Skytap Cloud
 
Justmeans power point
Justmeans power pointJustmeans power point
Justmeans power point
justmeanscsr
 
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
OpenWhisk
 
Cloud Computing in Systems Programming Curriculum
Cloud Computing in Systems Programming CurriculumCloud Computing in Systems Programming Curriculum
Cloud Computing in Systems Programming Curriculum
Steven Miller
 

Similar to Extending LabVIEW to the Web Using the LabSocket System (20)

JCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptxJCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptx
 
Techdays 2011 - Things I will remember
Techdays 2011 - Things I will rememberTechdays 2011 - Things I will remember
Techdays 2011 - Things I will remember
 
Transforming the web into a real application platform
Transforming the web into a real application platformTransforming the web into a real application platform
Transforming the web into a real application platform
 
Cloud-based performance testing
Cloud-based performance testingCloud-based performance testing
Cloud-based performance testing
 
Test Strategy For Future Cloud Architecture
Test Strategy For Future Cloud ArchitectureTest Strategy For Future Cloud Architecture
Test Strategy For Future Cloud Architecture
 
Stateful mock servers to the rescue on REST ecosystems
Stateful mock servers to the rescue on REST ecosystemsStateful mock servers to the rescue on REST ecosystems
Stateful mock servers to the rescue on REST ecosystems
 
eXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework IntroductioneXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework Introduction
 
Hpe service virtualization 3.8 what's new chicago adm
Hpe service virtualization 3.8 what's new chicago admHpe service virtualization 3.8 what's new chicago adm
Hpe service virtualization 3.8 what's new chicago adm
 
DevCon5 (July 2014) - Acision SDK
DevCon5 (July 2014) - Acision SDKDevCon5 (July 2014) - Acision SDK
DevCon5 (July 2014) - Acision SDK
 
The Emergence of Choice in the .NET Ecosystem
The Emergence of Choice in the .NET EcosystemThe Emergence of Choice in the .NET Ecosystem
The Emergence of Choice in the .NET Ecosystem
 
Wipro-Projects
Wipro-ProjectsWipro-Projects
Wipro-Projects
 
Felix Ramos_Automation Programmer Analyst_QA
Felix Ramos_Automation Programmer Analyst_QAFelix Ramos_Automation Programmer Analyst_QA
Felix Ramos_Automation Programmer Analyst_QA
 
Surekha_haoop_exp
Surekha_haoop_expSurekha_haoop_exp
Surekha_haoop_exp
 
COMPRO- WEB ALBUM & MOTION ANALYZER
COMPRO- WEB ALBUM  & MOTION ANALYZERCOMPRO- WEB ALBUM  & MOTION ANALYZER
COMPRO- WEB ALBUM & MOTION ANALYZER
 
IMPACT Final Conference - Clemens Neudecker
IMPACT Final Conference - Clemens NeudeckerIMPACT Final Conference - Clemens Neudecker
IMPACT Final Conference - Clemens Neudecker
 
Web Application Development using PHP and MySQL
Web Application Development using PHP and MySQLWeb Application Development using PHP and MySQL
Web Application Development using PHP and MySQL
 
Webinar: Automating the Creation and Use of Virtual Testing Environments
Webinar: Automating the Creation and Use of Virtual Testing Environments Webinar: Automating the Creation and Use of Virtual Testing Environments
Webinar: Automating the Creation and Use of Virtual Testing Environments
 
Justmeans power point
Justmeans power pointJustmeans power point
Justmeans power point
 
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
 
Cloud Computing in Systems Programming Curriculum
Cloud Computing in Systems Programming CurriculumCloud Computing in Systems Programming Curriculum
Cloud Computing in Systems Programming Curriculum
 

Recently uploaded

The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 

Recently uploaded (20)

The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 

Extending LabVIEW to the Web Using the LabSocket System

  • 1. Bergmans Mechatronics LLC Extending LabVIEW to the Web Using the LabSocket System John Bergmans, CLD Bergmans Mechatronics LLC Bay Area LabVIEW User Group Meeting Santa Clara, CA Nov 19, 2013 1616 Bedford Lane, Unit A Newport Beach, CA 92660 bergmans.com @jbergmans
  • 2. Bergmans Mechatronics LLC Current Approaches to Remote LabVIEW Access 1.Native Client App • Use TCP/IP sockets, LabVIEW shared variables, or .NET, to transmit data between client and LabVIEW • Requires custom client development and modifications to LabVIEW app 2.LabVIEW Remote Panels • Requires LabVIEW Run-Time Engine (RTE) and browser plug-in on client platform 3.LabVIEW Web Services • Data transferred between application and client using the HTTP requestresponse model (REpresentative State Transfer (REST) architecture) • Requires development of client software using Web languages eg. HTML/JavaScript 4.LabVIEW Web UI Builder (http://www.ni.com/uibuilder/) • Build and run apps in browser using reduced-capabiliy LabVIEW • Requires Silverlight plug-in (runs on Windows and Mac OS X) 5.Data Dashboard for LabVIEW • Requires development of user interface and linking UI to block diagram • Limited to iOS, Android, Windows 8 and Windows Phone devices
  • 3. Bergmans Mechatronics LLC LabSocket System WebSocket Interface (Over TCP-IP) Browser “Target VI” HTTP Server Browser Message Broker Browser LabSocket Server Platform TCP-IP Socket Interface LabSocket Support VIs LabVIEW Host Platform LabSocket Support VIs Startup - LabVIEW Front Panel screenscrape, send HTML and JavaScript code to HTTP server Continous Operation - Transmit updates of LabVIEW front panel to browser - Update LabVIEW front panel when user generates events in browser HTML5 WebSockets enable automatic replication of LabVIEW front panel in a browser without plug-ins
  • 4. Bergmans Mechatronics LLC Other Configurations WebSocket Interface (Over TCP-IP) Browser “Target VI” HTTP Server Browser Message Broker Browser TCP-IP Socket Interface LabSocket Server Platform (VM) LabSocket Support VIs LabVIEW Host Platform PC on LAN WebSocket Interface (Over TCP-IP) Browser “Target VI” HTTP Server Browser Message Broker Browser TCP-IP Socket Interface LabSocket Server Platform (VM) LabVIEW Host Platform LabSocket Support VIs
  • 5. Bergmans Mechatronics LLC Demo Configuration Server in San Jose, CA WebSocket Interface (Over TCP-IP) Browser “Target VI” HTTP Server Browser Message Broker Browser TCP-IP Socket Interface LabSocket Server Platform LabSocket Support VIs MacBook Pro Amazon EC2 Instance in Northern VA
  • 6. Bergmans Mechatronics LLC Graphing LabVIEW Front Panel Browser Representation
  • 7. Bergmans Mechatronics LLC MultiColumn ListBoxes LabVIEW Front Panel Browser Representation
  • 8. Bergmans Mechatronics LLC LabSocket Start VI Tools Palette Context Help
  • 9. Bergmans Mechatronics LLC Authentication • • Authentication=T forces users to enter credentials User authentication managed by ActiveMQ message broker
  • 10. Bergmans Mechatronics LLC Moodle Integration • • Option for integration with MOODLE Course Management System - https://moodle.org/ application_type = moodle_integration places web page in moodle file structure LabVIEW Front Panel LabSocket iframe in Moodle Lesson
  • 11. Bergmans Mechatronics LLC Remote Cascade Lab - KTH Royal Institute of Technology (Sweden) • Objective: to perform tests on turbine airfoils • LabVIEW software used to control test rig • LabSocket system enables lab testing to be performed remotely using browser • Remote control of rig aided by use of web cam • 70 students have operated rig remotely with LabSocket system to date (60 in groups of 3-6 and 10 individually) • Lab part of EU funded Virtual Campus Hub project GUI Main View Additional information at: http://www.energy.kth.se/proj/projects/Remote_labs/RL/RL_website/RCL/RCL.html Live Traverse Results
  • 12. Bergmans Mechatronics LLC SportJury – First Commercial LabSocket Application • Distributed, multi-user application for judging ski competitions • Used successfully at 2011 Swiss Snow Happening in Saas-Fee, Switzerland • Developed by Dynasys, D. Kölliker (Neuenegg, Switzerland) www.dynasys.ch iPod touch browser screenshots Swiss Snow Happening judges entering score data on iPod touch devices Data aggregated on central PC
  • 13. Bergmans Mechatronics LLC “Multi-Pack” Systems for TEMPUS Program • TEMPUS: EU Program for modernization of higher education programs in Eastern Europe, Central Asia, Western Balkans and Mediterranean http://eacea.ec.europa.eu/tempus/ • “Multi-Pack” systems (eg. “Twin-Pack”, “Five-Pack”, etc) to be delivered as complete sets to TEMPUS partner university labs • Integration with MOODLE Course Management System - https://moodle.org/ Lab 1 Lab 1 Data browser One or More Desktop or Mobile Devices on public Internet (Lab 1) Lab 2 Data browser MOODLE Server PC (XX.XX.XX.01) LabSocket Support VIs HTTP Server Target VI 1 LabVIEW ELVIS LabVIEW Host PC (192.168.1.101) LabSocket Server PC (XX.XX.XX.02) Lab 2 HTTP Server and Message Broker LabSocket Support VIs Target VI 2 LabVIEW One or More Desktop or Mobile Devices on public Internet (Lab 2) ELVIS LabVIEW Host PC (192.168.1.102) … … Lab 5 Lab 5 Data browser One or More Desktop or Mobile Devices on public Internet (Lab 5) LabSocket Support VIs Target VI n LabVIEW LabVIEW Host PC (192.168.1.105) ELVIS
  • 15. Bergmans Mechatronics LLC LabSocket-RT • • • Special version for access to applications on LabVIEW Real-Time platforms Support for reduced set of Front Panel elements Possible use case: RT application monitoring / debugging “Target VI” LabSocket-RT Converter Step 2 LabSocket-RT Converter inserts Block Diagram Interface VIs into “Target VI” copy “Target VI” Copy Block Diagram Interface VIs Step 3 “Target VI” Copy manually deployed to RT Host LabVIEW Development PC Step 1 LabSocket-RT Converter copies HTML and JS to HTTP Server “Target VI” Copy Block Diagram Interface VIs WebSocket Interface (Over TCP-IP) Browser HTTP Server Message Broker VM or Physical Server TCP-IP Socket Interface LabSocket Support VIs LabVIEW RT Host Platform
  • 16. Bergmans Mechatronics LLC LabSocket-RT • Converter replaces front panel elements in block diagram with “Block Diagram Interface VIs” Block Diagram Interface VIs Demo1.vi Demo1_RT.vi
  • 17. Bergmans Mechatronics LLC LabSocket-RT • LabSocket RT Converter modifies copy of Target VI block diagram • Start Converter from Tools > LabSocket RT > LabSocket RT Converter … • Target copy manually added to project, included in build, and deloyed to RT plaform LabVIEW RT Project LabSocket RT Converter
  • 18. Bergmans Mechatronics LLC LabSocket-RT Screenshots Demo1.vi Front Panel (Idle) Chrome Browser on Mac Chrome Browser on iPhone
  • 19. Bergmans Mechatronics LLC Closing Notes • Coming soon: LabSocket on LabVIEW Tools Network • Possible framework for custom or more complex applications • Consider: LabVIEW / LabSocket as dynamic web authoring system (NoFlo alternative) • What other applications can be enabled by WebSockets?
  • 20. Bergmans Mechatronics LLC More Information and Downloadable Demos labsocket.com Contact John Bergmans Bergmans Mechatronics LLC phone: 714-474-8956 e-mail: jbergmans@bergmans.com web: bergmans.com twitter: @jbergmans
  • 22. Bergmans Mechatronics LLC LabSocket Details • Dynamically replicates LabVIEW front panel element values and properties such as color, visibility, disabled state, etc. • Compatible with desktop and mobile browsers that have native WebSocket support (including Safari browser in iPhone, iPod touch and iPad). Option available for browsers without WebSocket support. • Two possible architectures • Basic – one LabVIEW front panel replicated in one or more browsers • Multi-Client – multiple unique copies of a LabVIEW VI each connect to one or more browsers • Two platforms for LabSocket Server • Customer Server (LAN or cloud) • LabSocket Cloud • Additional information and downloadable evaluation system at www.labsocket.com
  • 23. Bergmans Mechatronics LLC Element Test VI LabVIEW Front Panel Browser Representation
  • 24. Bergmans Mechatronics LLC Waveform Charts LabVIEW Front Panel Browser Representation
  • 25. Bergmans Mechatronics LLC Waveform Graphs LabVIEW Front Panel Browser Representation

Editor's Notes

  1. LabSocket-RT provided as JKI VIPM package
  2. VI Scripting used to modify block diagram