01-20-2021 07:33 PM
Hello,
I am working on a device tracking app, which allows me to evaluate the accuracy and help me debug errors.
I do this by sending a command line to the cloud service to retrieve the RSSI data from each of the surrounding access points.
My test includes 3 access points. What I need is to do is to send the command to each access point at the same time and then process the data as the access points returns the data requested.
In my current program I perform this process in sequence as the cmd vi can only execute the command line to one ap at a time. Similarly processing the data returned from the ap also has to be processed. The solution is slow and inaccurate.
What I would like to do is to create 4 instances of the cmd vi and then start processing the returned data as it arrives from the access points.
I currently query the network for available access points and add them to a 1D array. That is my starting point.
Can anyone tell me who to proceed from there?
I have watched you tubes but simply don't get the right example which leads me to the solution. Many youtubers with talk about examples with our providing a problem/solution scenario and I am just tired of it. I am a visual thinker and need a clear and simple example.
Please help.
Kind Regards,
Soren
01-20-2021 09:08 PM
Are you talking about doing this in LabVIEW? If so, post all of your code for doing what you want to do with one access point. Once we understand what you are trying to do, it should be fairly simple to create several parallel instances that can be configured to access several (different) access points.
Bob Schor
01-21-2021 01:09 AM
If you talk about "cmd vi", is the communication done calling via system exec? We probably need much more details. What is the communication protocol?
01-21-2021 07:50 AM
Yes, I use system exec.vi.
Azure CLI is the interface I use. There is no additional protocol.
1) I have a 1D array with serial numbers of access points.
2) Each serial number I put into a CLI string and executed in system exec.vi
3) 2 is repeated for all serial numbers
4) Each execution triggers an infinite loop that sends the data to a single text file on my computer.
5) The text file is read by labview and the data is converted from JSON to a data table.
The data table is a simple 2D spreadsheet. I append the returned data for each access point to this spreadsheet for easy analysis.
This is the command execution and data capture
The raw data is then processed and put into the spreadsheet.
At the moment I kill all cmd.exe after the execution as I do not know the specific PID.
To execute this loop multiple times i would possibly have to change the exit process and kill process to avoid killing active loops.
I am not sure how I would do this yet. I think the kill process might have to be removed from this loop and executed at the end when all serial number data has been received.
01-21-2021 09:32 AM
Upload your actual VI, not an image of your VI. Most won't even bother looking at that image much less respond to it.
01-21-2021 10:11 AM
Thank you for your feedback.
01-21-2021 10:18 AM
Here is the vi to execute the command line.
01-21-2021 10:26 AM
This vi is my attempt to execute multiple copies of the CLI_Capture_eval.vi to speed up the data capture process.