2. FIWARE (IoT) Target: Developers
Context
Broker
App Logic
@FIWARE-Cloud
Desktop/Mobile/Tablet
User Interface
Web 3D GE / Advanced UI
Wirecloud GE / Dashboards
OAuth2.0
SANTANDER
SMARTSPACES
SEVILLA 2) IoT Providers. Pretty Heterogeneous solutions/skills.
• An incremental approach. Public/Private instances.
• KISS philosophy for most (web)developers.
• Advanced IoT architecture, e.g. for IoT Advanced
Devel.
1) IoT Consumers. Normally not just IoT.
• A single point, API & Protocol for IoT, OpenData, etc.
• Context: Data Entities + Data Entities events.
• A Public & Secured Ecosystem at FIWARE Lab
MultiMedia
Events
Complex
Event
Processing
IoT-Agents
(IDAS 3.0)
Smartcities
OpenData
BigData
Analytics
4. Consuming IoT Data: ContextBroker
4
Developers need to know/discover the Ecosystem conventions. Examples:
Developers may:
•Query an Entity (whole set or specific attributes) or Subscribe to changes of attributes of Entities.
•Discover all Entities (entity_IDs) or all Entities with a specific “type”.
•Discover all Entity types.
Full List of FIWARE Lab (Global Context Broker) conventions (section 3.5):
https://forge.fi-ware.org/plugins/mediawiki/wiki/fiware/index.php/Publish/Subscribe_Broker_-_Orion_Context_Broker_-_User_and_Programmers_Guide
My
FIWARE-App
Context
Broker
OAuth2.0
OMA NGSI10 - QueryContext
OMA NGSI10 - SubscribeContext
(type, entity_ID, attributes)
Entities
5. IoT Providers: Connect any “Thing”/System to FIWARE Lab
5
Context
Broker
OAuth2.0
Your IoT
IoT
Backend
Gateway GEs Backend GEs
NGSI9/10
A) NGSI Agent
B) IoT BE ( IoT-Agents)
C) Advanced Scenarios
UL2.0/HTTP, UL2.0/MQTT, LWM2M/CoAP
NGSI
Propietary
Zigbee
Zwave
CoAP/MTRunner
ETSIM2M
CoAP/LWM2M
NGSI
NGSI
6. IDAS 3.0 Gei within FIWARE Catalogue
6
http://wiki.fi-ware.org/Internet_of_Things_(IoT)_Services_Enablement_Architecture
IoT-Agents (IDAS)
7. IDAS3.0 - Modular architecture: IoT-Agents
•Monolithic vs Modular -> Easier Installation, Cloud Blueprints
•Coded in C++ vs Coded in any language -> Higher flexibility
•Extensibility via C++ plugins vs a new IoT Agent -> Easier to get
contribs/extensions
•Scalability by design
FIWARE Context Broker
IoT
Agent-UL2.0
IoT
Agent-TT
IoT
Agent-
lwm2m
IoT Agent
Manager
create/monitor
FIWARE IoT Backend
Device Management
OMA NGSI API (Developers’ Interface)
(southbound interfaces)
Thinking
Things
Ultralight2.0 OMA
LWM2M/IETF
CoAP
OMA NGSI API
BE Device
Management
(IDAS)
8. IoT-Agent-UltraLight2.0 (IDAS) – FIGWAY Python2.7 Tools
Testing /
Hackathons
https://github.com/telefonicaid/fiware-figway/
•Coded in Python. Tested with RaspberryPI, MACOS & Linux.
•Tools for (virtual) Sensors via IDAS IoT-Agent (Ultralight2.0)
•Tools to access a ContextBroker.
9. Annex I: FIGWAY - Configuration
figway/python/config.ini
[user]
# Please, configure here your username at FIWARE Cloud and a valid Oauth2.0
TOKEN for your user (you can use get_token.py to obtain a valid TOKEN).
username=
token=
[local]
#Choose here your System type. Examples: RaspberryPI, MACOSX, Linux, ...
host_type=RaspberryPI
# Here please add a unique identifier for you. Suggestion: the 3 lower hexa bytes of
your Ethernet MAC. E.g. 79:ed:af
# Also you may use your e-mail address.
host_id=3F:2A:1A
10. Annex I: FIGWAY – Registering a (UL2.0) Sensor
SensorsUL20/> python RegisterDevice.py [DEV_MODEL] [DEV NAME] [ASSET]
> python RegisterDevice.py SENSOR_TEMP Sensor1 Temperature-Madrid28001
* YOUR DEVICE details:
*** DEVICE ID = 3F:2A:1A:Sensor1
*** ASSET ID = 3F:2A:1A:Temperature-Madrid28001
* This device will be sent to the ContextBroker with the following configuration
*** Entity ID = SENSOR_TEMP.3F:2A:1A:Temperature-Madrid28001
*** Entity Type = Device
*** FIWARE_SERVICE = OpenIoT
…
* Status Code: 201
* Response:
14. Annex I: FIGWAY – What if I want to create other kind of sensors?
SensorsUL20/> python DiscoverModels.py
> Python DiscoverModels.py
* Asking to http://130.206.80.47:5371/m2m/v2/services/OpenIoT/models
* Headers: {'content-type': 'application/json', 'X-Auth-Token':
'Zvcg**********************************************************************qvD6g'}
…
* Status Code: 200
* Total Number of Models: 8
* Full List of Models:
SENSOR_HUM
SENSOR_LUM
SENSOR_MOV
SENSOR_TEMP
SENSOR_TEMP_test2
SENSOR_ZWAVE_4IN1
15. Annex I: FIGWAY – What if I want to create other kind of sensors? (II)
SensorsUL20/> python GetModel.py [MODEL_TYPE]
> python GetModel.py SENSOR_TEMP
** Asking to http://130.206.80.47:5371/m2m/v2/services/OpenIoT/models/SENSOR_TEMP
* Headers: {'content-type': 'application/json', 'X-Auth-Token':
'Zvcg**********************************************************************qvD6g'}
…
* Status Code: 200
{
"capabilities": [
{
"format": {
"alias": "t",
"type": "Quantity",
"name": "Temperature",
"uom": "celsius",
"phenomenon": "urn:x-ogc:def:phenomenon:IDAS:1.0:temperature"
},
16. Annex I: FIGWAY – What if I want to create other kind of sensors? (III)
SensorsUL20/> python CreateModel.py [MODEL_FILE]
> python CreateModel.py SENSOR_TEMP_2
** Asking to http://130.206.80.47:5371/m2m/v2/services/OpenIoT/models/SENSOR_TEMP_2
* Headers: {'content-type': 'application/json', 'X-Auth-Token':
'Zvcg**********************************************************************qvD6g'}
…
* Status Code: 201
18. Annex I: FIGWAY – What if I want to connect Actuators? (II)
SensorsUL20/> python RegisterDevice.py SWITCH lamp3 lamp3-Madrid
* YOUR DEVICE details:
*** DEVICE ID = 3F:2A:1A:lamp3
*** ASSET ID = 3F:2A:1A:lamp3-Madrid
* This device will be sent to the ContextBroker with the following configuration
*** Entity ID = SWITCH.3F:2A:1A:lamp3-Madrid
*** Entity Type = Device
*** FIWARE_SERVICE = OpenIoT
…
* Status Code: 201
29. FIWARE Community: Kick off @ CPE’13
29
1st
Prize………….SmartAds
Complete context-sensitive Ads solution developed
in just 4 days & nights.
Neelie Kroes FIWARE Lab Launch
Hackathon + Challenges Announcements
Massive, > 6K developers
Mainly young entrepreneurs
Talent
Day&Night
Involving developers, debugging, improving training sessions
30. FIWARE Community: Smartcities IoT Data & SMEs involvement
30
Smartcity resources exploitation, involve local market & public policies makers
1st
Prize………….MagicBox…………………………………………….….…..…TVs displaying Smartcities & Smartspaces.
2nd
Prize………….FI-BOT……………………………………………………..….…Robotics exploiting opendata & sensors.
3rd
Prize.…………OpenAlerts……..…..............................................Interfaces for citizens (mobile If-Then App).
4th
Prize………….Traffic Heatmap…..............................................Traffic routing based on city real-time Info.
Winning Teams
33 succeeded building a product-like working App (of 77 registered developers)
Several participants own a Start-up & keep on using FIWARE
31. FIWARE Community: Emerging IoT Trends fast
adoption
31
iBeacons in FI-WARE by Context Team.
•3rd
prize within SmartBusiness FIWARE challenge.
(Jan 2014 @ CPBR7 Sao Paulo)