SlideShare uma empresa Scribd logo
1 de 13
Baixar para ler offline
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)

Mais conteúdo relacionado

Último

Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
FIDO Alliance
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
panagenda
 
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
Muhammad Subhan
 

Último (20)

Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The InsideCollecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
 
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...
 
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
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
Vector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptxVector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptx
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 

Destaque

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)
 

Destaque (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)