Software apps and online services
IoT Vehicle On-Board Computer is a device that can beinstalled on any vehicle (car, motorcycle, bicycle, etc.) equipped with abattery.
The mainfeatures of the device are:
- Increase in driver safety thanks to the monitoring of accelerationby means of accelerometer, GNSS andemergency button.
- Userinteraction, the freedom to develop new IoT features and the ability to extendto any developer the possibility to create new applications or expand existingones already installed on the device;
- Low cost,range 50-100 dollars which will depend on the quantities produced.
The deviceconsists of a Raspberry Pi 3 Model B+, a GNSS receiver, a CAN BUS USB Interface tocommunicate with the battery, a Huawei 3G USB dongle, an accelerometer and an emergencybutton.
I haveinstalled ROS (Robot Operating System) on Raspberry Pi.
ROS is an open source, flexible software framework forprogramming robots. ROS provides a hardware abstraction layer, in whichdevelopers can build robotics applications without worrying about theunderlying hardware. ROS also provides different software tools to visualizeand debug robot data. The core of the ROS framework is a message-passingmiddleware in which processes can communicate and exchange data with each othereven when running from different machines. ROS message passing can besynchronous or asynchronous.
Software in ROS is organized as packages, and itoffers good modularity and reusability.
Using the ROS message-passing middleware and hardwareabstraction layer, developers can create tons of robotic capabilities, such asmapping and navigation (in mobile robots).
Almost all capabilities in ROS will be robot agnosticso that all kinds of robots can use it.
New robots can directly use this capability packagewithout modifying any code inside the package.
ROS has widespread collaborations in universities, andlots of developers contribute to it.
We can say that ROS is a community-driven projectsupported by developers worldwide.
Below are the ROS nodes and the connections representingthe messages exchanged during functioning.
Each node carries out one or more operations andinterfaces to the respective hardware.
This type of structure allows the device to work even when one or morenodes are not present or are not working anymore.
Moreover, other nodes can be added without affectingthe pre-existing nodes and their functionalities.
This structure allows any developer to expand thefunctionality of the device without having to modify the pre-installed basicsoftware.
For example, in the case of cars it is possible to develop one or more nodesto read the status of the engine sensors and transmit it to Amazon AWS IoT forMachine Learning and predictive maintenance.
A device configured in this way allows you todivide the software development into two parts:
- Inside the device modifying or creating new ROS nodes;
- Outside the device by modifying or creating applications using Soracom andAmazon AWS IoT services.