We did a small collaboration with Tampere University students, who were making a coursework for an IoT course. UpCloud has been kind enough to grant us a free server in their cloud infrastructure to play and experiment with. Similar test accounts as used in this project are available to our members, just ask Marko.
The course exercise was to implement a simple IoT device and the students came to Agiler, an RF-focused startup, situated in Nokia to ask for some real world related problems to solve. They were instructed to test a simple radar module for its capabilities. So, Agiler provided the hardware, Uusi Nokia hacklab gave access to the Upcloud servers and Tampere University provided the rest. So pretty cool public-academic-commercial collaboration in a small package. Unfortunately, the Covid-19 posed some obstacles, but in the end, the group delivered a fully working proof of concept.
Marko intervieved Haseeb Mustafa from the group about their experiences with Upcloud and its suitability for such IoT-related projects.
Marko: Did you find UpCloud server suitable for your application?
Haseeb: Yes, it was somewhat suitable. The main problem which we faced during this application was that we had to set up a lot of things that made an extra overhead for our application. So if we want to use perfectly for IoT application then there are certain services which provide IoT services like MQTT brokers and data visualization platforms which also come with APIs for communication. Not to mention they have better security that we implemented. However, security was not our main concern anyways. An example of such service is ThingSpeak.
Do you have experience on alternatives? If yes, on which? What were the main differences between UpCloud and the other vendors you know? Would you rather have used them if possible?
No we had no experience on alternatives. We do not have experience with AWS EC2 or Azure which could be compared with up cloud. We would have used some service which is meant for IoT e.g,. ThingSpeak so that we can do it quickly and do proper evaluation of results.
What did you install on the bare bone server for your app? Was it easy enough?
Now we don’t remember all the packages but Nodejs, mosquito and MySQL were the integral parts of our setup. Lamppp/xampp (Dont remember exactly) was also installed initially but then we shifted to Nodejs later. The dependencies of mentioned packages were also installed.
You used the free Basic server version. Did you feel that the performance was good enough? What resources might be the first bottleneck if you continue the development?
For this application it was good enough. There was no hurdle and we did not know the specifications. For bottlenecks, there could be a lot of things which we can consider when we are seriously developing a product instead of school project. The current experience was code, deploy, test anyways.
What were the three best enablers you found helping you to develop your app?
- Static IP of server
What were the three main obstacles you found?
- No proper tutorial
- Broken API calls
- Setup difficulties
What improvements you would like to have on the server if you would continue using it?
This was the our first project related to IoT so it was really good for learning but we cannot comment on this one due to lack of experience on such server applications so for this we will have to implement it in more detail and on some other applications as well so that we can see advantages and disadvantages and can compare it with others. Maybe the best thing could be a proper tutorial to use which can guide for proper information would be beneficial for starting to work with it.
Any final comments?
As we told this was our first IoT application and we learnt a lot like how practical things work and how it can be applied in real world so our overall experience was good and from application point of view once somebody think that how to do SSH, the server could be a good idea on how to use the server and how to do complete set up then everything went smoothly and we had no issues in it.