Evidence is a platform developed by Plexflo which facilitates real-time streaming of IoT devices into a dashboard which can then be used to create charts or run proprietary ML algorithms on the streamed data to make real-time predictions when the incoming data is kW values from a grid meter.
Pretty cool huh! You must be wondering how can you get started with it. No worries we are here to guide you through the process.
You can find this platform on ev.plexflo.com. This platform is majorly built to stream IoT data related to EVs from smart meters but it can be used to stream any kind of data like humidity or temperature etc.
The signup screen greets you, make an account and log in to get started.
Once logged in you reach the projects page, here you can make your project and then get started with registering your IoT devices with us.
This is an empty project page, on the top right corner you can find Add New GEMs button. From here you can add 1 device or multiple ones by providing a CSV in a format described here.
Let’s assume you want to register one device with us. Click on single GEM which gives you a pop-up like this
Add the necessary details. By default, the architecture assumes you are sending kW data but you can change that by clicking on Advanced Options and then changing Y-Axis Unit to your required metric.
If you are finding it difficult to get your device's MAC ID. Here is a little python snippet that may help you. Or you could run ifconfig on the terminal and copy the ether id. Make sure to copy the wlan0 address when you have connected to Wi-Fi and the eth0 address when you are connected to Ethernet.
Now your device will show up on the map.
Setting up the Evidence Lite Software
If you click on the device it will take you to the details page and there you will find steps on how to connect the Software.
To do this, you need to login to your IoT device, for example- a Raspberry Pi.
1. Now once you are logged in. Run the first command to download the Evidence Software installer.
This will download the installer in a file named setup.sh
2. Now run the setup file to start installing the Software
3. When installing this installer you will be prompted to enter your registered email id. You can get that from the device detail page as well
That’s it, the certificates for your device will be transferred over the air and the Software will start listening on port 5500. Data can be sent to this port to be streamed over to the platform.
After you are connected come back to the detail screen and you can see that the device is now connected.
By default, the software comes with a file called runner.py which is capable of streaming random values to the platform. If you toggle the Stream Data button on the platform, it will show up.
If you navigate back to the IoT device you can see the logs of the data that is being sent to the dashboard.
Now how do you send your own data to the dashboard ?
If you want to stream your own data you have to send a file named runner.py. A sample file is shown here. You can also send CSV files or other files. Then send a runner.py file to stream data from that CSV. Both the files are stored in the same directory.
Let us send a file that can stream data from a CSV called EV.csv, which simulates an EV connected to the grid.
Click on choose file and select the file and then click send. Keep an eye on the logs and you will see the new file being delivered to the device.
The stream starts again and starts to stream from the runner.py file sent.
Thus using this you can send over the air firmware changes to your device. Essentially running different runner.py files to transmit different data to the platform. (The file has to have the name runner.py to be initiated)
If you are streaming smart meter data you can toggle run prediction to predict whether an EV is connected to the grid at a given timestamp. There is a provision to check on the historic data that is being sent to the stream and export charts for the same.
An additional bonus is that the platform is capable of detecting drift in the incoming EV data.
So there you go, you have your device connected and is now capable of being monitored, running algorithms on streamed data.
Let us know if the blog helped and feel free to contact us for more details or questions.