Gregor Cimerman, Researcher, XLAB
Smart boat use case focuses on bringing the Cloud and Fog functionalities to the boats and marinas. Equipping boats with IoT devices capable of collecting data from the boat sensors and their position is interesting, but adding processing edge devices on boats that can be collaboratively used together with Cloud is even more hot. The possibilities to exploit this kind of boat-fog network are countless from Big Data collecting and processing perspective or development of applications and services on top of this infrastructure. This is our main motivation for using the mF2C platform which neatly covers and simplifies some of the largest requirements we are trying to meet.
Sensors, IoT, Fog and Cloud layer
Our sensoric device is Sentinel, a boat monitor system developed by Sentinel Marine Solutions. This special purpose device connects to the boat and enables tracking and monitoring vitals such as battery, bilge water level and more.
[Smart Boat system components communication]
Our job is to provide the intermediate hardware and software that will connect this device to the mF2C platform in a seamless way. We plan to bring Fog capabilities to the boat with additional processing and networking device installed on it already. The processing component will be able to filter and manage the data while the networking proxy will take over the communication protocols to communicate towards the Cloud, other boats and marinas using WiFi, LoRa and 4G network. Our use case covers connecting smart boats together for sharing internet connection, aggregating sensor data and saving bandwidth when transmitting reading over network.
We are currently working on connecting the Sentinel sensors to the edge device which will handle the communication with mF2C. This includes Sentinel sensors and a mini computer Raspberry Pi acting as a mF2C edge on which the Sentinel sensors are connected via Bluetooth. For long distance communication between Raspberry iIs we are also testing the LoRa system which will enable better range than WiFi or Bluetooth can.
Our LoRa capabilities come from a module from Cooking Hacks that we attach to the Raspberry Pi.
[Cooking hacks Raspberry PI LoRa module.]
The Sentinel team provided us with a Boat Monitor device, which normally communicates with their Sentinel sensors present on a boat. It aggregates all sensor data and streams it to their cloud system or an Android phone if it is connected through their Bluetooth App.
[From left to right we have the Sentinel Boat Monitor device, example of data gathered from boat monitor and map tracing the sailing path.]
[Raspberry PI 3 version B in plastic enclosure with transparent plastic window.]
[Figure depicts different communication paths used to deliver information from Fog.]
[Figure depicts usage of mF2C services even in case of limited connectivity to the cloud.]
[Two RaspberryPIs with LoRa modules in close proximity for testing the communication.]
We designed multiple options for communication between Smart Boats and Cloud. We can have different hardware on each Smart Boat with different uplinks to the Cloud. In normal scenario Smart Boat would access the Cloud over cellular network. All Smart Boats are equipped with LoRa radio which can work in receiving or transmitting mode. We are using LoRa modules from Microchip model RN2483A.
Mode selection is done based on connection to the cloud, if Smart Boat doesn’t have connection to cloud it switches LoRa radio to transmitting mode and sends data over LoRa P2P network mode and another Smart Boat which has connection to Cloud relays data. Currently we are working on solution how to send acknowledgment to Smart Boat without direct connection to Cloud, that data was successfully relayed to Cloud.
The Sentinel devices use Bluetooth to communicate with clients. Originally only supported devices are the ones running Android operating system. Our goal is to connect Sentinel devices to be able to read sensor data into our Raspberry Pi Fog device. This will enable secure transfer of the boat sensor data to the Cloud leveraging mF2C framework.
To achieve this, we had to port the Sentinel’s Android library to Raspberry Pi. The goal is to have relatively lightweight Java libraries, which use the Android Bluetooth library from Android SDK. This lets us create Docker containers for collecting Sentinel data, which connect to the Bluetooth hardware via Linux’s D-Bus API. Intel has developed an open source project called Tiny Bluetooth LE Library (TinyB for short) for exposing the D-Bus as a simple C++ or Java API. TinyB uses the official Linux Bluetooth protocol stack blueZ.
Communication towards mF2C is also possible via LoRa radios, because they use UART port for commands and data transmission. This makes them simple to work with Docker containers as well.
The long-term goal of this exercise is to connect existing streams of sensor data from boats to a powerful framework which will enable hitherto unseen features and data processes, bringing new value to the boat data. The mF2C brings such a framework that promises modularity and simplicity for deploying computation and data processing modules to run in the Fog, while at the same time offering stability of operations and security of data transmissions. But to get there, we are currently in the process of bringing the necessary building blocks, which handle the physical communication on all available levels.