Jump to content
News about the LabVIEW Wiki! Read more... ×
infinitenothing

Transmitting test data over internet using TCP or HTTP?

Recommended Posts

I'd like it if my test stations sent their test results to a web server. I'm wondering if anyone has done this. As I see it, I can probably do some port forwarding and expose a Maria/MySQL database over the internet or I could give that database a thin web interface and send the data over PUSH http requests. Are there pro/cons to one over the other? TLS is an option for either. Do you think HTTP would be more firewall friendly?

Share this post


Link to post
Share on other sites

I don't know how secure the database itself would be when exposed to the internet. I suppose in theory it could be hardened, but theres a lot of surface area you have to understand. I'd lean towards a web server myself, as this lets you tightly restrict what you're going to let clients do. For encryption, I know the labview http client supports tls, and it looks like mysql does too, if configured. From labview you'd have to use the odbc/activex connector, since labview doesn't have built-in tls support (just the http client). Https is almost certainly more firewall friendly.

  • Like 1

Share this post


Link to post
Share on other sites

I would definitely recommend a thin client. It should be easier to secure (you just don't build in the ability to do anything you don't want it to) and HTTP is going to be much more firewall friendly.

It does require building that thin client though! If the load is low this could be LabVIEW web services though (but if you have experience with a more suitable technology I would consider that).

Share this post


Link to post
Share on other sites

Never expose a database directly and always always use TLS or SSH tunnelling. Use certificate pinning wherever possible.

The preferred method is a web server to authenticate and then HTTPS or websockets depending on the type and frequency of data. The current trend is for web APIs which you can easily do in LabVIEW and insulates your software, somewhat, from SQL injection.

Edited by ShaunR

Share this post


Link to post
Share on other sites

OK, I'm hearing overwhelming support for a web interface. Is anyone familiar with existing test data web services? I'm surprised I don't hear about this more often.

Lacking other input, I'll probably try and go with a django server since I like its database coupling.

Share this post


Link to post
Share on other sites

Depends on what you mean by "test data". If you just mean data, theres a small company that has a web service platform (I think they do hosted AWS but I may be wrong): https://www.daq.io
Or you could ask your sales rep about the NI data management software suite: http://www.ni.com/data-management-software-suite/
You could also use a more non-labview option, like influx cloud: https://www.influxdata.com/products/editions/

If you mean test data like "textual logs of stuff", then the common open source option would probably be elastic search https://www.elastic.co/products/elasticsearch which Ive read and heard is hard to set up, but might be easy enough if you use bitnami: https://bitnami.com/stacksmith which is how I exclusively set up anything I want to use that consists of more than a single executable. Docker might also be an option in that realm.

If you mean test data like "teststand reports", maybe the new systemlink from NI would be a good fit: http://www.ni.com/en-us/shop/electronic-test-instrumentation/application-software-for-electronic-test-and-instrumentation-category/systemlink/monitor-automated-tests-with-systemlink.html
This also supports the plain data use case by letting you upload tdms files and store tags to be displayed in a dashboard.

Edit: Just because, I thought I'd google "test result storage database" and it came up with this: https://maintainable.com ...for a cloud based company their website is odd. But, they have a bullet point: "Integrates with industry software like NI TestStand".

Edited by smithd

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site, you agree to our Terms of Use.