Hello, I'm new to working with SLC and I was wondering whether there's any way to send data between a wifi connected Arduino (MKR Wifi 1010) and Systemlink Cloud or a webVI hosted on SLC. It doesn't matter whether the data is sent using tags, file uploads, or anything else, I just need a way to get the information onto something that can be read by Cloud services or webVIs so I can display it on a dashboard. I only need to send a few numbers, not a large amount of data, but I need it to be continuously updating. I'd love if the Arduino could send the data to SLC on its own without needing to connect to another computer, because I need the data to be sent all the time and it would be great if I didn't have to leave a computer running. Is there any way to do this, or can SLC only connect remotely like this to other national instruments services?
I understand that this may seem more like an Arduino question than a SLC question, but my main source of confusion is over whether a third party like an Arduino is able to send data to SLC or not, and how exactly a connection to SLC like this can be set up, since most tutorials for interacting with SLC appear to focus on how a human can interact with it rather than a program. Thank you in advance for any help!
Solved! Go to Solution.
my main source of confusion is over whether a third party [...] is able to send data to SLC or not
SystemLink Cloud uses a HTTP API for communication and the documentation is available in the HTTP API Reference topic. If you have the ability to make HTTPS requests over the internet you can likely communicate with the SystemLink Cloud APIs. NI makes LabVIEW, Python, and .NET clients available that call into the HTTP API that you could reference as examples.
Was curious so for fun I made an example of updating a SystemLink Cloud tag using the Arduino WIFI support. As a hobby I have the Arduino MKR Vidor 4000 and was able to get it to update a tag on SystemLink Cloud.
I started with the Arduino WiFi Web Client Repeating example and made some tweaks:
I will say that developing and debugging the Arduino WIFI support was pretty tough. I think it would be a better experience to use the LabVIEW RaspberryPI support and the LabVIEW SystemLink Client APIs for this kind of application.
If you do try and use the attached example you need to do a few steps first: create a tag of type double, find the workspace of the tag, and create a SystemLink Cloud API Key that can write to the tag.
Follow the Creating an API Key help topic and save the api key to use in the arduino example.