Más contenido relacionado
La actualidad más candente (20)
Similar a The MRAA and UPM Middleware Libraries (20)
Más de Intel® Software (20)
The MRAA and UPM Middleware Libraries
- 2. Copyright © 2016, Intel Corporation. All rights reserved.
*Other names and brands may be claimed as the property of others.
Optimization Notice
2
Agenda
• Brief MRAA and UPM overview and high level architecture
• Value proposition
• Outreach and community
• Future development
• Reference implementations
• Smart Retail
• Smart Transportation
• Smart Home
• Smart Buildings
- 3. Copyright © 2016, Intel Corporation. All rights reserved.
*Other names and brands may be claimed as the property of others.
Optimization Notice
Supports Intel, non-Intel (community
added) MCU boards, UNIX boards and
IoT Gateways
Simple I/O protocol control for:
Open source on GitHub:
http://mraa.io
3
MRAA – I/O Library
• GPIO
• Analog (AIO)
• PWM
• SPI
• I2C
• UART
• 1-Wire
• Firmata
Typical stack on UNIX systems:
- 4. Copyright © 2016, Intel Corporation. All rights reserved.
*Other names and brands may be claimed as the property of others.
Optimization Notice
4
Software suite for sensors, actuators,
radios and protocols
Open source, Intel maintained,
community supported:
http://upm.mraa.io
UPM – Sensor Library
Actuators
Sensors
25 25
- 5. Copyright © 2016, Intel Corporation. All rights reserved.
*Other names and brands may be claimed as the property of others.
Optimization Notice
5
MRAA & UPM – Architecture
UPM C++ Interfaces
iTemp iGyro iCompass iAccel
Others
…
UPM C generic interfaces
Mraa C/C++ APIs
Libmodbus
Bacnet
Others …
GPIO i2c
Linux Kernel
iioSPI UART PWM
iSensor iActuator iRadio
iMotor iDisplay iLTEClientiLoRaWAN
UPM Module UPM Module UPM Module UPM Module
- 6. Copyright © 2016, Intel Corporation. All rights reserved.
*Other names and brands may be claimed as the property of others.
Optimization Notice
6
IDE integration
• Intel® XDK (Entry level)
• Intel® System Studio (Advanced)
Value and Benefit
Multiple language support
Provide IO access in 3~4 lines of code
Examples for target languages and online documentation
- 7. Copyright © 2016, Intel Corporation. All rights reserved.
*Other names and brands may be claimed as the property of others.
Optimization Notice
7
• OPKG
• Ubuntu PPA
• 01.org
• NPM
• Maven/JCenter
Value and Benefit
Multiple OS support
Provide same API on a Linux board as on an MCU
System service for automatic detection of I/O expanders, user permissions, configuration
Easy to build or install:
- 8. Copyright © 2016, Intel Corporation. All rights reserved.
*Other names and brands may be claimed as the property of others.
Optimization Notice
8
UPM Sensor Library
300+ sensor drivers
• Maker
• Industrial
Leverages MRAA communication protocols
Adds WiFi, ZigBee, Z-Wave, LoRa, BLE, Modbus, BACnet, NFC/RFID, GPS, GPRS, 4G/LTE
Examples, how-to code samples and reference implementations available on Github:
http://github.com/intel-iot-devkit
- 9. Copyright © 2016, Intel Corporation. All rights reserved.
*Other names and brands may be claimed as the property of others.
Optimization Notice
9
Outreach Examples
• Robotics platforms and SDKs
• Cylon.js
• Johnny-Five
• ROS
• Board Manufacturers
• RPi
• Beaglebone
• Linaro/96 Boards Community
• Mediatek Linkit Smart
• Firmwave Edge Sensor Platform
• PhyWEGA Board
• Intel® & partner IoT Developer Kits
• SDK integration:
• Google Android Things /w Android
Studio
• Academia
• MRAA + UPM used for teaching IoT
related courses
• Books
• Embedded Linux – by the IoT Learning
Initiative
• Exploring Intel® Edison – Harry
Fairhead
- 10. Copyright © 2016, Intel Corporation. All rights reserved.
*Other names and brands may be claimed as the property of others.
Optimization Notice
10
Community Activity
NPM only downloads for MRAA are now over 40k per year!
MRAA Activity for April 2017:
• Clones: 5548 Unique: 4245
• Views: 22636 Unique: 4752
• Commits: 13
UPM Activity for April 2017:
• Clones: 1706 Unique: 1115
• Views: 15731 Unique: 2992
• Commits: 24
- 11. Copyright © 2016, Intel Corporation. All rights reserved.
*Other names and brands may be claimed as the property of others.
Optimization Notice
11
Contributing
We describe how to write or port a sensor module, conventions and rules
• Prepare a documented base driver in C/C++, with SWIG interfaces and at least one
example
• Open a Github Pull Request and wait for UPM team’s code review
Drivers submitted by hobbyists, sensor manufacturers, vendors, and other Intel
developers
MRAA Stats
• 79 contributors
• 19 active authors filing
issues & patches
• 1500+ commits
• 58 official releases
UPM Stats
• 50 contributors
• 10 active authors filing
issues & patches
• 1800+ commits
• 32 official releases
- 12. Copyright © 2016, Intel Corporation. All rights reserved.
*Other names and brands may be claimed as the property of others.
Optimization Notice
12
Future
• Extend M2M communications with additional radio and protocol support
(6LowPAN, SigFox, 5G)
• Improve RTOS support with additional C drivers ported
• Provide additional calibration and some basic noise filtering functions
• MRAA/UPM Windows port and integration with MS tools
• MRAA support for FPGA based I/O blocks
• Grow the number of generic interfaces:
• Helps develop Sensor Frameworks on top of the UPM sensor modules
• Ensures consistency between same type sensor APIs
- 14. Copyright © 2016, Intel Corporation. All rights reserved.
*Other names and brands may be claimed as the property of others.
Optimization Notice
14
How-to Code Samples
18 Complete how-to code samples in all
supported languages showcasing multiple
verticals:
• Compatible with SeeedStudio or DFRobot sensor
kits (others may work too)
• Available for Intel Edison or IoT Gateways (other
UNIX platforms would also work with little code
changes)
• Different technologies for serializing data: MQTT,
REST
• Integrated with several partner cloud services:
AWS, Bluemix, Azure, M2X
http://github.com/intel-iot-devkit/how-to-code-samples
- 15. Copyright © 2016, Intel Corporation. All rights reserved.
*Other names and brands may be claimed as the property of others.
Optimization Notice
15
Reference Implementations
• Start with a prototype, then transition seamlessly to an industrial grade solution that can be taken
to market
• Prototypes built with the Grove* IoT Commercial Kit, uses Intel® NUC as Gateway running Intel®
Gateway Software Suite and Arduino 101 as a sensor hub
• What’s in the kit?
1 x Intel® NUC Kit DE3815TYKE with 4G Memory
Sensors:
•1 x Grove* - Button
•1 x Grove* – Sound Sensor v1.2
•1 x Grove* – Touch Sensor
•1 x Grove* – Light Sensor v1.2
•1 x Grove* – Temperature Sensor v1.1
•1 x Grove* – Rotary Angle Sensor(P)
•1 x Grove* – Piezo Vibration Sensor
Others:
•1 x Grove* Base Shield v2
•14 x 26AWG Grove* Cable
•1 x B to A Type USB Cable – 0.5m
Note: Arduino*/Genuino* 101 sold separately
Actuators:
•1 x Grove* – LCD RGB Backlight
•1 x Grove* – Buzzer
•1 x Grove* – Red LED
•1 x Grove* – Green LED
•1 x Grove* – Blue LED
•1 x Gear Stepper Motor with Driver
- 16. Copyright © 2016, Intel Corporation. All rights reserved.
*Other names and brands may be claimed as the property of others.
Optimization Notice
16
Transportation
This connected transportation project monitors the status of a refrigerated trailer. The gateway gathers data from a
temperature and magnetic sensor for edge data analytics and monitoring. The prototype was created using the Intel®
IoT Developer Kit, Intel® IoT Gateway Software Suite, Grove* IoT Commercial Developer Kit, and Intel® System
Studio IoT Edition, and then deployed to an Intel® IoT Gateway using industrial sensors, Intel® XDK and a miniature
scale truck trailer.
Articles:
• The "Making Of" Story
• How To Build This Solution
• Code Available on GitHub
https://software.intel.com/en-us/articles/iot-path-to-product-the-making-of-a-connected-transportation-solution
Prototype Product
- 17. Copyright © 2016, Intel Corporation. All rights reserved.
*Other names and brands may be claimed as the property of others.
Optimization Notice
17
Smart Home
This smart home vertical project monitors the status of a home’s front door and garage door for increased security. The
gateway gathers data from a doorbell, door lock, stepper motors, and a garage door application for edge data
analytics. The prototype was built using the Intel® IoT Developer Kit, Intel® IoT Gateway Software Suite, Grove* IoT
Commercial Developer Kit, Intel® XDK, and IBM Bluemix* and then deployed to an Intel® IoT Gateway using industrial
sensors and a miniature scale home.
Articles:
• The "Making Of" Story
• How To Build This Solution
• Code Available on GitHub
Prototype Product
https://software.intel.com/en-us/articles/iot-path-to-product-smart-home
- 18. Copyright © 2016, Intel Corporation. All rights reserved.
*Other names and brands may be claimed as the property of others.
Optimization Notice
18
Intelligent Vending Machine
This retail vertical project monitors the inventory, product sales, and maintenance of a vending machine. The gateway
gathers data from a temperature sensor, stepper motor, coil switch, and a product-purchasing application for edge data
analytics. The prototype was created using the Intel® IoT Developer Kit, Intel® IoT Gateway Software Suite, Grove* IoT
Commercial Developer Kit, Intel® System Studio IoT Edition, and Microsoft* Azure* cloud services and then deployed
to an Intel® IoT Gateway using industrial sensors and a miniature scale vending machine.
Articles:
• "The Making Of" Story
• "How To" Build This Solution
• "Code" Available on GitHub
https://software.intel.com/en-us/articles/path-to-product-the-making-of-an-intelligent-vending-machine
Prototype Product
- 19. Copyright © 2016, Intel Corporation. All rights reserved.
*Other names and brands may be claimed as the property of others.
Optimization Notice
19
Environment Monitor
This smart building vertical project monitors air quality and pollutant levels in the surrounding environment. The
gateway gathers data from a temperature and humidity sensor, a gas sensor, and a dust particle sensor. The solution
was created using the Intel® IoT Developer Kit, Grove* IoT Commercial Developer Kit, Intel® System Studio IoT
Edition, and Amazon* AWS* cloud services and specialized sensors. It was deployed to a portable enclosure.
Articles:
• "The Making Of" Story
• "How To" Build This Solution
• "Code" Available on GitHub
https://software.intel.com/en-us/articles/iot-reference-implementation-making-of-an-environment-monitor-solution
Explore Deploy
- 23. Copyright © 2016, Intel Corporation. All rights reserved.
*Other names and brands may be claimed as the property of others.
Optimization Notice
23
Backup Slides
- 24. Copyright © 2016, Intel Corporation. All rights reserved.
*Other names and brands may be claimed as the property of others.
Optimization Notice
24
Intel Developer Zone - IoT
https://software.intel.com/en-us/iot/hardware/sensorshttps://software.intel.com/en-us/iot
- 25. Copyright © 2016, Intel Corporation. All rights reserved.
*Other names and brands may be claimed as the property of others.
Optimization Notice
25
GitHub Repositories
github.com/iotel-iot-devkit
- 26. Copyright © 2016, Intel Corporation. All rights reserved.
*Other names and brands may be claimed as the property of others.
Optimization Notice
26
MRAA sample code for led blink
- 27. Copyright © 2016, Intel Corporation. All rights reserved.
*Other names and brands may be claimed as the property of others.
Optimization Notice
27
UPM sample code for ADXL335