Sensor Interfacing in Linux Using MRAA and UPM Libraries
Updated: Jul 17, 2020
Sensor Programming in Linux was never been so easy. The development of MRAA and UPM libraries has totally changed the Embedded programming in Linux. Either be it in a language like C, C++, Python, Java or NodeJS. Now a Software Developer Without having much knowledge on the Linux Architecture or device driver can easily write codes for almost all the interfaces and Sensors devices.
Let us understand why MRAA and UPM Libraries are getting so much popularity, I will explain mainly the purpose, architecture and supported interfaces of these libraries.
Fortunately, MRAA supports multiple interfaces as listed below:
MRAA & UPM Architecture Diagram
Introduction of MRAA libraries has shown the embedded OEM manufacturer and Sensor manufactures a new world of opportunities. You have seen the above section that the MRAA library provides a layer to access the hardware ports referred by some numbers/name for the particular port. This feature enables the sensor manufacturer to develop a single library for its sensors irrespective of the hardware, these are referred to as “UPM Library”. Almost all kind of sensors manufacturer’s are developing the libraries and contributing to the growing community.
Technically speaking in UPM library for each sensor contains a header which allows to interface with it. A sensor is represented as a class and instantiated. Typically an update() function will be called in order to get new data from the sensor in order to reduce load when doing multiple reads to sensor data.
Join our Technical Session-5 to deep dive into the usage of MRAA and UPM libraries with a number of demo seasons.
What are you going to learn?
Boot Process of RuggedBoard
Programs in Python and C using UPM & MRAA Libraries
Example Programs for Interfaces such as GPIO, UART, I2C, SPI, PWM, & ADC
Example Programs for Sensors and GPS
Access Previous Sessions Details: