The Internet of Things offers a growing market open to new products. To be able to take advantages of this opportunity companies need to be able to quickly create prototypes of their products. Given the difficulties that the development of embedded devices presents, both on the hardware and software parts, it is a necessity to create tools that ease this process. In this paper we present a codesing-oriented platform that will help developers to create their prototypes in an agile manner. The presented platform simplifies the usage and integration of standardized peripherals and reduces the complexity of the development process. We also present a prototype created using the platform, showcasing its capabilities.
Codesign-Oriented Platform for Agile Internet of Things Prototype Development
1. Codesign-Oriented Platform for Agile
Internet of Things Prototype
Development
Jonathan Ruiz-de-Garibay, Aitor Almeida, Szilárd A. Kados,
Adolfo García-Corcuera and Diego López-de-Ipiña
2. Extending Seamlessly to the Internet of Things 2014
Table of Contents
Introduction
Architecture Proposal
Use Case: THOFU Project
Future Work
Conclusions
3. Extending Seamlessly to the Internet of Things 2014
Introduction
IoT includes different paradigms:
Wireless Sensor Networks
Communication technologies
Energy efficiency
Tracking technologies
Indoor location
Several actuators
With the increasing complexity of the system designs
and the added pressure to reduce the time-to-market,
it is essential to be able to quickly and efficiently create
the first functional prototypes of their products
4. Extending Seamlessly to the Internet of Things 2014
Introduction
Embedded systems require more than a simple
software development process.
They are products “consisting of mechanics, electric and
electronics, and software”.
Typical embedded system development cycles:
Hardware and software have separated design
processes
Implemented independently, integrated afterwards
Hardware and software codesign reduces the costs
and maximizes profits but developers need
methodologies and tools to help them during the process
5. Extending Seamlessly to the Internet of Things 2014
Introduction
Agile IoT development:
Work with a higher-level of abstraction, both at
hardware and software, describing functional components
and their interactions.
Components have to be composed by hardware and software.
Create a set of tools, hardware architectures,
methodologies, code generators an so on, for defining
the system functionality independently of the
implementation.
Apply the Model Driven Engineering approach.
6. Extending Seamlessly to the Internet of Things 2014
Introduction
In our experience, an IoT device is a type of embedded
system with some defining characteristics:
Identification. The real world objects are represented in the
computational space, using identification systems like RFID.
User interaction. Devices are not simple embedded systems
that capture sensor information. There is an important user-
interaction component.
Communication. These gadgets have to consume Internet
services. Communication capabilities, through 6LowPAN or
WiFi, are one of the IoT defining characteristics.
Specialized platform. The diversity of hardware components
(microcontrollers, RFID readers, communication transceivers,
etc.) results in a wide variety of devices.
7. Extending Seamlessly to the Internet of Things 2014
Proposed architecture
Main characteristics:
Modular architecture.
Self-contained functional components that favour reusability.
Standard and open interface.
Modular interfaces and open protocols for an easier integration
of existing components .
Scalable architecture.
Scale horizontally to be able to add more peripherals.
Scale vertically to be able to increment the application
controller functionality.
Flexible communication system.
Focus should be the functionality, not the details of
communication.
8. Extending Seamlessly to the Internet of Things 2014
Architecture Proposal
Architecture is divided in two levels:
Infrastructure level. Makes easier the access to a large
collection of peripherals.
Domain or specific application level. It allows complete freedom
to the developer with complete access to the peripherals in the
infrastructure level.
Controller
Slave 1 Slave 2 Slave n
Transceiver
Controller
IO device 1 IO device 2 IO device n
I2C bus
…
…
ApplicationInfrastructure
UART (1) I2C (2)
Peripherals
9. Extending Seamlessly to the Internet of Things 2014
Standard Interfaces: UART interface (1)
Included in most microcontrollers.
Takes bytes of data and transmits the payload
sequentially between a start bit and one to three
ending bits: parity bit (optional) and one or two stop
bits (configurable).
Three different modes:
Simplex mode. Monodirectional.
Half-duplex mode. Devices take turns transmitting and
receiving through a unique wire.
Full-duplex mode. Both devices can send and receive at
the same time through different wires.
10. Extending Seamlessly to the Internet of Things 2014
Standard Interfaces: UART interface (1)
In the propossed architecture:
Full-duplex asynchronous mode with two lines:
transmission (TX) and reception (RX).
8 bit data and 9600 baud.
We have defined our own protocol based on the AT
command set, commonly known as AT commands.
11. Extending Seamlessly to the Internet of Things 2014
Standard Interfaces: I2C bus (2)
Is used for communications between integrated
circuits, especially for slow communications with
on-board peripherals.
Uses only two wires (SDL for clock and SDA for
data) to connect all the peripherals with a serial half-
duplex protocol based on a master-slave model.
Each slave has a unique direction.
µC
Master
µC
Slave
µC
Slave
µC
Slave
VDD
SDA
SDL
Rp
12. Extending Seamlessly to the Internet of Things 2014
Infrastructure Level: Controller
The infrastructure controller can be a very simple
controller.
Main functions:
Initializing the I2C bus and their devices (if necessary).
Establish and support the connection through the
transceiver.
The firmware of this microcontroller can be updated to
add secondary functions such as power controlling.
I2C has a multi-master configuration and both
controllers can use it.
By default, the infrastructure controller only uses it for
initializing tasks but it is possible for extra functionalities to
interact with any of the peripherals.
13. Extending Seamlessly to the Internet of Things 2014
Infrastructure Level: Transceiver
Our architecture supports any kind of wired or
wireless communication.
The specific protocol must be known only by the
infrastructural microcontroller.
The transparent access to the transceiver by the
application developer is one of the main goals of our
architecture.
The developer only has to interact with a standard AT
commands protocol.
The microcontroller is responsible for establishing
the connection and for resubmitting the messages
from the application to the controller and vice versa.
14. Extending Seamlessly to the Internet of Things 2014
Infrastructure Level: I2C Peripheals
We offer several I2C peripherals to ease the
prototype development.
Three possible models:
A component that implements I2C protocol.
It can be included directly in the platform.
A component that does not implement I2C protocol.
E.g. a I2C to specific protocol adapter.
Multiple component that does not implement I2C protocol.
E.g. a firmware that controls all component and implements an
I2C adapter.
15. Extending Seamlessly to the Internet of Things 2014
Application Level
The developer sees
the infrastructure controller like a typical transceiver
and I2C peripherals are like any other I2C device.
Main advantages:
The developer can use any microcontroller because the
architecture only uses standard interfaces and a
defined UART protocol.
The developer can include other device directly
connected to application controller or he can create a new
I2C peripheral that includes an I2C transceiver.
16. Extending Seamlessly to the Internet of Things 2014
Use Case: THOFU Project
The proposed architecture has been used in the
THOFU (Technologies for the HOtel of the FUture)
project.
The proposed agile prototyping architecture has been
used to develop Internet-capable games for the children
staying in the hotels.
This architecture has been used to create a common
base that is used by several games and provides several
hardware capabilities (WiFi, RFID, sound, buttons, a
display…) and two board game prototypes
17. Extending Seamlessly to the Internet of Things 2014
Use Case: THOFU Project
Specific architecture for THOFU Project.
Infrastructure level includes power management, some
status light, a WiFi transceiver and three I2C peripherals.
Application level are composed by interchanged games.
Controller
RFID Reader Screen +
Buttons
Audio Player
WiFi Transceiver
Game
I2C bus
UART I2C
Status Lights
Battery
Monitor
BATTERY
IO
AD
UART
18. Extending Seamlessly to the Internet of Things 2014
Use Case: THOFU Project
Infrastructure controller
initializes I2C bus,
manages WiFi transceiver and messages between games
and the remote server,
establishes and controls the power system,
and use 3 lights to show its state.
Schematic, Board and Firmware in
https://github.com/joruiz/wireless-basedgames
19. Extending Seamlessly to the Internet of Things 2014
I2C peripherals: RFID Reader
Based on SM125-IC by SonMicro;
it implements I2C protocol by itself.
Arduino Library in https://github.com/joruiz/SM125
Schematic and Board in https://github.com/joruiz/ap2-rfidreader
20. Extending Seamlessly to the Internet of Things 2014
I2C peripherals: Sound Player
Based on SOMO-14D by 4D Systems;
This component does not implement I2C capabilities so;
includes an I2C to specific protocol adapter.
Schematic, Board, Firmware and Arduino Library
in https://github.com/joruiz/ap2-soundplayer
21. Extending Seamlessly to the Internet of Things 2014
I2C peripherals: Display + Buttons
Based on one µOLED display, by 4D Systems, and
five buttons.
Any device implements I2C protocol;
A microcontroller manages all devices and implements
the I2C protocol.
Schematic, Board, Firmware and Arduino Library
in https://github.com/joruiz/ap2-graphicdisplay
22. Extending Seamlessly to the Internet of Things 2014
Use Case: THOFU Project
The base of the prototype includes all the
infrastructure level.
RFID reader
Controller and
WiFi transceiver
Sound Player
Display + Buttons
I2C bus + power
Connector to Games
Power + I2C bus + UART
23. Extending Seamlessly to the Internet of Things 2014
TicTacToe
This game is composed by nine individual squares
and a main PCB with the microcontroller.
The game board can access the peripherals of the base
board (the RFID reader, the display and the WiFi
transceiver) using the I2C interface.
24. Extending Seamlessly to the Internet of Things 2014
Final prototype with Tic Tac Toe
Schematic, Board and Firmware in
https://github.com/aitoralmeida/wireless-tictactoe
25. Extending Seamlessly to the Internet of Things 2014
Future Work
We have developed others games:
The game of the goose.
An educational game for children.
The platform will be available to several last year
students in the engineering program
One of the students will integrate a Microchip
microcontroller in the architecture.
26. Extending Seamlessly to the Internet of Things 2014
Conclusions
Main advantages of the architecture presented:
Use standard and open interfaces.
Modular.
Scalable.
Flexible and easy communication system.
The work presented is the first stage for creation of
methodologies and tools to help developers to create
prototypes quickly.