cloudino workshopcpmx7
TRANSCRIPT
Taller de Introducción a Cloudino
IoT con Arduino simplificado
@SuperSerch @alfredomungia_
Internet of Things (IoT)
Sistema Embebido
• Sistema de computo con una función dedicada dentro de otro sistema, ya sea mecánico o eléctrico.
• Usualmente con restricciones de Tiempo Real.
• Se estima que el 98% de los microprocesadores fabricados actualmente se destinan a sistemas embebidos
Características de SEs
• Bajo consumo eléctrico
• Tamaño reducido
• Operan en ambientes extremos
• Bajo costo por unidad
• Capacidad limitada de procesamiento
Sistemas Inteligentes
• Interacción entre Sistemas Embebidos y otros Sistemas de Cómputo.
• Comunicación Máquina a Máquina o con el Internet.
• Existe un sistema de control que analiza la información y ejecuta acciones en consecuencia.
Internet de las Cosas• Conjunto de dispositivos físicos
como: vehículos, edificios y otros artículos, que contienen: sistemas electrónicos, sensores, software y conectividad; que les permite recolectar e intercambiar datos.
• "La infraestructura de la sociedad de la información".
• Gartner, Inc estima que habrá 20.8 millardos de dispositivos IoT para el 2020.
Arduino
• Plataforma abierta de prototipado basado en hardware y software fáciles de utilizar.
• Tarjetas basadas en chips Atmel.
• Lenguaje de programación.
• IDE de programación.
Tipos de Arduino
Boarduino Kit Arduino Uno DIY Arduino
Arduino LilyPad Arduino Yun Arduino KMega 2560
Arduino UNO
Arduino IDE
Arduino e IoT
La propuesta de Infotec
Cloudino
• Forma sencilla de conectar un Arduino a Internet
• Fácil de usar
• Bajo costo
• Tamaño reducido
Componentes de CloudinoServicio en la nube
http://cloudino.io
Cloud connector ESP-8266
Actual plataforma Arduino
Componentes
• Simple Message Router • Simple Timer API • Console Messaging
• Simple Simple Wifi Configuration (Access Point)
• Based on low cost ESP8266 • Cloudino Firmware • Arduino IDE Integration • Wifi Arduino Programming • Built in IoT Protocols • Cloudino Protocol • Orion Context Broker (FIWARE) • MQTT • COAP • mDNS Support • Simple Messaging Rest Services • JavaScript Interpreter
• Web IDE (based on Arduino IDE)• JavaScript Terminal• Cloud Arduino Programming• Cloud Storage• Rule Manager• Message Manager• Device Console• Push NotificationA
rdui
no A
PI
Wifi
Clo
ud
Con
nect
or
Clo
ud S
ervi
ce
ArquitecturaUsers / Apps
Cloudino API
Arduino
Cloudino ServerCoAP
MQTT
ContextBroker
Cloud
Networking3.3v
ProcessingTTL5v
WebsocketTCP
TCP
TCP TCP
UDP
UDP
TCP
Serial
WebSite
DeviceManager
RuleManager
DataManager
Cloudino WiFi Connector
JavaScript Interpreter Arduino Programmer
Sensors / Actuators
WebServer
Web Configuration WiFi Access Point
Cloud Updates
WebIDE
Blynk
TCP
TCP
GPIO
GPIO
Cloud connector
• ESP8266 Wifi.
• Cloudino Firmware.https://github.com/Cloudino/Cloudino-Firmware
• Conexión serial a Arduino.
• Interprete local de Javascript para aplicaciones simples sin necesidad de un Arduino.
Dispositivos soportados
• The Arduino Uno • Arduino Duemilanove or Diecimila • Arduino Nano • ATmega1280 • Arduino Mini • Arduino Fio • Arduino BT • LilyPad Arduino • Arduino Pro or Pro Mini • Arduino NG or older
Tareas a realizar• Obtener una cuenta en el portal de Cloudino http://cloudino.io
• Conectar el Cloudino Cloud connector con el Arduino.
• Configurar el Cloudino Cloud connector.
• Programar un blink desde el portal de Cloudino.
• Envío de Mensajes.
• Lectura de un sensor, publicando en Cloudino.
Cloudino - Arduino
Configuración• Entrar a http://192.168.4.1
• En Wifi Configuration:
• ssid: CloudinoLanclave: CampusPartyMX7
• En Server Configuration - Cloudino Server:
• Auth Token: Token obtenido en el portal para su dispositivo.
• Status: true
Programando a Bloques
Timer
delay(int) coloca el Arduino en espera, mientras que setInterval(int, funct) permite seguir evaluando eventos
Manejo de Mensajes
• Incluir la biblioteca Cloudino.h y el objeto Cloudino
• Es necesario llamar el método begin() en el setup de Arduino
• Es necesario llamar el método loop() en el loop de Arduino
• post(tópico, mensaje)
• on(tópico, mensaje)
Tópico del mensaje a
enviar
Controles en cloudino.io
Sensores• Indicar el Puerto A0 - A5
• utilizar analogRead(puerto)
Preguntas