API de openweathermap.org, thingful.net (Internet of Things)

De Wikijoan
Dreceres ràpides: navegació, cerca

Contingut

Introducció

Encara no disposo de cap dispositiu real per penjar-lo a la thingful.net. Mentrestant, puc publicar virtualment un recurs gràcies a la API de openweathermap.org, que em simula que tinc una estació meteorològica.

El projecte que vull fer de IoT està descrit a:

Es tracta de ficar una raspberry que llegeixi alguna dada d'un sensor, i la publiqui en una url pública mitjançant una REST API.

Openweathermap

Tenen vàries APIs per accedir a informació meteorològica. La que et dóna informació del temps a temps real (la més habitual) és la Current weather data API

    Access current weather data for any location including over 200,000 cities
    Current weather is frequently updated based on global models and data from more than 40,000 weather stations
    Data is available in JSON, XML, or HTML format
    Available for Free and all other paid accounts

Per tenir una clay per poder fer servir la API em registro:

API Current weather data:

Access current weather data for any location on Earth including over 200,000 cities! Current weather is frequently updated based on global models and data from more than 40,000 weather stations. Data is available in JSON, XML, or HTML format.

Per tal de què funcionin les consultes, he d'afegir a la url la appid. Per exemple:

Barcelona (Gràcia): 41.4011873,2.1634635,17

Les dades que obtinc del servidor són del tipus:

{"coord":{"lon":2.16,"lat":41.39},"weather":[{"id":800,"main":"Clear","description":"Cel net","icon":"01n"}],"base":"stations","main":{"temp":11.63,"pressure":1030,"humidity":100,"temp_min":11.63,"temp_max":11.63,"sea_level":1038.74,"grnd_level":1030},"wind":{"speed":2.31,"deg":236.504},"clouds":{"all":0},"dt":1487619338,"sys":{"message":0.0026,"country":"ES","sunrise":1487572688,"sunset":1487611943},"id":6544100,"name":"Eixample","cod":200}

Per defecte les unitats estan en Kelvin, però jo utilitzo el paràmetre &units=metric en les crides. Unit Default: Kelvin, Metric: Celsius, Imperial: Fahrenheit.

Veig que el català és un dels idiomes disponibles: puc utilitzar lang=ca i obtinc la informació textual en català:

"description":"Cel net"

Si vull accedir des de la consola mitjançant curl ho faré de la següent manera: (no oblidar-se de posar la cometa simple)

$ curl -i 'http://api.openweathermap.org/data/2.5/weather?lat=41.40&lon=2.16&units=metric&lang=ca&APPID={e2aec1bc0914a482546efb1b491a6f2a}'

thingful.net

Ara que ja tinc una API que simula un dispositiu de Internet of Things, em puc registrar a thingful.net, per tal de donar d'alta la meva url que dóna informació al món sobre un dispositiu de IoT. Evidentment, jo no tinc cap dispositiu, sinó que és una API pública.

Faig Login with Twitter

Anem a afegir el nostre punt de Internet of Things:

{"coord":{"lon":2.16,"lat":41.39},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01n"}],"base":"stations","main":{"temp":12.73,"pressure":1029.45,"humidity":99,"temp_min":12.73,"temp_max":12.73,"sea_level":1038.13,"grnd_level":1029.45},"wind":{"speed":3.92,"deg":220.503},"clouds":{"all":0},"dt":1487618120,"sys":{"message":0.0023,"country":"ES","sunrise":1487572689,"sunset":1487611942},"id":6544100,"name":"Eixample","cod":200}

creat per Joan Quintana Compte, febrer 2017

Eines de l'usuari
Espais de noms
Variants
Accions
Navegació
IES Jaume Balmes
Màquines recreatives
CNC
Informàtica musical
joanillo.org Planet
Eines