SlideShare a Scribd company logo
1 of 60
Download to read offline
Open APIs for Open Minds
Fermín Galán Márquez (fermin@tid.es), Miguel Jimenez (mjimenez@fi.upm.es), Carlos Ralli (ralli@tid.es), Juanjo Hierro (jhierro@tid.es)
Telefónica I+D, Universidad Politécnica de Madrid
Developing your first application using FI-WARE
Let’s go into detail…
1
Architecture
2
NGSI IoT
Adapter
IoT Backend Device
Management
Browser
Context BrokerTicket Management
CEP
Wirecloud (javascript runtime)
widgets
Object Storage
History
Location
Wirecloud (server)
Cosmos
3
NGSI IoT
Adapter
IoT Backend Device
Management
Browser
Context BrokerTicket Management
CEP
Wirecloud (javascript runtime)
widgets
Object Storage
History
Location
Wirecloud (server)
Cosmos
Context Broker
Taking a closer look
4
Context Broker
Context
Producers
Context
Consumers
subscriptions
update
query
notify
notify
update
update
4
Ticket Management
Wirecloud Wirecloud
History
Ticket ManagementDB
1026
1026
The NGSI information model
5
Meta-data
• Name
• Type
• Value
Context Element attributes
• Name
• Type
• Value
Context Element
• EntityId
• EntityType
1 n 1 n
“has” “has”
(We are not fully supporting
metadata right now)
Node Lamps
Electrical Regulator
Vans
Technicians
Issues
location TimeInstant
severity batteryCharge
illuminance
presence
electricPotential
…and many more (look to app code)
Typical Orion broker utilization steps
registerContext
updateContext
queryContext
subscribeContext
Creating new
context elements
“Write” context
elements
information
To different ways
of “reading”
context elements
information
subscribeContext
Availability
Getting aware of new
context elements
discoverContext
Availability
Look for existing
context elements
NGSI9 operation (context availability)
NGSI10 operation (context information)
Context platform available at Campus Party
7
Context
Broker Echo
server
1026
1028
notify
Global instance at
orion.lab.fi-ware.eu
(at FI-LAB cloud)
(Only for
demonstration
purposes during the
workshop)
Context
Broker
LiveDemo testbed
Backend Device Management
Context
Broker
Context
Broker
Context
Broker…
notify
notify
updateContext
notify
Dedicated instances at
http://yourvm:1026
“FI-WARE Cloud: bringing
OpenStack to the next level”
workshop (Wed 10-12am)
Nodes
AMMS
Regulator
Vans
NGSI enabled
SensorsNGSI enabled
SensorsNGSI enabled
Sensors
Shared!!!
Wirecloud
8
NGSI IoT
Adapter
IoT Backend Device
Management
Browser
Context BrokerTicket Management
CEP
Wirecloud (javascript runtime)
widgets
Object Storage
History
Location
Wirecloud (server)
Cosmos
What is Wirecloud?
9
Backend
service Backend
service
Backend
service
Object Storage
API
NGSI API
Context
Broker
Catalogue of widgets and mashups
 Widget
 .wgt
Store API
Application
Mashup API
Local catalogue
widget
.wgt
What can I do with Wirecloud?
11
To create my own application mashup…
 Widgets and operators:
• Widgets can be developed with any Web technology (HTML, Flash, SVG…) that supports
JavaScript.
• Operators are coded in JavaScript
 Both widgets and operators can be easily adapted from existing ones, or created from scratch
 Open Widget API
• JavaScript API
• Core Widgets Functionality:
› gain access to external resources (cross-domain problem)
› wiring
› preferences
› …
12
How to develop a widget?
 Setting up the development environment
• Eclipse, VIM, etc...
• Creating the directory structure (WGT)
 Creating the widget:
• Create the template of the widget (config.xml)
• Widget view: an HTML file + CSS
• Widget app logic: JavaScript (using Widget API)
 Testing your widget
• Uploading the widget to Local Catalogue
› The WGT file is a ZIP file renamed to .wgt
• Add widget to a mashup
› Wiring, preferences, layout…
13
Widget structure
 config.xml
• definition of the widget (based on WDL)
 index.html
• main view file
• references JS and CSS resources
 /js
• directory for JavaScript files
 /css
• directory for CSS files
 /images
• directory for images
 /doc
• documentation
14
Config.xml
 The mandatory config.xml file contains the WDL XML template needed to tell Wirecloud what the
widget looks like. This includes:
• Widget metadata (non-functional properties)
• User preferences
• Widget inputs and outputs (wiring)
• Link to the actual widget source code
• Default rendering information
15
Config.xml example (I)
<?xml version="1.0" encoding="UTF-8"?>
<Template xmlns="http://wirecloud.conwet.fi.upm.es/ns/template#">
<Catalog.ResourceDescription>
<Vendor>Company distributing the widget</Vendor>
<Name>Widget name</Name>
<Version>0.0.1</Version>
<DisplayName>Widget Example</DisplayName>
<Author>mjimenez</Author>
<Mail>mjimenez@fi.upm.es</Mail>
<Description>Full widget description to be shown in catalogue</Description>
<ImageURI>Absolute or relative path to display image</ImageURI>
<iPhoneImageURI>Path to imate to display on mobile devices</iPhoneImageURI>
<WikiURI>Path to widget doc</WikiURI>
</Catalog.ResourceDescription>
16
Config.xml example (II)
<Platform.Preferences>
<Preference name=”pref_name" type="text" description="…" />
</Platform.Preferences>
<Platform.Wiring>
<OutputEndpoint name="identifier"
type="text" label="Label to show on wiring"
description="description"
friendcode="same as compatible input endpoint friendcode"/>
<InputEndpoint name="identifier"
type="text" label="Label to show on wiring"
description="description"
friendcode="same as compatible output endpoint friendcode"/>
</Platform.Wiring>
<Platform.Link>
<XHTML href="index.html"/>
</Platform.Link>
<Platform.Rendering width="6" height="24"/>
</Template>
17
index.html example
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="js/main.js"></script>
<link rel="stylesheet" type="text/css" href="css/style.css" />
</head>
<body>
<!– Create here or create by JavaScript ->
</body>
</html>
18
Using the Open Widget API
 Accessing widget preferences
MashupPlatform.prefs.get("google_key")
MashupPlatform.prefs.set("color", "red")
MashupPlatform.prefs.registerCallback(callbackFunction)
 Getting user login name
MashupPlatform.context.get("username");
19
Wiring endpoints
 Declaration on config.xml
<Platform.Wiring>
<InputEndpoint name="my_input_name" type="text" label="my_label"
description="my_description" friendcode="some_code" />
<OutputEndpoint name="my_output_name" type="text" label="label"
description="description" friendcode="url"/>
</Platform.Wiring>
 Input endpoints
MashupPlatform.wiring.registerCallback("my_input_name", inputListener);
 Output endpoints
MashupPlatform.wiring.pushEvent("my_output_name", data);
20
Making a cross-domain HTTP request
 Perform the invocation and register asynchronous call-backs:
MashupPlatform.http.makeRequest(url, {
method: 'GET',
onSuccess: function (transport) {
var response;
response = JSON.parse(transport.responseText);
...
},
onFailure: function (transport) {
onError();
}
});
21
Connecting a widget to NGSI
 Register NGSI usage on config.xml
<Requirements> <Feature name="NGSI"/> </Requirements>
 Send a notification through NGSI
