Connecting Cloudino Connector to FIWARE IoT · The Cloudino Connector is not like an Arduino...
Transcript of Connecting Cloudino Connector to FIWARE IoT · The Cloudino Connector is not like an Arduino...
INFOTEC Centro de Investigación e
Innovación en Tecnologías de la Información y Comunicación
Hoja 1DE9Versión 1.0
Fecha de elaboración 15/Diciembre/2015
Fecha de actualización 15/Enero/2016
Manual Integración Cloudino Connector FIWARE IoT
ConnectingCloudinoConnectortoFIWAREIoT1.WhatisFIWAREIoTFIWARE is an open software ecosystem provided by the FIWARE Community(htttp://www.fiware.org).FIWARE exposes to developersData Context elements or entities (JSONobjects)withattributesandmetadatawithauniformRESTAPI (NGSI9/10).NGSI isnowbeingadoptedbymorethan60smartcitiesworldwide:
• http://connectedsmartcities.eu/open-agile-smart-citiesOrionContextBrokerisavailableat:http://bit.ly/github-ContextBrokerFIWARE IoT is an opensource software stack aiming to bring Data-levelinteroperability to the complex saladof standards andprotocols in theworld ofIoTtoday.FIWAREIoTisabletoexpose-bymeansoftheOrionContextBrokercomponent-allIoTdevicesinformationandcommandsusingtheDataContextAPI(NGSI).
INFOTEC Centro de Investigación e
Innovación en Tecnologías de la Información y Comunicación
Hoja 2DE9Versión 1.0
Fecha de elaboración 15/Diciembre/2015
Fecha de actualización 15/Enero/2016
Manual Integración Cloudino Connector FIWARE IoT
AnyIoTstandardorproprietaryprotocolcanbeconnectedtoFIWAREviatheIoT-Agentcomponents.CurrentlyFIWAREIoTisprovidingIoT-Agentsfor:
• Ultralight2.0/HTTP:http://bit.ly/fiware_iot-ul20• MQTT/TCP:http://bit.ly/fiware_iot-ul20• LWM2M/CoAP:http://bit.ly/fiware_iot-lwm2m-coap• SIGFoxCloud:https://github.com/telefonicaid/sigfox-iotagent
2.WhatisCloudinoConnector
CloudinoConnectorisaWiFidevicethatletsyouconnecttotheInternetdifferentmicrocontrollers (AtmelAVR,PIC, IntelEdison, etc.) in a simpleand transparentway.
TheCloudino Connector is not like an Arduino shield, is other independentprocessorworking in parallel dedicated only to the network layer including theIoT protocols, leaving the Arduino ormicrocontroller dedicated only to processdatafromsensorsandcontrolactuators,whileallowsreprogrammingtheArduinoormicrocontrollerviaWiFiorCloud.LeavingtheconfigurationofprotocolstotheCloudinoWebInterfaceandoutoffyourArdurinocode.
Cloud Service Cloudino Connector Microcontroller (Arduino)
INFOTEC Centro de Investigación e
Innovación en Tecnologías de la Información y Comunicación
Hoja 3DE9Versión 1.0
Fecha de elaboración 15/Diciembre/2015
Fecha de actualización 15/Enero/2016
Manual Integración Cloudino Connector FIWARE IoT
3.HowtouseCloudinoConnectorwithFIWARECloudino Connector can be integratedwithFIWARE above-describedFIWAREIoTecosystemsusingdifferentmechanisms:
• DirectConnection• ConnectionviaMQTTIoT-Agent• ConnectionviaCloudino.iocloudservice(workinprocess)
3.1. DirectConnectiontoFIWAREContextBroker
CloudinoConnectorcanconnecttotheFIWAREContextBrokerwithoutanIoT-Agent,usingthesimpleCloudinoConfigurationWebInterface.
The Cloudino Connector starts an access point that lets you connect to theconfigurationwebinterfaceat:http://192.168.4.1
To use a direct connection to FIWARE Context Broker you have to select theFIWAREOrionContextBrokerinServerConfigurationandsettingthenextfields:
INFOTEC Centro de Investigación e
Innovación en Tecnologías de la Información y Comunicación
Hoja 4DE9Versión 1.0
Fecha de elaboración 15/Diciembre/2015
Fecha de actualización 15/Enero/2016
Manual Integración Cloudino Connector FIWARE IoT
Active:TrueDNS:Orion.lab.fi-ware.orgPort:1026UserToken:(generatetokenfromFIWAREServer,forexamplekvx0QWD8CEMd3Yl4B1Ugefnr6WcThI.Formoreinformationgotohttps://forge.fiware.org/plugins/mediawiki/wiki/fiware/index.php/Publish/Subscribe_Broker_-_Orion_Context_Broker_-_Quick_Start_for_Programmers).EntityID:(Instancename,forexample“MyHouse”)
INFOTEC Centro de Investigación e
Innovación en Tecnologías de la Información y Comunicación
Hoja 5DE9Versión 1.0
Fecha de elaboración 15/Diciembre/2015
Fecha de actualización 15/Enero/2016
Manual Integración Cloudino Connector FIWARE IoT
Example of Arduino Code to Post Temperature and Humidity
#include<Cloudino.h>#include<dht11.h>#defineDHT11PIN8Cloudinocdino; //CloudinoLibrarydht11DHT11; //DHT11LibraryvoidgetSensor(){intchk=DHT11.read(DHT11PIN);cdino.post("temperature",String((float)DHT11.temperature,2));cdino.post("humidity",String((float)DHT11.humidity,2));cdino.print("Timerdone!"); //Sendtoconsole}voidsetup(){cdino.setInterval(10000,getSensor);//Timerevery10secondscdino.begin();}voidloop(){cdino.loop();}
Example of request to FIWARE Context Broker
curlhttps://orion.lab.fi-ware.org:1026/ngsi10/contextEntities/MyHouse-XGET-s-S--header'Content-Type:application/json'--header'Accept:application/json'--header"X-Auth-Token:kvx0QWD8CEMd3Yl4B1Ugefnr6WcThI"|python-mjson.tool
3.2. ConfiguringCloudinoConnectorwithMQTTIoT-AgentCloudinoConnectorcanconnecttotheFIWAREusingMQTTIoT-Agent,usingthesimpleCloudinoConfigurationWebInterface.
The Cloudino Connector starts an access point that lets you connect to theconfigurationwebinterfaceat:http://192.168.4.1
INFOTEC Centro de Investigación e
Innovación en Tecnologías de la Información y Comunicación
Hoja 6DE9Versión 1.0
Fecha de elaboración 15/Diciembre/2015
Fecha de actualización 15/Enero/2016
Manual Integración Cloudino Connector FIWARE IoT
ToconfiguretheMQTTProtocoltoconnecttoFIWAREContextBrokeryouhavetoselecttheMQTTServerinServerConfigurationandsettingthenextfields:
INFOTEC Centro de Investigación e
Innovación en Tecnologías de la Información y Comunicación
Hoja 7DE9Versión 1.0
Fecha de elaboración 15/Diciembre/2015
Fecha de actualización 15/Enero/2016
Manual Integración Cloudino Connector FIWARE IoT
Active: true DNS: [dns or ip to the MTQQ Server] Port: [port] User: [user] Password: [password] Publishbasepath: [publish path] Subscribepath: [subscribe path]
Example of Arduino Code to Post Temperature and Humidity
#include<Cloudino.h>#include<dht11.h>#defineDHT11PIN8Cloudinocdino; //CloudinoLibrarydht11DHT11; //DHT11LibraryvoidgetSensor(){intchk=DHT11.read(DHT11PIN);cdino.post("temperature",String((float)DHT11.temperature,2));cdino.post("humidity",String((float)DHT11.humidity,2));cdino.print("Timerdone!"); //Sendtoconsole}voidsetup(){cdino.setInterval(10000,getSensor);//Timerevery10secondscdino.begin();}voidloop(){cdino.loop();}
Example of request to FIWARE Context Broker
curlhttps://orion.lab.fi-ware.org:1026/ngsi10/contextEntities/MyHouse-XGET-s-S--header'Content-Type:application/json'--header'Accept:application/json'--header"X-Auth-Token:kvx0QWD8CEMd3Yl4B1Ugefnr6WcThI"|
INFOTEC Centro de Investigación e
Innovación en Tecnologías de la Información y Comunicación
Hoja 8DE9Versión 1.0
Fecha de elaboración 15/Diciembre/2015
Fecha de actualización 15/Enero/2016
Manual Integración Cloudino Connector FIWARE IoT
python-mjson.tool
Example of Arduino Code on Receiving Messages
#include<Cloudino.h>Cloudinocdino;voidalarm(Stringmsg){if(msg=="true"){digitalWrite(13,HIGH);//TurntheAlarmON(HIGHisthevoltagelevel)}else{digitalWrite(13,LOW);//TurntheAlarmoffbymakingthevoltageLOW}}voidsetup(){pinMode(13,OUTPUT);cdino.on("alarm",alarm); //receive“alarm”messagecdino.begin();}voidloop(){cdino.loop();}3.3. ConfiguringCloudinoConnectorwithCloudino.ioCloud
Service(workinprocess)
CloudinoConnectorcanconnecttotheFIWAREusingMQTTIoT-Agent,usingthesimpleCloudinoConfigurationWebInterface.
The Cloudino Connector starts an access point that lets you connect to theconfigurationwebinterfaceat:http://192.168.4.1
INFOTEC Centro de Investigación e
Innovación en Tecnologías de la Información y Comunicación
Hoja 9DE9Versión 1.0
Fecha de elaboración 15/Diciembre/2015
Fecha de actualización 15/Enero/2016
Manual Integración Cloudino Connector FIWARE IoT
ToconfiguretheCloudinoConnectortoconnecttoCloudino.ioCloudServiceyouhave to select the Cloudino Server in Server Configuration and setting the nextfields: