LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

LabVIEW HTTP browser (client) without dedicated PC (as a server)

Solved!
Go to solution

The web server is already setup successfully on the ATMEGA32 microcontroller.
I only need a functional GUI to any client on the internet to receive the data through the browser.
The objective of this problem is to prevent any pc dedicated to this system. (for the purpose of webserver or GUI)
Nature of data: Current density and temperature measurement data from the fuel cell.

 

 

I would like to know your best solutions for this case!

 

Thanks in advance!

0 Kudos
Message 1 of 7
(3,128 Views)
Solution
Accepted by topic author ajaba

If you want to put a web-browser in to your VI you can use the WebBrowser ActiveX component. If you want to read the HTTP data programmatically then you can use the HTTP Client VIs under Data Communication -> Protocols -> HTTP Client to connect to the Server (ATMEGA32) and read the data.


LabVIEW Champion, CLA, CLED, CTD
(blog)
Message 2 of 7
(3,098 Views)

Thank you Sam for your feedback. But, indeed I am not exactly understanding your concept by " If you want to read the HTTP data programmatically then you can use the HTTP Client VIs under Data Communication -> Protocols -> HTTP Client to connect to the Server (ATMEGA32) and read the data".

Does it mean that the client execute the application VI under his PC anywhere in the network and access the real time measurement data published by the webserver of ATMEGA 32 on the network?

Could you please provide me with more info (Tutorials,documents or etc)?

0 Kudos
Message 3 of 7
(3,007 Views)

The data publisher in this situation would be the main computer acquiring the data through its data acquisition card. This computer would obtain the data and publish it to the DataSocket Server.//  I mentioned i have to prevent any pc dedication for this webserver project.

The DataSocket Server is an application that could be running on that same test machine or it could reside elsewhere on the network. Regardless of where it was located, the DataSocket Server would open a small amount of memory and allow data to be stored on that server.

0 Kudos
Message 4 of 7
(2,981 Views)

Hi ajaba,

 

With regards to your first reply - you are right. The HTTP client VIs allow you to connect to a web-server programmatically and retrieve data just like if you were visiting the site from your browser.

 

You can try this really simply by using the open handle, GET data and close handle VIs on any URL and look at the body response out. The body will be the html contents of the web-page but if you have your ATMEGA32 configured to output HTTP data then that's what you'll receive.

 

I was playing around with this recently to receive the number of unread emails (Gmail) I have - here's a screenshot:

04-05-2014 21-57-46.png

 

The first 3 VIs are the ones you want to use - the rest of the VIs just read the XML data.

 

As for your second reply - I don't understand as your initial question was that you had an ATMEGA32 that was acting as the server? From your second reply it sounds like you want to have a datasocket server - that's basically acting as a dedicated server?


LabVIEW Champion, CLA, CLED, CTD
(blog)
Message 5 of 7
(2,971 Views)

Firstly, thanks for the response.

Please just forget about the data socket. I became clear about that it is not the suitable tool for my project since I must not dedicate any PC for webserver and only ATMEGA32 must serve as the webserver.

Your information is very interesting to me since simply we can access to the HTML data from the microcontroller. But could you please answer the following questions:

 

1- I am required to prevent any 3rd party application/or software which impose costs to my client on the network. Therefore, your methodology seems to me that I shall make/build this HTML client in the form of application and share with my clients. Do my clients need essentially to install LabVIEW to execute this function? (this imposes cost of buying LabVIEW software and they are not interested)

 

2- I am an amateure in working with LabVIEW, Can I have your designed HTML client VI and make necessary modification and show it to you?Sorry but I don't know even how to get the blocks-- You mentioned that "The first 3 VIs are the ones you want to use" but i see you said Get HTTP and Close HTTP is also needed for me. So maybe I only need to put my vi instead of the first block from the right side (that one which passwords and error in is connected to)?

 

0 Kudos
Message 6 of 7
(2,927 Views)
1) You can build your LabVIEW software into an executable if you have the professional development version of LabVIEW or the application builder. This will give you an executable you can provide to your client - they will just need to install the LabVIEW runtime engine (free download or can be included in an installer) and do not need to buy LabVIEW.

2) I think the VIs are located under "connectivity > http". If not, search the LabVIEW help to find them. I don't know what version of LabVIEW they were introduced in - they're certainly in LV 2011, 2012 and 2013. You can also search for VIs using the magnifying glass on the palettes or quick drop window (ctrl+space).

The VIs are called HTTP Open, HTTP Get and HTTP Close. That's all that is needed to get some data from a webserver (your ATMEGA32). I'm sure you will find examples in the LabVIEW example finder.

LabVIEW Champion, CLA, CLED, CTD
(blog)
0 Kudos
Message 7 of 7
(2,888 Views)