var connection = new NGSI.Connection('http://orion.lab.fi-ware.eu');
connection.updateAttributes([{
entity: {
id: 'iss8',
type: 'Issue'
},
attributes:[{
name: 'technician',
contextValue: 'tech1'
}]
}], {
onSuccess: function () { //… },
onFailure: function () { //… }
});
22
Connecting a widget to NGSI
 Subscribe for notifications on certain entities
var entityIdList = [
{type: 'Van', id: '.*', isPattern: true},
{type: 'Technician', id: '.*', isPattern: true}
];
var attributeList = null; var duration = 'PT3H'; var throttling = null;
var notifyConditions = [{
type: 'ONCHANGE', condValues: ['name', 'current_position']
}];
var options = {
flat: true,
onNotify: process_entities,
onSuccess: function (data) {
subscriptionId = data.subscriptionId;
refresh_interval = setInterval(refreshNGSISubscript, 1000*60*60*2);//2 hours
}
};
connection.createSubscription(entityIdList, attributeList, duration, throttling,
notifyConditions, options);
23
Using Object Storage from a widget
 Register Object Storage usage on config.xml
<Requirements> <Feature name="ObjectStorage"/> </Requirements>
 Upload a file
var object_storage = new ObjectStorageAPI(’<Object Storage instance url>');
var fileParts = ["<a id="a"><b id="b">hey!</b></a>"];
var myBlob = new Blob(fileParts, { "type" : "text/xml" });
object_storage.uploadFile('folder_name', myBlob, token, {
file_name: 'myFile.xml',
onSuccess: function () {
alert('File uploaded successfully');
},
onFailure: function () {
alert('Something went wrong while uploading the file');
}
});
24
Uploading your widget
 Compress (zip) the widget contents
• Rename it as a .wgt file
 Upload the WGT file to Local Catalogue through WireCloud web interface
25
Wiring your widget
26
Resources
 You can always find the most updated documentation of Wirecloud in:
• http://conwet.fi.upm.es/wirecloud
 User and Programmer Guide:
• https://forge.fi-ware.eu/plugins/mediawiki/wiki/fiware/index.php/Composition_Editor_-
_Wirecloud_Mashup_Platform_-_User_and_Programmer_Guide
 Installation and Administration Guide:
• https://forge.fi-ware.eu/plugins/mediawiki/wiki/fiware/index.php/Composition_Editor_-
_Wirecloud_Mashup_Platform_-_Installation_and_Administration_Guide
 Download from Github:
• Wirecloud source code: https://github.com/Wirecloud/wirecloud
• Widget's source code of FIWARE's Live Demo mashable application component):
https://github.com/wirecloud-fiware/live-demo-macs
 Stuff for this workshop
• http://tinyurl.com/fiware-dropbox
27
https://mashup.lab.fi-ware.eu
Online videos
 FIWARE Live Demo: http://www.youtube.com/watch?v=Wh_zPsLUg-8
 ENVIROFI Demo: https://www.youtube.com/watch?v=yEXlLQYq7s4
 Other videos:
• http://www.youtube.com/embed/d7_EG42AHJw - Building a mashup from Geowidgets linked to
geospatial services.
• http://www.youtube.com/embed/urDGWSnrbtE - Using operators in a mashup to allow widgets
to send tweets
• http://www.youtube.com/embed/kW0sXMxgMLI - An example of integration with the marketplace
and the catalogue GEs
28
Sensors
29
NGSI IoT
Adapter
IoT Backend Device
Management
Browser
Context BrokerTicket Management
CEP
Wirecloud (javascript runtime)
widgets
Object Storage
History
Location
Wirecloud (server)
Cosmos
FI-WARE IoT Extended Platform Vision
Plug IoT world to FI-WARE via NGSI notifications.
FI-WARE IoT Functional Architecture (Target)
FI-WARE IoT Challenge Architecture
z-way server (Razberry HW)
fizway
fizway_switchd
fizway_register
registerdevice
addobservation
sendobservation
CONTEXT
BROKER IDAS
FIZWAY
FIGWAY
Devices
SensorML
NGSI9 (Register)
NGSI10 (Observations)
SensorML
Connecting a basic z-wave pack
http://m2m.telefonica.com
(A) SensorMLNGSI (B)
IDAS
CONTEXT
BROKER
Observations
Register
Obs.
Query
Download the PI image with FIGWAY software at: http://tinyurl.com/figway-img
HOW-TO Get Started - Z-wave basic pack
34
0) You need: a RaspberryPI + Razbian card plugged in its GPIO
1) Include your z-wave devices into your z-wave network
Complete your sensor details in our “IoT Challenge HUB doc”
https://docs.google.com/spreadsheet/ccc?key=0ArcymbqnpOfkdGNYUkpaTF9qRVhkOTFIYW14SkxaZ1E#gid=0
2) Edit "fizway_resgister” & "fizway" scripts
Update the Device_ID number of your sensors.
3) Edit the file SensorML/Register_SWITCH
Update the line containing the callback URL:
"<swe:value>http://1.0.0.1:9999</swe:value>”
-> Instead of 1.0.0.1 put the RaspberryPI public IP address
-> Instead of 9999 set the port the switch daemon will be listening (normally, 7777)
4) Check & Edit -if necessary- the figway "Config" file.
Normally, modifications aren't needed so you can skip (4).
A Config.example file is provided and comments should make this task really easy.
5) Register all your working sensors by executing
>./fizway_register
6) Launch the script to interconnect your sensors to FI-WARE IoT Backend:
>./fizway &
0) Mount RaspberryPI + Razbian
35
0.2) Flash FIGWAY.img & Get IP address
36
1) Include devices into a z-wave Network
37
EXCLUDE
- Razberry exclusion mode
- Press 4IN1 inclusion button
INCLUDE
- Razberry inclusion mode
- Press 4IN1 Inclusion button
CONFIGURATION
- Select profile Aeon multisensor 1.18
- Press 4IN1 inclusion button 3 times
- Configure to send Group1 all obs (720s)
1) Include devices into a z-wave Network
EXCLUDE
- Razberry exclusion mode
- Press KEYFOB 4 buttons 5sec (led slow blink)
- Press button “1”, (try twice if it doesn’t work)
INCLUDE
- Razberry inclusion mode
- Press KEYFOB 4 buttons 5sec (led slow blink)
- Press button “1”
CONFIGURATION
- Configure remote KeyFob
To apply config: WAKE-UP Device
Press KEYFOB 4 buttons 5sec
- Press button “2” (Try twice)
Buttons in pair mode(1-3, 2-4):
-> SEPARATELY
Groups to send:
-> SWITCH ON/OFF ONLY (SEND BASIC SET)
1) Include devices into a z-wave Network
39
EXCLUDE
- Razberry exclude mode
- Switch ON
- Press ON/OFF 3 times between 1,5sec
INCLUDE
- Razberry inclusion mode
- Switch ON
- Press ON/OFF 3 times between 1,5sec
NO CONFIG is needed.
ALL DEVICES INCLUDED.
DEVICES IDs SHOWN:
2 (4IN1), 3 (KEYFOB) , 4 (SWITCH)
1) Include devices into a z-wave Network
40
CONFIGURATION
- Select Zwave Description Record:
Wintop iLED
EXCLUDE
- Razberry exclude mode
- Switch ON (use a screw-driver)
- Press ON 3 times between 1,5sec
INCLUDE
- Razberry exclude mode
- Switch ON (use a screw-driver)
- Press ON 3 times between 1,5sec
1) Include devices into a z-wave Network
41
Provide your sensors to all: “IoT Challenge HUB doc”
https://docs.google.com/spreadsheet/ccc?key=0ArcymbqnpOfkdGNYUkpaTF9qRVhkOTFIYW14SkxaZ1E#gid=0
SHARE SENSORs IS A MUST
SHARE SWITCHES IS OPTIONAL
2) Edit "fizway_resgister” & "fizway" scripts
42
Update correct IDs of your z-wave network (only for Devices you have)
Actuators ports should be: 7777, 7778, etc.
-> Update scripts “fizway_resgister” and “fizway”.
3) Configure the SWITCH to receive commands
43
Set the IPv4 Address of your Raspberry PI. Port is SWITCH one (7777).
4) Check & Edit the figway "Config" file
44
Pre-configured for IoT Challenge. No modifications are needed.
5) Register all working devices in the Backend
45
Launch de script “./fizway_resgister”
For every device you’ll see a similar output as shown above.
If it works, your devices are correctly register in the IDAS Backend.
If it fails, increasing DEBUG level in the “Config” file helps a lot.
6) Launch fizway script
46
Launch de script “./fizway &”
You may redirect the output to a log file if you’ close the window:
“./fizway >> ./fizway_log &”
You’ll see:
- Devices you are listening to and their Device Number (z-wave network ID).
- Daemons listening for Actuators commands coming from the Backend.
47
Building your Fi-WARE IoT Apps
47
1) IDAS ADMIN API – Check Services, Subscriptions & Details
2) IDAS ADMIN API – Check Devices & Details
3) IDAS ADMIN API – Send a command to a z-wave Switch
4) IDAS ADMIN API - Subscribe your App to Devices Notifications
5) IDAS (or Global Context Broker) NGSI API – Get last observations of a device
6) WIRECLOUD API - Connect a Wirecloud widget
48
Building your Fi-WARE IoT Apps
48
1) IDAS ADMIN API – Check Services, Subscriptions to Service & Service Details
49
Building your Fi-WARE IoT Apps
49
2) IDAS ADMIN API – Check Devices & Device Details
50
Building your Fi-WARE IoT Apps
50
3) IDAS ADMIN API – Send a command to a z-wave Switch
COMMANDs TO SWITCHES/DIMMERS
Follow “sendcommand” example.
Send: “FIZCOMMAND N”
N: 0-255. 0 = off, 255 = on
51
Building your Fi-WARE IoT Apps
51
4) IDAS ADMIN API – Send a command to a z-wave Switch
52
Building your Fi-WARE IoT Apps
52
5) IDAS NGSI API – Get last observations of a device
53
Building your Fi-WARE IoT Apps
53
6) WIRECLOUD API - Connect a Wirecloud widget
ANNEX: where to find more docs
54
- IDAS APIs
http://www.fi-ware.eu
- z-way server:
http://en.z-wave.me/docs/zway_manual_en.pdf
- Aeon 4IN1 Manual
http://www.smarthus.info/support/manuals/zw_sikkerhet/aeotec_multisensor_tech.pdf
- Zwave.me KeyFob
https://www.uk-automation.co.uk/pdf/zwavemekeyfob.pdf
- Everspring Switch/Dimmer
http://doc.eedomus.com/files/EVR_AN158%20MANUEL%20US.pdf
- Fibaro RGB SWITCH
http://www.fibaro.com/manuals/en/FGRGBWM-441-RGBW-Controller/FGRGBWM-441-RGBW-
Controller-en-2.1-2.3.pdf
Object Storage
55
NGSI IoT
Adapter
IoT Backend Device
Management
Browser
Context BrokerTicket Management
CEP
Wirecloud (javascript runtime)
widgets
Object Storage
History
Location
Wirecloud (server)
Cosmos
• More info at “FI-WARE Cloud: bringing OpenStack to the next
level” workshop (Wed 10-12am)
• Contact Person: John Kennedy
<john.m.kennedy at intel dot com >
Cosmos
56
NGSI IoT Adapter
IoT Backend Device
Management
Browser
Context BrokerTicket Management
CEP
Wirecloud (javascript runtime)
widgets
Object Storage
History
Location
Wirecloud (server)
Cosmos
• Have a look to http://tinyurl.com/c0sm0s
• Contact Person: Francisco Romero
<frb at tid dot es>
Extending Live Demo
57
NGSI IoT
Adapter
IoT Backend Device
Management
Browser
Context BrokerTicket Management
CEP
Wirecloud (javascript runtime)
widgets
Object Storage
History
Location
Wirecloud (server)
Cosmos
https://github.com/telefonicaid/fiware-livedemoapp
https://github.com/wirecloud-fiware/historymod
https://github.com/wirecloud-fiware/live-demo-macs
Useful additional references
Workshop Homepage http://tinyurl.com/fiware-cp-ws1
• Long URL: http://www.fi-ware.eu/campus-party-europedeveloping-your-first-
application-workshop
The FI-WARE Catalogue http://catalogue.fi-ware.eu
• With information about FI-WARE GEis, e.g. Orion Context Broker, Wirecloud,
etc.
Dropbox for Workshop stuff: http://tinyurl.com/fiware-dropbox
Dropbox for Raspberry Pi image: http://tinyurl.com/figway-img
• Use the following as backup in case of problems: http://130.206.82.17
58
 http://fi-ppp.eu
 http://fi-ware.eu
 Follow @Fiware on Twitter !
