I’m Lamija Tupo, a student from Sarajevo, and I’m a summer student in CERN as part of CERN Openlab. I’m working on ‘Edge Computing: Integrating IoT Devices into the LHC Control Systems’ project using the Intel® Joule™ development board.
The final decision on which framework to use should be based on research about the top choices. In the case of the project I’m working on, that’s OpenSensors, IoTivity, SiteWhere, and AllJoyn.
OpenSensors seemed like a very good candidate. It is a framework started with the goal of sharing the data collected by the sensors, in order to help others and improve analysis of data. Even though the last release was about 2 years ago, there has been a lot of newer projects made with it in the meantime. Despite its main goal being open data, OpenSensors allows the users to choose if the data generated by their sensors are going to be public or private. The framework takes care of managing the devices and storage, and of analytics. That is quite useful for most projects, as the developer doesn’t have to worry about these things, just connect the sensors and devices. However, for this particular project I needed more control over these features.
IoTivity is the second framework I considered. It was developed by Linux* Foundation and sponsored by Open Connectivity Foundation, however they later merged with Allseen Alliance. It has APIs for Java*, C, and C++. The latest release was just 2 months ago. It has implemented several kinds of service discovery, multicast service discovery included. It also has a notification service implemented, which would be useful in case of an error or a broken sensor. However, I didn’t find anything about dynamic device registration, and it seems like it is more oriented toward cloud than edge computing.
SiteWhere is a framework written in Java. Its’ latest release was 2 months ago. The goal is to enable users to create applications which would scale well, so there is a lot of focus on big data. It was made on Apache Tomcat as its web container, and has SPIs for HBase and MongoDB. It has integrated alert messages which consist of a type and a message. All in all, it’s an excellent framework for all kinds of applications, however I wasn’t able to find any information about its service discovery.
In the end, all of these frameworks are excellent, however AllJoyn fit most of the needs of the project, and that is why it is my framework of choice.