Dashboard Research - Niklas#2
Aim of this post
I am going to share my experiences of this project during the last two weeks. It were two hard weeks with moments of happiness and frustration. At the end, you will find my recommendations for the continuations of the project. Let's start.
Description of task and issue:
Task
The main task for the next weeks was to get an IOT Platform with integrated widgets. It should be able to do the following:- be connectable to a MQTT-broker
- support micro:bit
- support the esp8266 Wi-Fi module
- support using widgets:
- a map (using GPS)
- setting waypoints on this map
- a camera feed (like a live-video as widget)
- ability to control and view digital/analog input/output
- be free to use, or at least affordable for a University
The dashboard itself should be creatable with MakeCode.
- be connectable to a MQTT-broker
- support micro:bit
- support the esp8266 Wi-Fi module
- support using widgets:
- a map (using GPS)
- setting waypoints on this map
- a camera feed (like a live-video as widget)
- ability to control and view digital/analog input/output
- be free to use, or at least affordable for a University
We already had a micro:bit with an esp8266 connected to an IOT-Platform over MQTT.
Starting Point:
We were given a list of IOT Platforms/Dashboards to start with:
Link to give list of IOT Platforms and Dashboards
One hour we searched through this list and tried all the different platforms. Some of them were just too expensive and did not offer somewhat like an educational version. Others seemed too complex to use and implement in the given time. Just a minority of them had support for GPS. None had it for a camera feed.
In the end, Jack and I came to the same conclusion. We decided to look more into Wolkabout. The reasons for that:
- looked visual appealing
- had some form of maps integrated
- the dashboard looked clearly laid out
- had an android app
- had an educational version
Wolkabout:
First steps
I started off by registering a free account and watching the introduction videos from Wolkabout on YouTube. These videos were very straight forward. It was easy to follow and visualize what to do.
Link to Playlists of Wolkabout on YouTube
I gave the first steps a go. Creating device groups and devices worked fine. Configuration options were much available but clear.
In the next step, I had to connect a device to the just build infrastructure. Unfortunately, I had no device to connect, so I needed to set up a dummy interface. Wolkabout did not provide such an option. I had to figure it out myself.
Dummy device
MQTTLens and Mosquitto
This is where things got messy. I searched for ways to understand, setup and connect MQTT dummies to an IOT-Platform. I will not get into detail about this process. If you want to understand MQTT as well as make a quick and dirty setup, take a look into the links below.
Link to set up MQTTLens for devices
Link to set up Mosquitto as broker
After some time of research I found a solution, possible to set up in the given time. I used the Chrome Add-on MQTTLens for devices and the Windows CMD Tool Mosquitto as broker. After setup, MQTTLens could connect created devices to the broker.
Unfortunately, the broker/devices could not connect to Wolkabout. I read through the documentation of Wolkabout and searched through YouTube and Google. I tried different settings for the dummy devices on MQTTLens, looked into the different commands of Mosquitto and what they do, and created device groups on Wolkabout with different protocols. Whatever, I could not find any further information what I could do to establish the connection, even after hours of research.
To this day, I can't say for sure why it did not work.
I gave up to use MQTTLens and Mosquitto and searched for more coding related tutorials, focused on Wolkabout itself. I found the GitHub project from the link below.
WolkConnect-Pyhton
Link to GitHub Project WolkConnect-Python
I quickly set up a virtual machine using Ubuntu on Virtual box for security reasons. After the download of the repository and additional necessary software on my Ubuntu, I started to follow the installation instructions. This journey was soon over, after the initial build process failed. Again, I tried different settings, using the root user, etc. In the end, I could not get it to run.
I spent the next hours with research, but the resources were scarce. I also had attempts to connect MQTTLens and Mosquitto with Wolkabout on the off chance. Slowly accepting my defeat, I decided to search for IOT-Platforms that support educational projects.
Google IOT Core
In a few minutes, I stumbled over Google IOT Core. I wrote them our situation and brief description of infrastructure needs and finished for this day.
Luckily, I got an answer on the next day.
Current Situation:
Right now, we have an appointment with Google IOT Core on the 22. February. I hope they can support us with this task.
My Recommendations:
I hope that others in the team maybe stumbled over something that we can use. Adafruit looked very promising, for example.
If those don't work too, I see two possible paths we could take. Maybe at the same time:
Path one
My first idea is to stop searching for IOT-Platforms/Dashboards itself, but for similar projects like ours, based on the connections between the electronics. Perhaps we find a platform that would work, a setup around it, or something completely different. Either way, I think we need to change our point of view.
Path two
The second idea is to find a backup-plan. The current plan is to prepare an infrastructure to create interactive dashboards with MakeCode. I would recommend implementing the interactive part on a higher level: from infrastructure to application.
We may prepare a dashboard on our own, but stick with interactive widgets. These widgets could be:
- A simple manual controller GUI interface for USV ( and maybe for the drone )
- MakeCode based route planning for USV (and maybe for the drone )
- A widget for the camarafeed
- some data diagrams for analog/digital input/output
Additional Idea
In addition, we could outsource the camera feed from the whole project. The majority of drones use Mobile App clients like the one in the link below.
Some of these drones can keep a connection for multiple kilometres. This would be reasonable, because the implementation of the camarafeed on the IOT-Platform would probably be one of the greatest challenges.
Comments
Post a Comment