Thanks !
59

More Related Content

What's hot

Io t idas_intro_ul20_nobkg
Io t idas_intro_ul20_nobkgIo t idas_intro_ul20_nobkg
Io t idas_intro_ul20_nobkgFIWARE
 
Fiware IoT_IDAS_intro_ul20_v2
Fiware IoT_IDAS_intro_ul20_v2Fiware IoT_IDAS_intro_ul20_v2
Fiware IoT_IDAS_intro_ul20_v2FIWARE
 
Orion Context Broker webminar 2014-04-01
Orion Context Broker webminar 2014-04-01Orion Context Broker webminar 2014-04-01
Orion Context Broker webminar 2014-04-01Fermin Galan
 
A Complete IoT Backend Infrastructure in FIWARE
A Complete IoT Backend Infrastructure in FIWAREA Complete IoT Backend Infrastructure in FIWARE
A Complete IoT Backend Infrastructure in FIWAREFIWARE
 
FIWARE: Managing Context Information at large scale
FIWARE: Managing Context Information at large scaleFIWARE: Managing Context Information at large scale
FIWARE: Managing Context Information at large scaleFermin Galan
 
FIWARE Overview of Generic Enablers
FIWARE Overview of Generic EnablersFIWARE Overview of Generic Enablers
FIWARE Overview of Generic EnablersMiguel González
 
Orion Context Broker workshop (CPMX5)
Orion Context Broker workshop (CPMX5)Orion Context Broker workshop (CPMX5)
Orion Context Broker workshop (CPMX5)Fermin Galan
 
FIWARE Developers Week_FIWARE IoT: Beginner's tutorial_conference
 FIWARE Developers Week_FIWARE IoT: Beginner's tutorial_conference FIWARE Developers Week_FIWARE IoT: Beginner's tutorial_conference
FIWARE Developers Week_FIWARE IoT: Beginner's tutorial_conferenceFIWARE
 
Fiware Developers Week Iot exercises (Advanced)
Fiware Developers Week Iot exercises (Advanced)Fiware Developers Week Iot exercises (Advanced)
Fiware Developers Week Iot exercises (Advanced)dmoranj
 
FIWARE NGSI: Managing Context Information at Large Scale
FIWARE NGSI: Managing Context Information at Large ScaleFIWARE NGSI: Managing Context Information at Large Scale
FIWARE NGSI: Managing Context Information at Large ScaleFIWARE
 
FIWARE IoT Proposal & Community
FIWARE IoT Proposal & CommunityFIWARE IoT Proposal & Community
FIWARE IoT Proposal & CommunityFIWARE
 
FIWARE Tech Summit - FIWARE NGSIv2 Introduction
FIWARE Tech Summit - FIWARE NGSIv2 IntroductionFIWARE Tech Summit - FIWARE NGSIv2 Introduction
FIWARE Tech Summit - FIWARE NGSIv2 IntroductionFIWARE
 
FIWARE Developers Week_IoT basic exercises
FIWARE Developers Week_IoT basic exercisesFIWARE Developers Week_IoT basic exercises
FIWARE Developers Week_IoT basic exercisesFIWARE
 
FIWARE Developers Week_BootcampWeBUI_presentation1
FIWARE Developers Week_BootcampWeBUI_presentation1FIWARE Developers Week_BootcampWeBUI_presentation1
FIWARE Developers Week_BootcampWeBUI_presentation1FIWARE
 

What's hot (19)

Io t idas_intro_ul20_nobkg
Io t idas_intro_ul20_nobkgIo t idas_intro_ul20_nobkg
Io t idas_intro_ul20_nobkg
 
FIWARE Context Broker
FIWARE Context BrokerFIWARE Context Broker
FIWARE Context Broker
 
Fiware IoT_IDAS_intro_ul20_v2
Fiware IoT_IDAS_intro_ul20_v2Fiware IoT_IDAS_intro_ul20_v2
Fiware IoT_IDAS_intro_ul20_v2
 
