SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Downloaden Sie, um offline zu lesen
Bergmans Mechatronics LLC

                     Extending LabVIEW to
                       the Web using the
                      “LabSocket” System


                             John 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
Bergmans Mechatronics LLC
Remote Access to LabVIEW Application
• Goal: monitor and control a LabVIEW application using a plug-in-free browser


               LabVIEW
                                                                Browser on
               Application
                                                                 Laptop,
                                                                Desktop or
               Desktop /                                       Mobile Device
            Embedded Device




• 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
Current Approaches

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/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)
Bergmans Mechatronics LLC
Browser/Back-End Communications

                      Traditional interface between browser and web server

                                1) Data Request
                                                     Web Server     Back-End
            Browser             2) Reply              Software     Application


         Desktop                                  Server
Bergmans Mechatronics LLC
Browser/Back-End Communications

                      Traditional interface between browser and web server

                                 1) Data Request
                                                          Web Server     Back-End
            Browser              2) Reply                  Software     Application


         Desktop                                       Server




              Continuous bi-directional communication between browser
                            and server using WebSocket


                              Data to Back-End App
                                                            WebSocket    Back-End
            Browser
                              Data from Back-End App         Server     Application


         Desktop                 WebSocket             Server
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

 EarthControl – Multiplayer Facebook game   Interface to MySQL
 http://apps.facebook.com/earthcontrol      http://http://www.bergmans.com/lab/ws_sql.html
Bergmans Mechatronics LLC
“LabSocket” = LabVIEW + WebSocket
LabSocket system uses WebSockets to enable automatic replication of LabVIEW
front panel in a browser without plug-ins



      LabSocket                       Message        WebSocket
       Interface                       Broker         Gateway
      LabVIEW         Data transfer                               Data transfer
      Application         via               Server                                 Browser on
                                                                      via
                     TCP/IP Socket                                                 Desktop or
                                                                  WebSocket
      Desktop /                                                                   Mobile Device
   Embedded Device
Bergmans Mechatronics LLC
“LabSocket” = LabVIEW + WebSocket
LabSocket system uses WebSockets to enable automatic replication of LabVIEW
front panel in a browser without plug-ins



      LabSocket                       Message        WebSocket
       Interface                       Broker         Gateway
      LabVIEW         Data transfer                               Data transfer
      Application         via               Server                                 Browser on
                                                                      via
                     TCP/IP Socket                                                 Desktop or
                                                                  WebSocket
      Desktop /                                                                   Mobile Device
   Embedded Device



   LabSocket Interface

   Startup
        - Establish TCP/IP socket connection to message broker
        - LabVIEW Front Panel Screen Scrape, send JavaScript code to web server
   Steady-state
        - Transmit updates in LabVIEW front panel to browser
        - Update LabVIEW front panel based on events generated in browser
Bergmans Mechatronics LLC
LabSocket – Cloud Service Configuration


                            Cloud
                            Server                          WebSocket
                                      Message Broker
                                                             Gateway




                          Data transfer via                         Data transfer via
                           TCP/IP Socket                            WebSocket




                                              LabSocket
                                               Interface
                                              LabVIEW
                                              Application                Browser on
                                                                         Desktop or
                                            Desktop /                   Mobile Device
                                         Embedded Device


 Asynchronous Messaging
 Protocol
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)

Weitere ähnliche Inhalte

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Kürzlich hochgeladen (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 

Empfohlen

Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Empfohlen (20)

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 

Extending LabVIEW to the Web using “LabSockets”

  • 1. Bergmans Mechatronics LLC Extending LabVIEW to the Web using the “LabSocket” System John 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
  • 2. Bergmans Mechatronics LLC Remote Access to LabVIEW Application • Goal: monitor and control a LabVIEW application using a plug-in-free browser LabVIEW Browser on Application Laptop, Desktop or Desktop / Mobile Device Embedded Device • 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
  • 3. Bergmans Mechatronics LLC Current Approaches 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/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)
  • 4. Bergmans Mechatronics LLC Browser/Back-End Communications Traditional interface between browser and web server 1) Data Request Web Server Back-End Browser 2) Reply Software Application Desktop Server
  • 5. Bergmans Mechatronics LLC Browser/Back-End Communications Traditional interface between browser and web server 1) Data Request Web Server Back-End Browser 2) Reply Software Application Desktop Server Continuous bi-directional communication between browser and server using WebSocket Data to Back-End App WebSocket Back-End Browser Data from Back-End App Server Application Desktop WebSocket Server
  • 6. 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
  • 7. Bergmans Mechatronics LLC Sample BML Demo Applications using WebSocket EarthControl – Multiplayer Facebook game Interface to MySQL http://apps.facebook.com/earthcontrol http://http://www.bergmans.com/lab/ws_sql.html
  • 8. Bergmans Mechatronics LLC “LabSocket” = LabVIEW + WebSocket LabSocket system uses WebSockets to enable automatic replication of LabVIEW front panel in a browser without plug-ins LabSocket Message WebSocket Interface Broker Gateway LabVIEW Data transfer Data transfer Application via Server Browser on via TCP/IP Socket Desktop or WebSocket Desktop / Mobile Device Embedded Device
  • 9. Bergmans Mechatronics LLC “LabSocket” = LabVIEW + WebSocket LabSocket system uses WebSockets to enable automatic replication of LabVIEW front panel in a browser without plug-ins LabSocket Message WebSocket Interface Broker Gateway LabVIEW Data transfer Data transfer Application via Server Browser on via TCP/IP Socket Desktop or WebSocket Desktop / Mobile Device Embedded Device LabSocket Interface Startup - Establish TCP/IP socket connection to message broker - LabVIEW Front Panel Screen Scrape, send JavaScript code to web server Steady-state - Transmit updates in LabVIEW front panel to browser - Update LabVIEW front panel based on events generated in browser
  • 10. Bergmans Mechatronics LLC LabSocket – Cloud Service Configuration Cloud Server WebSocket Message Broker Gateway Data transfer via Data transfer via TCP/IP Socket WebSocket LabSocket Interface LabVIEW Application Browser on Desktop or Desktop / Mobile Device Embedded Device Asynchronous Messaging Protocol
  • 12. Bergmans Mechatronics LLC Screenscrape SubVI Label for one LED
  • 13. 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)