# Internet of Things Platforms for Academic Research and Development: A Critical Review
## 2 Internet of Things Platforms
### Open Source Platforms
\begin{table}
\begin{tabular}{p{10.0 pt} p{108.4 pt} p{108.4 pt} p{108.4 pt} p{108.4 pt} p{108.4 pt} p{108.4 pt}} \hline \hline
**Platform** & **Comm. Protocols** & **Data Processing** & **Data Visualization** & **Integration** & **Security** & Embedded cybersecurity; \\  & OTC-LA, MOBots TCP and MOBT protocols and can be extended using an SDK to support proprietary ones & Predix Edge Manager, low-latency applications at the edge + analytics in the device are interfaces & Predix API Services to build browser-based and mobile device were interfaces & SCADA, Historian, IT (CRM, ERP) & management, data security, application security, network security, audit/reporting logging \\ \hline \multirow{4}{*}{Cisco Edge Intelligence [22]} & TCP, HTTP, WebSockets, Link Domain Sockets & Real time GPS, apps, move data and compute data (DCM) modules, adhoc and embedded analytics & Real time GPS, apps, move data and compute data applications & APIs, binary, text, JSON, MSgRack, JSON, Kafta, and RPLSack & USG Traffic, GPSN, traffic based mobile apps, ParStream, and & development, Flex VPN to establish IPSSC matches over NVN and port forwarding \\ \hline \multirow{4}{*}{Google Cloud IoT [23]} & \multirow{4}{*}{secure MQTT, HTTP} & pipeline processing, rule processing, Google cloud functions, BioQuery and Cloud Data h1, Google machine learning engine & Google Cloud Dataflow Cloud Bigtable & API, Cloud Pub/Sub & secure MQTT \\ \hline Microsoft Azure IoT Suite [32] & HTTP, HTTP, MQTT & Azure Stream Analytics manager microservice & Azure Stream Analytics, Amazon QuickSight, Jupyter notebooks, and applications (IoT Things Graph, etc.) & device simulation microservice (RESTful), authorization microservices, blockchain \\ \hline Ubidos Platform [19] & HTTP, MQTT, TCP, UDP, API & analytic engine & dashboard & HTTP, MQTT, TCP, UDP, API & authorization event engine \\ \hline \multirow{4}{*}{Zobo IoT platform [16]} & Described as multi-device/multi-protocol, no additional details provided & cloud-based real-time data processing & cloud-based data visualization with widgets and dashboards & encrypted HTTP and MQTT for data transfer, access management \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Conf. The Eclipse Kapua platform [33] is a modular platform focused on the integration of IoT devices available on the Eclipse IoT community [34]. The platform offers device connectivity by means of a multi-protocol message broker supporting the MQTT protocol toward the IoT devices and the AMQP and WebSockets protocols toward applications. The platform also provides device management by means of an open application protocol running over MQTT, that allows to control, configure, start and stop devices remotely from applications; support for additional protocols such as LWM2M is currently under development. Data management is a third feature offered by the Kapua platform: persistent storage is provided, allowing storing data waiting for retrieval by applications; the platform does not provide, however, any data processing or visualization capability. Finally, security is guaranteed by supporting both access control, through user identities that can be defined in the platform, and SSL authentication. The platform can be deployed using docker images with a script provided as part of the download package on the platform website; installation from the source code can be performed using the Maven build tool [35]. The documentation includes both the Github repository doc files and the developer and user guides on the project website, with links to detailed description of platform APIs. FIWARE [36] is a European Union-funded effort to develop an open-source solution for IoT. FIWARE provides a set of open-source platform components that can be combined to build an IoT platform matching a specific application context. The components, referred to as \"Generic Enablers\", can be either directly developed within FIWARE or result from the incubation of software projects developed externally from the project.