Orion Context Broker webminar 2014-04-01
Orion Context Broker webminar 2014-04-01Orion Context Broker webminar 2014-04-01
Orion Context Broker webminar 2014-04-01
 
A Complete IoT Backend Infrastructure in FIWARE
A Complete IoT Backend Infrastructure in FIWAREA Complete IoT Backend Infrastructure in FIWARE
A Complete IoT Backend Infrastructure in FIWARE
 
Introduction to FIWARE Open Ecosystem
Introduction to FIWARE Open EcosystemIntroduction to FIWARE Open Ecosystem
Introduction to FIWARE Open Ecosystem
 
FIWARE: Managing Context Information at large scale
FIWARE: Managing Context Information at large scaleFIWARE: Managing Context Information at large scale
FIWARE: Managing Context Information at large scale
 
FIWARE Overview of Generic Enablers
FIWARE Overview of Generic EnablersFIWARE Overview of Generic Enablers
FIWARE Overview of Generic Enablers
 
Orion Context Broker workshop (CPMX5)
Orion Context Broker workshop (CPMX5)Orion Context Broker workshop (CPMX5)
Orion Context Broker workshop (CPMX5)
 
FIWARE Developers Week_FIWARE IoT: Beginner's tutorial_conference
 FIWARE Developers Week_FIWARE IoT: Beginner's tutorial_conference FIWARE Developers Week_FIWARE IoT: Beginner's tutorial_conference
FIWARE Developers Week_FIWARE IoT: Beginner's tutorial_conference
 
Fiware, the future internet
Fiware, the future internetFiware, the future internet
Fiware, the future internet
 
Fiware Developers Week Iot exercises (Advanced)
Fiware Developers Week Iot exercises (Advanced)Fiware Developers Week Iot exercises (Advanced)
Fiware Developers Week Iot exercises (Advanced)
 
FIWARE NGSI: Managing Context Information at Large Scale
FIWARE NGSI: Managing Context Information at Large ScaleFIWARE NGSI: Managing Context Information at Large Scale
FIWARE NGSI: Managing Context Information at Large Scale
 
FIWARE IoT Proposal & Community
FIWARE IoT Proposal & CommunityFIWARE IoT Proposal & Community
FIWARE IoT Proposal & Community
 
FIWARE Tech Summit - FIWARE NGSIv2 Introduction
FIWARE Tech Summit - FIWARE NGSIv2 IntroductionFIWARE Tech Summit - FIWARE NGSIv2 Introduction
FIWARE Tech Summit - FIWARE NGSIv2 Introduction
 
FIWARE Developers Week_IoT basic exercises
FIWARE Developers Week_IoT basic exercisesFIWARE Developers Week_IoT basic exercises
FIWARE Developers Week_IoT basic exercises
 
FIWARE Developers Week_BootcampWeBUI_presentation1
FIWARE Developers Week_BootcampWeBUI_presentation1FIWARE Developers Week_BootcampWeBUI_presentation1
FIWARE Developers Week_BootcampWeBUI_presentation1
 
FIWARE IoT Introduction 1
FIWARE IoT Introduction 1FIWARE IoT Introduction 1
FIWARE IoT Introduction 1
 
FIWARE Internet of Things
FIWARE Internet of ThingsFIWARE Internet of Things
FIWARE Internet of Things
 

Similar to Developing your first application using FI-WARE

Developing your first application using FIWARE
Developing your first application using FIWAREDeveloping your first application using FIWARE
Developing your first application using FIWAREFIWARE
 
Nuxeo - OpenSocial
Nuxeo - OpenSocialNuxeo - OpenSocial
Nuxeo - OpenSocialThomas Roger
 
WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...Fabio Franzini
 
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0Arun Gupta
 
[Srijan Wednesday Webinars] Ruling Drupal 8 with #d8rules
[Srijan Wednesday Webinars] Ruling Drupal 8 with #d8rules[Srijan Wednesday Webinars] Ruling Drupal 8 with #d8rules
[Srijan Wednesday Webinars] Ruling Drupal 8 with #d8rulesSrijan Technologies
 
4 the 3rd party libraries
4 the 3rd party libraries4 the 3rd party libraries
4 the 3rd party librariesjavadch
 
Jetpack, with new features in 2021 GDG Georgetown IO Extended
Jetpack, with new features in 2021 GDG Georgetown IO ExtendedJetpack, with new features in 2021 GDG Georgetown IO Extended
Jetpack, with new features in 2021 GDG Georgetown IO ExtendedToru Wonyoung Choi
 
Building the an End-to-End ASP.NET MVC 4, Entity Framework, HTML5, jQuery app...
Building the an End-to-End ASP.NET MVC 4, Entity Framework, HTML5, jQuery app...Building the an End-to-End ASP.NET MVC 4, Entity Framework, HTML5, jQuery app...
Building the an End-to-End ASP.NET MVC 4, Entity Framework, HTML5, jQuery app...Dan Wahlin
 
TechDays 2013 Jari Kallonen: What's New WebForms 4.5
TechDays 2013 Jari Kallonen: What's New WebForms 4.5TechDays 2013 Jari Kallonen: What's New WebForms 4.5
TechDays 2013 Jari Kallonen: What's New WebForms 4.5Tieturi Oy
 
Building Modern Apps using Android Architecture Components
Building Modern Apps using Android Architecture ComponentsBuilding Modern Apps using Android Architecture Components
Building Modern Apps using Android Architecture ComponentsHassan Abid
 
Build powerfull and smart web applications with Symfony2
Build powerfull and smart web applications with Symfony2Build powerfull and smart web applications with Symfony2
Build powerfull and smart web applications with Symfony2Hugo Hamon
 
Web Standards Support in WebKit
Web Standards Support in WebKitWeb Standards Support in WebKit
Web Standards Support in WebKitJoone Hur
 
droidQuery: The Android port of jQuery
droidQuery: The Android port of jQuerydroidQuery: The Android port of jQuery
droidQuery: The Android port of jQueryPhDBrown
 
The Best Way to Become an Android Developer Expert with Android Jetpack
The Best Way to Become an Android Developer Expert  with Android JetpackThe Best Way to Become an Android Developer Expert  with Android Jetpack
The Best Way to Become an Android Developer Expert with Android JetpackAhmad Arif Faizin
 
RESTful Web Applications with Apache Sling
RESTful Web Applications with Apache SlingRESTful Web Applications with Apache Sling
RESTful Web Applications with Apache SlingBertrand Delacretaz
 
混搭移动开发:PhoneGap+JQurey+Dreamweaver
混搭移动开发:PhoneGap+JQurey+Dreamweaver混搭移动开发:PhoneGap+JQurey+Dreamweaver
混搭移动开发:PhoneGap+JQurey+Dreamweaveryangdj
 
After max+phonegap
After max+phonegapAfter max+phonegap
After max+phonegapyangdj
 
Dojo - from web page to web apps
Dojo - from web page to web appsDojo - from web page to web apps
Dojo - from web page to web appsyoavrubin
 
Vaadin 7 CN
Vaadin 7 CNVaadin 7 CN
Vaadin 7 CNjojule
 
20141002 delapsley-socalangularjs-final
20141002 delapsley-socalangularjs-final20141002 delapsley-socalangularjs-final
20141002 delapsley-socalangularjs-finalDavid Lapsley
 

Similar to Developing your first application using FI-WARE (20)

Developing your first application using FIWARE
Developing your first application using FIWAREDeveloping your first application using FIWARE
Developing your first application using FIWARE
 
Nuxeo - OpenSocial
Nuxeo - OpenSocialNuxeo - OpenSocial
Nuxeo - OpenSocial
 
WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...
 
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0
 
[Srijan Wednesday Webinars] Ruling Drupal 8 with #d8rules
[Srijan Wednesday Webinars] Ruling Drupal 8 with #d8rules[Srijan Wednesday Webinars] Ruling Drupal 8 with #d8rules
[Srijan Wednesday Webinars] Ruling Drupal 8 with #d8rules
 
