SlideShare ist ein Scribd-Unternehmen logo
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

Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
UXDXConf
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Peter Udo Diehl
 

Kürzlich hochgeladen (20)

Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty Secure
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
Buy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdfBuy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdf
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering Teams
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 

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)