1. The document discusses a system called "LabSocket" that uses WebSockets to allow monitoring and controlling of LabVIEW applications from a web browser without plugins.
2. LabSocket works by having the LabVIEW application communicate with a WebSocket gateway and message broker via TCP/IP sockets to replicate the LabVIEW front panel interface in a web browser.
3. A demonstration of LabSocket shows a simple LabVIEW front panel for controlling an LED replicated in real-time in a Chrome browser.
1. The document discusses a system called "LabSocket" that uses WebSockets to allow monitoring and controlling of LabVIEW applications from a web browser without plugins.
2. LabSocket works by having the LabVIEW application communicate with a WebSocket gateway and message broker via TCP/IP sockets to replicate the LabVIEW front panel interface in a web browser.
3. A demonstration of LabSocket shows a simple LabVIEW front panel for controlling an LED replicated in real-time in a Chrome browser.
1. The document discusses a system called "LabSocket" that uses WebSockets to allow monitoring and controlling of LabVIEW applications from a web browser without plugins.
2. LabSocket works by having the LabVIEW application communicate with a WebSocket gateway and message broker via TCP/IP sockets to replicate the LabVIEW front panel interface in a web browser.
3. A demonstration of LabSocket shows a simple LabVIEW front panel for controlling an LED replicated in real-time in a Chrome browser.
1. The document discusses a system called "LabSocket" that uses WebSockets to allow monitoring and controlling of LabVIEW applications from a web browser without plugins.
2. LabSocket works by having the LabVIEW application communicate with a WebSocket gateway and message broker via TCP/IP sockets to replicate the LabVIEW front panel interface in a web browser.
3. A demonstration of LabSocket shows a simple LabVIEW front panel for controlling an LED replicated in real-time in a Chrome browser.
LabSocket System J ohn Bergmans Bergmans Mechatronics LLC www.bergmans.com National Instruments LabVIEW User Group Meeting Santa Ana, CA Nov 17 2010 1616 Bedford Lane, Unit A Phone: 714-474-8956 Newport Beach, CA 92660 Fax: 949-646-1429 B er g man s Mec h at r o n i c s L L C Goal: monitor and control a LabVIEW application using a plug-in-free browser Potential Use-Cases Monitor and control a LabVIEW-controlled lab test from the desktop in office or on the road using a mobile device Monitor large-scale LabVIEW application by crews in the field ie oil rig equipment monitoring For low-cost embedded systems eliminate physical UI by using browser to interface to device Bergmans Mechatronics LLC Remote Access to LabVIEW Application LabVIEW Application Browser on Laptop, Desktop or Mobile Device Desktop / Embedded Device 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 3. LabVIEW Web Services Data transferred between application and client using the HTTP request- response model (REpresentative State Transfer (REST) architecture) Requires development of client software using Web languages eg. HTML/J avaScript 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) Bergmans Mechatronics LLC Current Approaches Bergmans Mechatronics LLC Browser/Back-End Communications Traditional interface between browser and web server Desktop Server 1) Data Request 2) Reply Back-End Application Browser Web Server Software Bergmans Mechatronics LLC Traditional interface between browser and web server Desktop Server 1) Data Request 2) Reply Back-End Application Browser Web Server Software Continuous bi-directional communication between browser and server using WebSocket Desktop Server WebSocket Server Back-End Application WebSocket Browser Data to Back-End App Data from Back-End App Browser/Back-End Communications Bergmans Mechatronics LLC WebSocket Enables continuous, bidirectional communications between browser and server Originally part of new HTML5 specification, now a stand-alone spec (W3C API, IETF protocol) Simple browser and back-end implementation Substantially reduced header info size (request and response: ~900 bytes vs WebSocket: 4 bytes) Multiple organizations developing WebSocket servers Kaazing Corp., Mountain View, CA (www.kaazing.com) Developer of commercial WebSocket gateway Emulation for legacy and mobile browsers Contributor to HTML5 spec Disclosure: BML has referral agreement with Kaazing Bergmans Mechatronics LLC Sample BML Demo Applications using WebSocket Interface to MySQL http://http://www.bergmans.com/lab/ws_sql.html EarthControl Multiplayer Facebook game http://apps.facebook.com/earthcontrol Bergmans Mechatronics LLC LabSocket = LabVIEW + WebSocket LabSocket system uses WebSockets to enable automatic replication of LabVIEW front panel in a browser without plug-ins Data transfer via WebSocket Data transfer via TCP/IP Socket LabVIEW Application WebSocket Gateway Message Broker LabSocket Interface Browser on Desktop or Mobile Device Desktop / Embedded Device Server Bergmans Mechatronics LLC LabSocket = LabVIEW + WebSocket LabSocket system uses WebSockets to enable automatic replication of LabVIEW front panel in a browser without plug-ins Data transfer via WebSocket Data transfer via TCP/IP Socket LabVIEW Application WebSocket Gateway Message Broker LabSocket Interface Browser on Desktop or Mobile Device Desktop / Embedded Device LabSocket Interface Startup - Establish TCP/IP socket connection to message broker - LabVIEW Front Panel Screen Scrape, send J avaScript code to web server Steady-state - Transmit updates in LabVIEW front panel to browser - Update LabVIEW front panel based on events generated in browser Server Asynchronous Messaging Protocol Data transfer via WebSocket Data transfer via TCP/IP Socket LabVIEW Application Cloud Server WebSocket Gateway Message Broker LabSocket Interface Bergmans Mechatronics LLC LabSocket Cloud Service Configuration Browser on Desktop or Mobile Device Desktop / Embedded Device Bergmans Mechatronics LLC Demo http://www.bergmans.com/lab/LabSocket.html LabVIEW Front Panel Chrome Browser Bergmans Mechatronics LLC Screenscrape SubVI Label for one LED Bergmans Mechatronics LLC Future Work Perform demo / proof-of-concept testing Complete cloud service Allow LabVIEW developers to automatically set up applications Subscription set up Improved GUI element support Additional GUI elements Additional GUI element properties (color, font type, etc)