4 the 3rd party libraries
4 the 3rd party libraries4 the 3rd party libraries
4 the 3rd party libraries
 
Jetpack, with new features in 2021 GDG Georgetown IO Extended
Jetpack, with new features in 2021 GDG Georgetown IO ExtendedJetpack, with new features in 2021 GDG Georgetown IO Extended
Jetpack, with new features in 2021 GDG Georgetown IO Extended
 
Building the an End-to-End ASP.NET MVC 4, Entity Framework, HTML5, jQuery app...
Building the an End-to-End ASP.NET MVC 4, Entity Framework, HTML5, jQuery app...Building the an End-to-End ASP.NET MVC 4, Entity Framework, HTML5, jQuery app...
Building the an End-to-End ASP.NET MVC 4, Entity Framework, HTML5, jQuery app...
 
TechDays 2013 Jari Kallonen: What's New WebForms 4.5
TechDays 2013 Jari Kallonen: What's New WebForms 4.5TechDays 2013 Jari Kallonen: What's New WebForms 4.5
TechDays 2013 Jari Kallonen: What's New WebForms 4.5
 
Building Modern Apps using Android Architecture Components
Building Modern Apps using Android Architecture ComponentsBuilding Modern Apps using Android Architecture Components
Building Modern Apps using Android Architecture Components
 
Build powerfull and smart web applications with Symfony2
Build powerfull and smart web applications with Symfony2Build powerfull and smart web applications with Symfony2
Build powerfull and smart web applications with Symfony2
 
Web Standards Support in WebKit
Web Standards Support in WebKitWeb Standards Support in WebKit
Web Standards Support in WebKit
 
droidQuery: The Android port of jQuery
droidQuery: The Android port of jQuerydroidQuery: The Android port of jQuery
droidQuery: The Android port of jQuery
 
The Best Way to Become an Android Developer Expert with Android Jetpack
The Best Way to Become an Android Developer Expert  with Android JetpackThe Best Way to Become an Android Developer Expert  with Android Jetpack
The Best Way to Become an Android Developer Expert with Android Jetpack
 
RESTful Web Applications with Apache Sling
RESTful Web Applications with Apache SlingRESTful Web Applications with Apache Sling
RESTful Web Applications with Apache Sling
 
混搭移动开发:PhoneGap+JQurey+Dreamweaver
混搭移动开发:PhoneGap+JQurey+Dreamweaver混搭移动开发:PhoneGap+JQurey+Dreamweaver
混搭移动开发:PhoneGap+JQurey+Dreamweaver
 
After max+phonegap
After max+phonegapAfter max+phonegap
After max+phonegap
 
Dojo - from web page to web apps
Dojo - from web page to web appsDojo - from web page to web apps
Dojo - from web page to web apps
 
Vaadin 7 CN
Vaadin 7 CNVaadin 7 CN
Vaadin 7 CN
 
20141002 delapsley-socalangularjs-final
20141002 delapsley-socalangularjs-final20141002 delapsley-socalangularjs-final
20141002 delapsley-socalangularjs-final
 

More from Fermin Galan

Orion Context Broker introduction 20240227
Orion Context Broker introduction 20240227Orion Context Broker introduction 20240227
Orion Context Broker introduction 20240227Fermin Galan
 
Orion Context Broker introduction 20240115
Orion Context Broker introduction 20240115Orion Context Broker introduction 20240115
Orion Context Broker introduction 20240115Fermin Galan
 
Orion Context Broker 20230606
Orion Context Broker 20230606Orion Context Broker 20230606
Orion Context Broker 20230606Fermin Galan
 
Orion Context Broker 20230602
Orion Context Broker 20230602Orion Context Broker 20230602
Orion Context Broker 20230602Fermin Galan
 
Orion Context Broker 20221220
Orion Context Broker 20221220Orion Context Broker 20221220
Orion Context Broker 20221220Fermin Galan
 
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...Fermin Galan
 
Orion Context Broker 20220526
Orion Context Broker 20220526Orion Context Broker 20220526
Orion Context Broker 20220526Fermin Galan
 
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...Fermin Galan
 
Orion Context Broker 20220301
Orion Context Broker 20220301Orion Context Broker 20220301
Orion Context Broker 20220301Fermin Galan
 
Orion Context Broker 20220127
Orion Context Broker 20220127Orion Context Broker 20220127
Orion Context Broker 20220127Fermin Galan
 
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...Fermin Galan
 
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...Fermin Galan
 
Orion Context Broker 20211209
Orion Context Broker 20211209Orion Context Broker 20211209
Orion Context Broker 20211209Fermin Galan
 
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...Fermin Galan
 
Orion Context Broker 20211022
Orion Context Broker 20211022Orion Context Broker 20211022
Orion Context Broker 20211022Fermin Galan
 
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...Fermin Galan
 
Orion Context Broker 20210907
Orion Context Broker 20210907Orion Context Broker 20210907
Orion Context Broker 20210907Fermin Galan
 
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...Fermin Galan
 
Orion Context Broker 20210602
Orion Context Broker 20210602Orion Context Broker 20210602
Orion Context Broker 20210602Fermin Galan
 
Orion Context Broker NGSI-v2 Overview for Developers That Already Know Ngsi-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know Ngsi-v...Orion Context Broker NGSI-v2 Overview for Developers That Already Know Ngsi-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know Ngsi-v...Fermin Galan
 

More from Fermin Galan (20)

Orion Context Broker introduction 20240227
Orion Context Broker introduction 20240227Orion Context Broker introduction 20240227
Orion Context Broker introduction 20240227
 
Orion Context Broker introduction 20240115
Orion Context Broker introduction 20240115Orion Context Broker introduction 20240115
Orion Context Broker introduction 20240115
 
Orion Context Broker 20230606
Orion Context Broker 20230606Orion Context Broker 20230606
Orion Context Broker 20230606
 
Orion Context Broker 20230602
Orion Context Broker 20230602Orion Context Broker 20230602
Orion Context Broker 20230602
 
Orion Context Broker 20221220
Orion Context Broker 20221220Orion Context Broker 20221220
Orion Context Broker 20221220
 
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
 
Orion Context Broker 20220526
Orion Context Broker 20220526Orion Context Broker 20220526
Orion Context Broker 20220526
 
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
 
Orion Context Broker 20220301
Orion Context Broker 20220301Orion Context Broker 20220301
Orion Context Broker 20220301
 
Orion Context Broker 20220127
Orion Context Broker 20220127Orion Context Broker 20220127
Orion Context Broker 20220127
 
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
 
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
 
Orion Context Broker 20211209
Orion Context Broker 20211209Orion Context Broker 20211209
Orion Context Broker 20211209
 
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
 
Orion Context Broker 20211022
Orion Context Broker 20211022Orion Context Broker 20211022
Orion Context Broker 20211022
 
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
 
Orion Context Broker 20210907
Orion Context Broker 20210907Orion Context Broker 20210907
Orion Context Broker 20210907
 
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
 
Orion Context Broker 20210602
Orion Context Broker 20210602Orion Context Broker 20210602
Orion Context Broker 20210602
 
Orion Context Broker NGSI-v2 Overview for Developers That Already Know Ngsi-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know Ngsi-v...Orion Context Broker NGSI-v2 Overview for Developers That Already Know Ngsi-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know Ngsi-v...
 

Recently uploaded

Employablity presentation and Future Career Plan.pptx
Employablity presentation and Future Career Plan.pptxEmployablity presentation and Future Career Plan.pptx
Employablity presentation and Future Career Plan.pptxryandux83rd
 
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...Nguyen Thanh Tu Collection
 
4.9.24 School Desegregation in Boston.pptx
4.9.24 School Desegregation in Boston.pptx4.9.24 School Desegregation in Boston.pptx
4.9.24 School Desegregation in Boston.pptxmary850239
 
How to Manage Buy 3 Get 1 Free in Odoo 17
How to Manage Buy 3 Get 1 Free in Odoo 17How to Manage Buy 3 Get 1 Free in Odoo 17
How to Manage Buy 3 Get 1 Free in Odoo 17Celine George
 
Congestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationCongestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationdeepaannamalai16
 
4.9.24 Social Capital and Social Exclusion.pptx
4.9.24 Social Capital and Social Exclusion.pptx4.9.24 Social Capital and Social Exclusion.pptx
4.9.24 Social Capital and Social Exclusion.pptxmary850239
 
Narcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfNarcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfPrerana Jadhav
 
4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptx4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptxmary850239
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmStan Meyer
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptshraddhaparab530
 
MS4 level being good citizen -imperative- (1) (1).pdf
MS4 level   being good citizen -imperative- (1) (1).pdfMS4 level   being good citizen -imperative- (1) (1).pdf
MS4 level being good citizen -imperative- (1) (1).pdfMr Bounab Samir
 
Scientific Writing :Research Discourse
Scientific  Writing :Research  DiscourseScientific  Writing :Research  Discourse
Scientific Writing :Research DiscourseAnita GoswamiGiri
 
Comparative Literature in India by Amiya dev.pptx
Comparative Literature in India by Amiya dev.pptxComparative Literature in India by Amiya dev.pptx
Comparative Literature in India by Amiya dev.pptxAvaniJani1
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
An Overview of the Calendar App in Odoo 17 ERP
An Overview of the Calendar App in Odoo 17 ERPAn Overview of the Calendar App in Odoo 17 ERP
An Overview of the Calendar App in Odoo 17 ERPCeline George
 
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...DhatriParmar
 

Recently uploaded (20)

Chi-Square Test Non Parametric Test Categorical Variable
Chi-Square Test Non Parametric Test Categorical VariableChi-Square Test Non Parametric Test Categorical Variable
Chi-Square Test Non Parametric Test Categorical Variable
 
Employablity presentation and Future Career Plan.pptx
Employablity presentation and Future Career Plan.pptxEmployablity presentation and Future Career Plan.pptx
Employablity presentation and Future Career Plan.pptx
 
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
 
4.9.24 School Desegregation in Boston.pptx
4.9.24 School Desegregation in Boston.pptx4.9.24 School Desegregation in Boston.pptx
4.9.24 School Desegregation in Boston.pptx
 
How to Manage Buy 3 Get 1 Free in Odoo 17
How to Manage Buy 3 Get 1 Free in Odoo 17How to Manage Buy 3 Get 1 Free in Odoo 17
How to Manage Buy 3 Get 1 Free in Odoo 17
 
Congestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationCongestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentation
 
4.9.24 Social Capital and Social Exclusion.pptx
4.9.24 Social Capital and Social Exclusion.pptx4.9.24 Social Capital and Social Exclusion.pptx
4.9.24 Social Capital and Social Exclusion.pptx
 
Mattingly "AI & Prompt Design" - Introduction to Machine Learning"
Mattingly "AI & Prompt Design" - Introduction to Machine Learning"Mattingly "AI & Prompt Design" - Introduction to Machine Learning"
Mattingly "AI & Prompt Design" - Introduction to Machine Learning"
 
Narcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfNarcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdf
 
4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptx4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptx
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and Film
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.ppt
 
MS4 level being good citizen -imperative- (1) (1).pdf
MS4 level   being good citizen -imperative- (1) (1).pdfMS4 level   being good citizen -imperative- (1) (1).pdf
MS4 level being good citizen -imperative- (1) (1).pdf
 
Paradigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTAParadigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTA
 
Spearman's correlation,Formula,Advantages,
Spearman's correlation,Formula,Advantages,Spearman's correlation,Formula,Advantages,
Spearman's correlation,Formula,Advantages,
 
Scientific Writing :Research Discourse
Scientific  Writing :Research  DiscourseScientific  Writing :Research  Discourse
Scientific Writing :Research Discourse
 
Comparative Literature in India by Amiya dev.pptx
Comparative Literature in India by Amiya dev.pptxComparative Literature in India by Amiya dev.pptx
Comparative Literature in India by Amiya dev.pptx
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
An Overview of the Calendar App in Odoo 17 ERP
An Overview of the Calendar App in Odoo 17 ERPAn Overview of the Calendar App in Odoo 17 ERP
An Overview of the Calendar App in Odoo 17 ERP
 
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
 

