Institucion educativa la esperanza sede la magdalena
OpenLivingLab Eibar (Librecon 2014)
1.
2. Antecedentes / contexto (Hiribili)
● Proyecto de Projekta y Ayuntamiento de
Ermua
● Senderismo urbano
● Derivación, orientación, acompañamiento...
gap tecnológico
● Circuito urbano equipado (balizas)
● Pulseras NFC
● Sensores Masermic
● Hiribili software solution -> Smart Gipuzkoa
● www.hiribili.com
3.
4. Antecedentes / contexto (Hiribili)
● ¿Qué tecnología sería la más adecuada?
● NFC, RFID, ZigBee, Bluetooth...
● ¿Cómo nos condicionaría la gestión de datos?
● Proyectos SmartCity...
● ... opensensors.io (The Operating System for
the Internet of Things)
5. Smart Lab Gipuzkoa 2014
● Dirección de Sociedad de la Información de la
Diputación de Gipuzkoa
● Objeto de la ayuda:
– Impulsar el desarrollo e implantación de proyectos "Living
Lab" relacionados con tecnologías "smart" en el territorio
de Gipuzkoa. Se trata de realizar implantaciones piloto de
dichas tecnologías y analizar sistemáticamente su uso, en
un ecosistema de innovación abierto, en contextos reales
y cotidianos, para su validación técnica y del modelo de
negocio asociado.
6. Open Living Lab Eibar
● Participantes:
– Zermik: desarrollo de sistemas
electrónicos
– IK4 Tekniker: centro de investigación
– CodeSyntax: software de Internet
● Objetivos:
– Probar distintos tipos de sensores
– Capas abiertas: opendata
– Diferenciar entre aplicaciones / recogida
de datos
– Probar más de un escenario
9. Escenario 1.1: MeteringArduino
• Monitorización temperatura, humedad, presión,
luminosidad y ruido en un punto de Eibar
• Posibilidad de conectar varios nodos entre ellos
• Envío datos vía GPRS
10.
11. Escenario 1.1: MeteringArduino
● Pruebas de comunicación
– 2 nodos arduino con zigbee 2.4 Ghz
– 2 nodos arduino con 868 Mhz
● Nos decantamos por módulos de 868
● Envío cada x minutos de las lecturas a un servidor
usando GPRS
● Servidor python interpretando la información
– XXXXXXXX;101;LUM:500;TEMP:20;HUM:60;PRES:55;RUID:80
– A la BBDD vía API
12.
13. import SocketServer
import requests
import json
import logging
class ArduinoGPRSHandler(SocketServer.BaseRequestHandler):
auth_token = XX
remote_url = XX
com_secret = XX
log = logging.getLogger(__name__)
def post_data(self, data_dict):
headers = {'Authorization': 'Token ' + self.auth_token,
'content-type': 'application/json'}
for k,v in data_dict.items():
to_post = {}
to_post['sensor'] = k
to_post['value'] = v
response = requests.post(self.remote_url, data=json.dumps(to_post), headers=headers)
if response.status_code != 204:
self.log.info('Bad request payload: ' + self.data)
def create_dict(self):
""" """
to_send = {}
data = self.data.split(';')
data_ok = True
if data[0] == self.com_secret:
node_id = data[1]
try:
for measurement in data[2:]:
sensor, value = measurement.split(':')
to_send[node_id + sensor.lower()] = value
except:
data_ok = False
if data_ok:
self.post_data(to_send)
return self.data
def handle(self):
""" """
self.data = self.request.recv(1024)
self.create_dict()
self.request.sendall('OK')
return
class ForkedTCPServer(SocketServer.ThreadingMixIn, SocketServer.TCPServer):
pass
if __name__ == "__main__":
14. Escenario 1.2: MeteringLibelium
• Libelium: proveedor de platarforma de
sensores para el IoT
• Plataforma configurable, modular... muy flexible
• Plug & Sense!
18. Escenario 1.3: datos generales, interior
• Monitorización temperatura, humedad y
luminosidad en el Ayuntamiento de Eibar
• Red de sensores inalámbrica
• Envío de datos a través de internet
20. Nodo sensor
•Comunicación inalámbrica 802.15.2
•Alimentado con panel solar
•Sensorización:
●
Temperatura
●
Humedad relativa
●
Luminosidad
Gateway
•Comunicación inalámbrica 802.15.2
•Envío de datos a través de Internet (Toma
Ethernet)
•Capacidades GPRS, GSM y Wifi
Escenario 1.3: nodo sensor, gateway
21. Escenario 2.1: Escaleras mecánicas: núm
personas
• Contar número de
personas que
pasan por un punto
concreto...
• De forma pasiva
para el usuario
• No track / anónimo
22. Escenario 2.1: Escaleras mecánicas: núm
personas
• Existen distintas
posibilidades:
• Contar
smartphones
activos (wifi,
bluetooth...) y
extrapolar
• Tratamiento de
video/fotos
23. Escenario 2.1: Escaleras mecánicas: núm
personas
• Nos decantamos
por barrera óptica
• Arduino
• El script del
servidor ->
clustering -> bbdd
vía api
24. Escenario 2.2: Contar personas... track
• Hiribili.com:
• Windows -> iLogs
• Script intermedio de
interpretación y cálculo
de tracks válidos
• En este caso:
• Arduino
• Bluetooth
• Script intermedio de
validación
25. Escenario 3: Parking
• ¿Dónde podemos aparcar?
• ¿Cómo se usan los parking exteriores?
• Poder monitorizar cualquier plaza de parking
exterior...
27. Escenario 3: Parking
●
● Sensor cámara digital + arduino --> subir imágenes al
servidor vía GPRS / ethernet / wifi
● Tratamiento de imágenes... detección de plazas libres
● Información a la BBDD vía API
28. BBDD (CAPA 2)
● Una única BBDD para todos
los datos
● Estructura 'simple':
– Nodo
– Sensor / SensorType
– ValorLectura
● Estructura válida para
cualquier dato de los
escenarios presentados
29. BBDD (CAPA 2)
● Vía API
– Token para escritura
– Público para consultas
● Salida vía HTTP / web:
– openlivinglab.com
– Información grnal
– Nodos / sensores
– Gráfica de últimas lecturas...
● Información en Tiempo Real
● Información en bruto
● NO hay procesameinto
30. Aplicaciones (CAPA 3)
● Gráficas generales
● Widgets HTML
● Cruce de datos de distintos proyectos
– Personas en un punto / temperatura
– Parking / ruido / contaminación / temperatura
– Temperatura exterior / interior
– ...
● Para los gestores del ayuntamiento: monitorizar / medir las
consecuencias de las decisiones
● ... muy pocos datos de momento
31. Retos y líneas futuras de
investigación
● Más aplicaciones... más sensores
● ¿Por qué no aprovechar los sensores ya
existentes?
● Muchísima variedad de sensores, cada vez
más accesibles
● Sensores móviles, contraprestación ciudadana
● Aplicaciones -> feedback, toma de decisiones,
actuar sobre elementos físicos
-
promueve la incorporación efectiva e igualitaria de hábitos de vida activos por parte de la ciudadanía de Ermua.
ERMUA MUGI! es un servicio personalizado de orientación físico-deportiva de carácter gratuito cuyo objetivo es informar, formar y aseso
-
promueve la incorporación efectiva e igualitaria de hábitos de vida activos por parte de la ciudadanía de Ermua.
ERMUA MUGI! es un servicio personalizado de orientación físico-deportiva de carácter gratuito cuyo objetivo es informar, formar y aseso