Developing your first application using FI-WARE

  • 1. Open APIs for Open Minds Fermín Galán Márquez (fermin@tid.es), Miguel Jimenez (mjimenez@fi.upm.es), Carlos Ralli (ralli@tid.es), Juanjo Hierro (jhierro@tid.es) Telefónica I+D, Universidad Politécnica de Madrid Developing your first application using FI-WARE
  • 2. Let’s go into detail… 1
  • 3. Architecture 2 NGSI IoT Adapter IoT Backend Device Management Browser Context BrokerTicket Management CEP Wirecloud (javascript runtime) widgets Object Storage History Location Wirecloud (server) Cosmos
  • 4. 3 NGSI IoT Adapter IoT Backend Device Management Browser Context BrokerTicket Management CEP Wirecloud (javascript runtime) widgets Object Storage History Location Wirecloud (server) Cosmos Context Broker
  • 5. Taking a closer look 4 Context Broker Context Producers Context Consumers subscriptions update query notify notify update update 4 Ticket Management Wirecloud Wirecloud History Ticket ManagementDB 1026 1026
  • 6. The NGSI information model 5 Meta-data • Name • Type • Value Context Element attributes • Name • Type • Value Context Element • EntityId • EntityType 1 n 1 n “has” “has” (We are not fully supporting metadata right now) Node Lamps Electrical Regulator Vans Technicians Issues location TimeInstant severity batteryCharge illuminance presence electricPotential …and many more (look to app code)
  • 7. Typical Orion broker utilization steps registerContext updateContext queryContext subscribeContext Creating new context elements “Write” context elements information To different ways of “reading” context elements information subscribeContext Availability Getting aware of new context elements discoverContext Availability Look for existing context elements NGSI9 operation (context availability) NGSI10 operation (context information)
  • 8. Context platform available at Campus Party 7 Context Broker Echo server 1026 1028 notify Global instance at orion.lab.fi-ware.eu (at FI-LAB cloud) (Only for demonstration purposes during the workshop) Context Broker LiveDemo testbed Backend Device Management Context Broker Context Broker Context Broker… notify notify updateContext notify Dedicated instances at http://yourvm:1026 “FI-WARE Cloud: bringing OpenStack to the next level” workshop (Wed 10-12am) Nodes AMMS Regulator Vans NGSI enabled SensorsNGSI enabled SensorsNGSI enabled Sensors Shared!!!
  • 9. Wirecloud 8 NGSI IoT Adapter IoT Backend Device Management Browser Context BrokerTicket Management CEP Wirecloud (javascript runtime) widgets Object Storage History Location Wirecloud (server) Cosmos
  • 10. What is Wirecloud? 9 Backend service Backend service Backend service Object Storage API NGSI API Context Broker
  • 11. Catalogue of widgets and mashups  Widget  .wgt Store API Application Mashup API Local catalogue widget .wgt
  • 12. What can I do with Wirecloud? 11
  • 13. To create my own application mashup…  Widgets and operators: • Widgets can be developed with any Web technology (HTML, Flash, SVG…) that supports JavaScript. • Operators are coded in JavaScript  Both widgets and operators can be easily adapted from existing ones, or created from scratch  Open Widget API • JavaScript API • Core Widgets Functionality: › gain access to external resources (cross-domain problem) › wiring › preferences › … 12
  • 14. How to develop a widget?  Setting up the development environment • Eclipse, VIM, etc... • Creating the directory structure (WGT)  Creating the widget: • Create the template of the widget (config.xml) • Widget view: an HTML file + CSS • Widget app logic: JavaScript (using Widget API)  Testing your widget • Uploading the widget to Local Catalogue › The WGT file is a ZIP file renamed to .wgt • Add widget to a mashup › Wiring, preferences, layout… 13
  • 15. Widget structure  config.xml • definition of the widget (based on WDL)  index.html • main view file • references JS and CSS resources  /js • directory for JavaScript files  /css • directory for CSS files  /images • directory for images  /doc • documentation 14
  • 16. Config.xml  The mandatory config.xml file contains the WDL XML template needed to tell Wirecloud what the widget looks like. This includes: • Widget metadata (non-functional properties) • User preferences • Widget inputs and outputs (wiring) • Link to the actual widget source code • Default rendering information 15
  • 17. Config.xml example (I) <?xml version="1.0" encoding="UTF-8"?> <Template xmlns="http://wirecloud.conwet.fi.upm.es/ns/template#"> <Catalog.ResourceDescription> <Vendor>Company distributing the widget</Vendor> <Name>Widget name</Name> <Version>0.0.1</Version> <DisplayName>Widget Example</DisplayName> <Author>mjimenez</Author> <Mail>mjimenez@fi.upm.es</Mail> <Description>Full widget description to be shown in catalogue</Description> <ImageURI>Absolute or relative path to display image</ImageURI> <iPhoneImageURI>Path to imate to display on mobile devices</iPhoneImageURI> <WikiURI>Path to widget doc</WikiURI> </Catalog.ResourceDescription> 16
  • 18. Config.xml example (II) <Platform.Preferences> <Preference name=”pref_name" type="text" description="…" /> </Platform.Preferences> <Platform.Wiring> <OutputEndpoint name="identifier" type="text" label="Label to show on wiring" description="description" friendcode="same as compatible input endpoint friendcode"/> <InputEndpoint name="identifier" type="text" label="Label to show on wiring" description="description" friendcode="same as compatible output endpoint friendcode"/> </Platform.Wiring> <Platform.Link> <XHTML href="index.html"/> </Platform.Link> <Platform.Rendering width="6" height="24"/> </Template> 17
  • 19. index.html example <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <script type="text/javascript" src="js/main.js"></script> <link rel="stylesheet" type="text/css" href="css/style.css" /> </head> <body> <!– Create here or create by JavaScript -> </body> </html> 18
  • 20. Using the Open Widget API  Accessing widget preferences MashupPlatform.prefs.get("google_key") MashupPlatform.prefs.set("color", "red") MashupPlatform.prefs.registerCallback(callbackFunction)  Getting user login name MashupPlatform.context.get("username"); 19
  • 21. Wiring endpoints  Declaration on config.xml <Platform.Wiring> <InputEndpoint name="my_input_name" type="text" label="my_label" description="my_description" friendcode="some_code" /> <OutputEndpoint name="my_output_name" type="text" label="label" description="description" friendcode="url"/> </Platform.Wiring>  Input endpoints MashupPlatform.wiring.registerCallback("my_input_name", inputListener);  Output endpoints MashupPlatform.wiring.pushEvent("my_output_name", data); 20
  • 22. Making a cross-domain HTTP request  Perform the invocation and register asynchronous call-backs: MashupPlatform.http.makeRequest(url, { method: 'GET', onSuccess: function (transport) { var response; response = JSON.parse(transport.responseText); ... }, onFailure: function (transport) { onError(); } }); 21
  • 23. Connecting a widget to NGSI  Register NGSI usage on config.xml <Requirements> <Feature name="NGSI"/> </Requirements>  Send a notification through NGSI var connection = new NGSI.Connection('http://orion.lab.fi-ware.eu'); connection.updateAttributes([{ entity: { id: 'iss8', type: 'Issue' }, attributes:[{ name: 'technician', contextValue: 'tech1' }] }], { onSuccess: function () { //… }, onFailure: function () { //… } }); 22
  • 24. Connecting a widget to NGSI  Subscribe for notifications on certain entities var entityIdList = [ {type: 'Van', id: '.*', isPattern: true}, {type: 'Technician', id: '.*', isPattern: true} ]; var attributeList = null; var duration = 'PT3H'; var throttling = null; var notifyConditions = [{ type: 'ONCHANGE', condValues: ['name', 'current_position'] }]; var options = { flat: true, onNotify: process_entities, onSuccess: function (data) { subscriptionId = data.subscriptionId; refresh_interval = setInterval(refreshNGSISubscript, 1000*60*60*2);//2 hours } }; connection.createSubscription(entityIdList, attributeList, duration, throttling, notifyConditions, options); 23
  • 25. Using Object Storage from a widget  Register Object Storage usage on config.xml <Requirements> <Feature name="ObjectStorage"/> </Requirements>  Upload a file var object_storage = new ObjectStorageAPI(’<Object Storage instance url>'); var fileParts = ["<a id="a"><b id="b">hey!</b></a>"]; var myBlob = new Blob(fileParts, { "type" : "text/xml" }); object_storage.uploadFile('folder_name', myBlob, token, { file_name: 'myFile.xml', onSuccess: function () { alert('File uploaded successfully'); }, onFailure: function () { alert('Something went wrong while uploading the file'); } }); 24
  • 26. Uploading your widget  Compress (zip) the widget contents • Rename it as a .wgt file  Upload the WGT file to Local Catalogue through WireCloud web interface 25
  • 28. Resources  You can always find the most updated documentation of Wirecloud in: • http://conwet.fi.upm.es/wirecloud  User and Programmer Guide: • https://forge.fi-ware.eu/plugins/mediawiki/wiki/fiware/index.php/Composition_Editor_- _Wirecloud_Mashup_Platform_-_User_and_Programmer_Guide  Installation and Administration Guide: • https://forge.fi-ware.eu/plugins/mediawiki/wiki/fiware/index.php/Composition_Editor_- _Wirecloud_Mashup_Platform_-_Installation_and_Administration_Guide  Download from Github: • Wirecloud source code: https://github.com/Wirecloud/wirecloud • Widget's source code of FIWARE's Live Demo mashable application component): https://github.com/wirecloud-fiware/live-demo-macs  Stuff for this workshop • http://tinyurl.com/fiware-dropbox 27 https://mashup.lab.fi-ware.eu
  • 29. Online videos  FIWARE Live Demo: http://www.youtube.com/watch?v=Wh_zPsLUg-8  ENVIROFI Demo: https://www.youtube.com/watch?v=yEXlLQYq7s4  Other videos: • http://www.youtube.com/embed/d7_EG42AHJw - Building a mashup from Geowidgets linked to geospatial services. • http://www.youtube.com/embed/urDGWSnrbtE - Using operators in a mashup to allow widgets to send tweets • http://www.youtube.com/embed/kW0sXMxgMLI - An example of integration with the marketplace and the catalogue GEs 28
  • 30. Sensors 29 NGSI IoT Adapter IoT Backend Device Management Browser Context BrokerTicket Management CEP Wirecloud (javascript runtime) widgets Object Storage History Location Wirecloud (server) Cosmos
  • 31. FI-WARE IoT Extended Platform Vision Plug IoT world to FI-WARE via NGSI notifications.
  • 32. FI-WARE IoT Functional Architecture (Target)
  • 33. FI-WARE IoT Challenge Architecture z-way server (Razberry HW) fizway fizway_switchd fizway_register registerdevice addobservation sendobservation CONTEXT BROKER IDAS FIZWAY FIGWAY Devices SensorML NGSI9 (Register) NGSI10 (Observations) SensorML
  • 34. Connecting a basic z-wave pack http://m2m.telefonica.com (A) SensorMLNGSI (B) IDAS CONTEXT BROKER Observations Register Obs. Query Download the PI image with FIGWAY software at: http://tinyurl.com/figway-img
  • 35. HOW-TO Get Started - Z-wave basic pack 34 0) You need: a RaspberryPI + Razbian card plugged in its GPIO 1) Include your z-wave devices into your z-wave network Complete your sensor details in our “IoT Challenge HUB doc” https://docs.google.com/spreadsheet/ccc?key=0ArcymbqnpOfkdGNYUkpaTF9qRVhkOTFIYW14SkxaZ1E#gid=0 2) Edit "fizway_resgister” & "fizway" scripts Update the Device_ID number of your sensors. 3) Edit the file SensorML/Register_SWITCH Update the line containing the callback URL: "<swe:value>http://1.0.0.1:9999</swe:value>” -> Instead of 1.0.0.1 put the RaspberryPI public IP address -> Instead of 9999 set the port the switch daemon will be listening (normally, 7777) 4) Check & Edit -if necessary- the figway "Config" file. Normally, modifications aren't needed so you can skip (4). A Config.example file is provided and comments should make this task really easy. 5) Register all your working sensors by executing >./fizway_register 6) Launch the script to interconnect your sensors to FI-WARE IoT Backend: >./fizway &
  • 36. 0) Mount RaspberryPI + Razbian 35
  • 37. 0.2) Flash FIGWAY.img & Get IP address 36
  • 38. 1) Include devices into a z-wave Network 37 EXCLUDE - Razberry exclusion mode - Press 4IN1 inclusion button INCLUDE - Razberry inclusion mode - Press 4IN1 Inclusion button CONFIGURATION - Select profile Aeon multisensor 1.18 - Press 4IN1 inclusion button 3 times - Configure to send Group1 all obs (720s)
  • 39. 1) Include devices into a z-wave Network EXCLUDE - Razberry exclusion mode - Press KEYFOB 4 buttons 5sec (led slow blink) - Press button “1”, (try twice if it doesn’t work) INCLUDE - Razberry inclusion mode - Press KEYFOB 4 buttons 5sec (led slow blink) - Press button “1” CONFIGURATION - Configure remote KeyFob To apply config: WAKE-UP Device Press KEYFOB 4 buttons 5sec - Press button “2” (Try twice) Buttons in pair mode(1-3, 2-4): -> SEPARATELY Groups to send: -> SWITCH ON/OFF ONLY (SEND BASIC SET)
  • 40. 1) Include devices into a z-wave Network 39 EXCLUDE - Razberry exclude mode - Switch ON - Press ON/OFF 3 times between 1,5sec INCLUDE - Razberry inclusion mode - Switch ON - Press ON/OFF 3 times between 1,5sec NO CONFIG is needed. ALL DEVICES INCLUDED. DEVICES IDs SHOWN: 2 (4IN1), 3 (KEYFOB) , 4 (SWITCH)
  • 41. 1) Include devices into a z-wave Network 40 CONFIGURATION - Select Zwave Description Record: Wintop iLED EXCLUDE - Razberry exclude mode - Switch ON (use a screw-driver) - Press ON 3 times between 1,5sec INCLUDE - Razberry exclude mode - Switch ON (use a screw-driver) - Press ON 3 times between 1,5sec
  • 42. 1) Include devices into a z-wave Network 41 Provide your sensors to all: “IoT Challenge HUB doc” https://docs.google.com/spreadsheet/ccc?key=0ArcymbqnpOfkdGNYUkpaTF9qRVhkOTFIYW14SkxaZ1E#gid=0 SHARE SENSORs IS A MUST SHARE SWITCHES IS OPTIONAL
  • 43. 2) Edit "fizway_resgister” & "fizway" scripts 42 Update correct IDs of your z-wave network (only for Devices you have) Actuators ports should be: 7777, 7778, etc. -> Update scripts “fizway_resgister” and “fizway”.
  • 44. 3) Configure the SWITCH to receive commands 43 Set the IPv4 Address of your Raspberry PI. Port is SWITCH one (7777).
  • 45. 4) Check & Edit the figway "Config" file 44 Pre-configured for IoT Challenge. No modifications are needed.
  • 46. 5) Register all working devices in the Backend 45 Launch de script “./fizway_resgister” For every device you’ll see a similar output as shown above. If it works, your devices are correctly register in the IDAS Backend. If it fails, increasing DEBUG level in the “Config” file helps a lot.
  • 47. 6) Launch fizway script 46 Launch de script “./fizway &” You may redirect the output to a log file if you’ close the window: “./fizway >> ./fizway_log &” You’ll see: - Devices you are listening to and their Device Number (z-wave network ID). - Daemons listening for Actuators commands coming from the Backend.
  • 48. 47 Building your Fi-WARE IoT Apps 47 1) IDAS ADMIN API – Check Services, Subscriptions & Details 2) IDAS ADMIN API – Check Devices & Details 3) IDAS ADMIN API – Send a command to a z-wave Switch 4) IDAS ADMIN API - Subscribe your App to Devices Notifications 5) IDAS (or Global Context Broker) NGSI API – Get last observations of a device 6) WIRECLOUD API - Connect a Wirecloud widget
  • 49. 48 Building your Fi-WARE IoT Apps 48 1) IDAS ADMIN API – Check Services, Subscriptions to Service & Service Details
  • 50. 49 Building your Fi-WARE IoT Apps 49 2) IDAS ADMIN API – Check Devices & Device Details
  • 51. 50 Building your Fi-WARE IoT Apps 50 3) IDAS ADMIN API – Send a command to a z-wave Switch COMMANDs TO SWITCHES/DIMMERS Follow “sendcommand” example. Send: “FIZCOMMAND N” N: 0-255. 0 = off, 255 = on
  • 52. 51 Building your Fi-WARE IoT Apps 51 4) IDAS ADMIN API – Send a command to a z-wave Switch
  • 53. 52 Building your Fi-WARE IoT Apps 52 5) IDAS NGSI API – Get last observations of a device
  • 54. 53 Building your Fi-WARE IoT Apps 53 6) WIRECLOUD API - Connect a Wirecloud widget
  • 55. ANNEX: where to find more docs 54 - IDAS APIs http://www.fi-ware.eu - z-way server: http://en.z-wave.me/docs/zway_manual_en.pdf - Aeon 4IN1 Manual http://www.smarthus.info/support/manuals/zw_sikkerhet/aeotec_multisensor_tech.pdf - Zwave.me KeyFob https://www.uk-automation.co.uk/pdf/zwavemekeyfob.pdf - Everspring Switch/Dimmer http://doc.eedomus.com/files/EVR_AN158%20MANUEL%20US.pdf - Fibaro RGB SWITCH http://www.fibaro.com/manuals/en/FGRGBWM-441-RGBW-Controller/FGRGBWM-441-RGBW- Controller-en-2.1-2.3.pdf
  • 56. Object Storage 55 NGSI IoT Adapter IoT Backend Device Management Browser Context BrokerTicket Management CEP Wirecloud (javascript runtime) widgets Object Storage History Location Wirecloud (server) Cosmos • More info at “FI-WARE Cloud: bringing OpenStack to the next level” workshop (Wed 10-12am) • Contact Person: John Kennedy <john.m.kennedy at intel dot com >
  • 57. Cosmos 56 NGSI IoT Adapter IoT Backend Device Management Browser Context BrokerTicket Management CEP Wirecloud (javascript runtime) widgets Object Storage History Location Wirecloud (server) Cosmos • Have a look to http://tinyurl.com/c0sm0s • Contact Person: Francisco Romero <frb at tid dot es>
  • 58. Extending Live Demo 57 NGSI IoT Adapter IoT Backend Device Management Browser Context BrokerTicket Management CEP Wirecloud (javascript runtime) widgets Object Storage History Location Wirecloud (server) Cosmos https://github.com/telefonicaid/fiware-livedemoapp https://github.com/wirecloud-fiware/historymod https://github.com/wirecloud-fiware/live-demo-macs
  • 59. Useful additional references Workshop Homepage http://tinyurl.com/fiware-cp-ws1 • Long URL: http://www.fi-ware.eu/campus-party-europedeveloping-your-first- application-workshop The FI-WARE Catalogue http://catalogue.fi-ware.eu • With information about FI-WARE GEis, e.g. Orion Context Broker, Wirecloud, etc. Dropbox for Workshop stuff: http://tinyurl.com/fiware-dropbox Dropbox for Raspberry Pi image: http://tinyurl.com/figway-img • Use the following as backup in case of problems: http://130.206.82.17 58
  • 60.  http://fi-ppp.eu  http://fi-ware.eu  Follow @Fiware on Twitter ! Thanks ! 59