perspectivas iot con arduino
TRANSCRIPT
![Page 1: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/1.jpg)
Perspectivas IoT con ARDUINO
M.Sc. Aldo Ramiro Valdez Alvarado Marzo de 2017
![Page 2: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/2.jpg)
Introducción al IoT
Capas del IoT
IoT con ARDUINO
Un ejemplo sencillo
Conclusiones
Índice 1
2
3
4
5
![Page 3: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/3.jpg)
Introducción al IoT 1
![Page 4: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/4.jpg)
Ley de Moore. El número de transistores de un chip se duplica cada 2 años Ley de Metcalfe. El valor de una red de comunicaciones aumenta proporcionalmente al cuadrado del número de usuarios del sistema Las etiquetas RFID (Radio Frequency IDentification) El modelo de Computación Ubicua IoT implica que todo objeto puede constituir una fuente de datos.
Antes del…
![Page 5: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/5.jpg)
En 1999 Kevin Ashton cofundador y director del Auto-ID Center del MIT inventa “Internet of Things” El IoT es el mundo en el que cada objeto tiene una identidad virtual propia y capacidad potencial para integrarse e interactuar de manera independiente en la Red con cualquier otro individuo, ya sea una máquina (M2M) o un humano.
Qué significa?
![Page 6: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/6.jpg)
Nuestro mundo esta cambiando
![Page 7: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/7.jpg)
![Page 8: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/8.jpg)
Popularización de Placas de Hardware Libre. Abaratamiento de Sensores. Mejora en las Comunicaciones. Varias Plataformas IoT
Por qué ahora
![Page 9: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/9.jpg)
Algunos ejemplos
![Page 10: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/10.jpg)
Baby check
Recordatorio de Pastillas
Domótica
Smart Buildings
Smart City
Smart Banking
![Page 11: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/11.jpg)
Capas del IoT 2
![Page 12: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/12.jpg)
Las tres capas que se consideran son: la miniaturización del hardware, las necesidades de infraestructura y el desarrollo de software innovador, estas son fundamentales para entender la expansión del Internet de las Cosas en el terreno de la tecnologías de la información y la comunicación.
![Page 13: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/13.jpg)
Capas del IoT
![Page 14: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/14.jpg)
IoT con ARDUINO 3
![Page 15: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/15.jpg)
De los creadores de…
![Page 16: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/16.jpg)
Manifiesto IoT
We believe that the best way to grow this environment is to develop open source platforms and protocols to propose as an alternative to the myriad of proprietary hardware and software platforms each one of the big players are developing. We believe in creating tools that make these technologies understandable to the most diverse set of people as possible, this is the only way to make sure innovation benefits most of humanity. We propose that connected devices should be: Open, Sustainable and Fair.
https://create.arduino.cc/iot/manifesto/
![Page 17: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/17.jpg)
Creemos que la mejor manera de hacer crecer este entorno es desarrollar plataformas y protocolos de código abierto, para proponerlos como una alternativa a la miríada de plataformas propietarias de hardware y software que cada uno de los grandes jugadores en la industria están desarrollando. Creemos en la creación de herramientas que hagan estas tecnologías comprensibles para el más diverso grupo de personas como sea posible, esta es la única manera de asegurar que la innovación beneficie a la mayoría de la humanidad. Proponemos que los dispositivos conectados sean: Abierto, Sostenible y Justo.
![Page 18: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/18.jpg)
Abierto, lo Open Source es mejor para la Innovación. Sostenible, contra el diseño desechable de los bienes electrónicos del consumidor de movimiento rápido. Justo contra el espionaje.
![Page 19: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/19.jpg)
Elementos…
![Page 20: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/20.jpg)
Dispositivos Hardware
Conectividad
Protocolos de Comunicación
Plataformas Software
Servicios
![Page 21: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/21.jpg)
Hardware El MCU como ARDUINO. Los sensores toman información en bruto que lee el dispositivo. Pueden medir temperatura, presencia, viento, campos magnéticos, flujos de líquidos, calidad del aire, propiedades de los líquidos, vibraciones, posiciones geográficas, altitud, presión y un largo entre otros. Los actuadores permiten la interacción con el mundo físico. Pueden abrir puertas, mostrar mensajes, encender luces, enviar señales, controlar un flujo de líquidos, controlar el aire acondicionado, encender y apagar motores, entre otros.
ESLOV IoT Invention Kit
![Page 22: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/22.jpg)
Conectividad
En los proyectos de IoT los dispositivos se conectan a Internet para interactuar. • Conectividad autónoma
(Standalone). Modems 3G / GPRS embebidos en el dispositivo
• Dispositivo + Pasarela. Comunicación dispositivo-pasarela serie (ej. RS232 or RS485) o radio (ej. 868MHz)
• Red de sensores + Pasarela. Comunicación local por WiFi o Ethernet entre dispositivos y pasarela.
![Page 23: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/23.jpg)
Protocolos de Comunicación
Los dispositivos interactúan con la Plataforma a través de un protocolo estándar HTTP / HTTPS en la capa de Internet y JSON o XML en la capa de aplicación (REST API)
![Page 24: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/24.jpg)
Plataformas de Software
Las Plataformas de Software sirven para tratar los datos recogidos por nuestros sensores y almacenarlos. Pueden ser plataformas de terceros o plataformas propias desarrolladas por nosotros o simplemente guardar en BD propias. Además todas estas Plataformas de Software que están en la nube, deben estar soportadas por un hardware de servidores, unas BD de gran capacidad y una infraestructura segura que los hospede.
![Page 25: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/25.jpg)
https://create.arduino.cc/iot/products/cloud/
![Page 26: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/26.jpg)
Plataformas con Versiones Gratuitas
https://artik.cloud/
![Page 27: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/27.jpg)
Plataformas con Versiones Gratuitas
https://arest.io/
![Page 28: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/28.jpg)
Plataformas con Versiones Gratuitas
https://thinger.io/
![Page 29: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/29.jpg)
Plataformas de Integración (IoT)
https://thethings.io/
![Page 30: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/30.jpg)
Plataformas de Integración (IoT)
https://ifttt.com/maker_webhooks
![Page 31: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/31.jpg)
Plataformas de Integración (IoT)
https://firebase.google.com/
![Page 32: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/32.jpg)
Otras Plataformas
https://www.carriots.com/ https://www.aylanetworks.com/ http://autodeskfusionconnect.com/ https://aws.amazon.com/es/iot/ https://cloud.google.com/solutions/iot/ https://www.ibm.com/internet-of-things/ https://www.microsoft.com/en-us/internet-of-things/azure-iot-suite https://www.thingworx.com/ https://www.xively.com/ http://www.zatar.com/
![Page 33: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/33.jpg)
Servicios
Son los servicios que ofrecen las plataformas como mostrar los datos recogidos, mandar avisos cuando se detecte un evento o la interconexión con otras plataformas o simplemente.
![Page 34: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/34.jpg)
Un ejemplo sencillo 4
![Page 35: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/35.jpg)
Sistema de Alarma (https://www.carriots.com/tutorials/arduino_carriots/alert_system) Utilizamos un Arduino capaz de detectar la luz y Carriots Engine para enviar alertas por correo electrónico. Vamos a ver como: • Conectar un Arduino a Carriots para enviar flujos de datos utilizando
Carriots HTTP REST API • Construir una aplicación de alerta en Carriots mediante la
programación de un Listener para enviar un correo electrónico con el SDK
Materiales • Arduino UNO • Una Placa Ethernet, o WiFi, o GPRS • Protoboard • Resistencia entre 200KΩ y 10KΩ • Sensor Óptico o Sensor de Movimiento
![Page 36: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/36.jpg)
Esquema
![Page 37: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/37.jpg)
Conexión ARDUINO
![Page 38: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/38.jpg)
Proyecto Carriots
Dispositivo defaultDevice@myusername Apikey 98346673a6377ef1fde2357ebdcb0da582b150b00cabcd5a0d83045425407ab4
![Page 39: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/39.jpg)
Datos desde ARDUINO a Carriots HTTP request
POST /streams HTTP/1.1 Host: api.carriots.com Accept: application/json User-Agent: Arduino-Carriots Content-Type: application/json carriots.apikey: YOUR APIKEY HERE Content-Length: YOUR CONTENT LENGTH HERE Connection: close Data { "protocol":"v2", "device":"YOUR DEVICEs ID_DEVELOPER HERE", "at":1356390000, "data":{"light":"YOUR DATA HERE"} }
![Page 40: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/40.jpg)
Código en ARDUINO #include <SPI.h> #include <Ethernet.h> const int ON = 1; // Constant to indicate that lights are on const int OFF = 2; // Constant to indicate that lights are off const String APIKEY = "YOUR APIKEY HERE"; // Replace with your Carriots apikey const String DEVICE = "YOUR DEVICEs ID_DEVELOPER HERE"; // Replace with the id_developer of your device // Enter a MAC address for your controller below. // Newer Ethernet shields have a MAC address printed on a sticker on the shield byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; IPAddress ip(192,168,1,27); // Your IP Address IPAddress server(82,223,244,60); // api.carriots.com IP Address EthernetClient client; // Initialize the library instance int ledPin = 7; // Led pin number int LDRPin = 3; // LDR sensor pin number int lights = OFF; // Current status int newLights = OFF; // New status
![Page 41: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/41.jpg)
Código en ARDUINO // The setup routine runs once when you press reset void setup() { pinMode(ledPin, OUTPUT); // Initialize the digital pin as an output Serial.begin(9600); // Start serial port Serial.println(F("Starting")); Ethernet.begin(mac,ip); // Start the Ethernet connection delay(1000); // Give the Ethernet shield a second to initialize } // The loop routine runs over and over again forever void loop() { int val = analogRead(LDRPin); // Read the value from the sensor Serial.println(val); if (val > 990) { // This is the value limit between day or night with our LDR sensor. Maybe you need adjust this value. newLights = OFF; // Now its night. We have to turn on the LED digitalWrite(ledPin, HIGH); // Turn the LED on (HIGH is the voltage level) } else { newLights = ON; // Now its day. We have to turn off the LED digitalWrite(ledPin, LOW); // Turn the LED off by making the voltage LOW }
![Page 42: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/42.jpg)
Código en ARDUINO if (lights != newLights) { // Check if we have a change in status Serial.println(F("Send Stream")); lights = newLights; // Status update and send stream sendStream(); } delay(500); // If theres incoming data from the net connection, send it out the serial port // This is for debugging purposes only while (client.available()) { char c = client.read(); Serial.print(c); } if (!client.connected()) { client.stop(); } }
![Page 43: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/43.jpg)
Código en ARDUINO // Send stream to Carriots void sendStream() { String txt = ""; // Text to send if ( lights == OFF ) { // Alarm OFF txt = "OFF"; } else { // Alarm ON txt = "ON"; } Serial.println(txt); // For debugging purpose only if (client.connect(server, 80)) { // If theres a successful connection Serial.println(F("connected")); // Build the data field String json = "{\"protocol\":\"v2\",\"device\":\""+DEVICE+"\",\"at\":1356390000,\"data\":{\"light\":\""+txt+"\"}}"; // Make a HTTP request client.println("POST /streams HTTP/1.1"); client.println("Host: api.carriots.com"); client.println("Accept: application/json"); client.println("User-Agent: Arduino-Carriots");
![Page 44: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/44.jpg)
Código en ARDUINO client.println("Content-Type: application/json"); client.print("carriots.apikey: "); client.println(APIKEY); client.print("Content-Length: "); int thisLength = json.length(); client.println(thisLength); client.println("Connection: close"); client.println(); client.println(json); } else { // If you didnt get a connection to the server: Serial.println(F("connection failed")); } }
![Page 45: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/45.jpg)
Datos en Carriots
![Page 46: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/46.jpg)
Crear la Alerta en Carriots
Name: The name that you prefer Description: The description that you prefer Entity type: Device Entity id: Your id device Event to listen: data_persisted If expression: context.data.light=="ON" Then expression: import com.carriots.sdk.utils.Email; def email = new Email (); email.to="YOUR EMAIL HERE"; email.message="Alarm ON"; email.send();
![Page 47: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/47.jpg)
Crear la Alerta en Carriots
Then rule: leave empty Else expression: import com.carriots.sdk.utils.Email; def email = new Email (); email.to="YOUR EMAIL HERE"; email.message="Alarm OFF"; email.send(); Else rule: leave empty Be sure to have your listener enabled if you want it to be executed
![Page 48: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/48.jpg)
Conclusiones 5
![Page 49: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/49.jpg)
Hoy en día, se tienen diferentes plataformas de IoT, multitud de proyectos de IoT, todos enfocados en el petróleo del siglo XX, los Datos, y hacia la gestión de estos con el el Big Data. En la presentación de hoy solo se mostro un poco de lo que se puede hacer con un ARDUINO una plataforma de IoT y un poco de IMAGINACIÓN. EL FUTURO ES DE USTEDES!!!
![Page 50: Perspectivas IoT con arduino](https://reader034.vdocuments.pub/reader034/viewer/2022042510/58e588811a28abbf5d8b63e9/html5/thumbnails/50.jpg)
Aldo Ramiro Valdez Alvarado
Licenciado en Informática
Master en Dirección Estrategica en Tecnologías de la Información
Docente Titular de Pregrado en la UMSA
Docente de Postgrado en la UMSA y otras Universidades
Coordinador del Postgrado en Informática UMSA
Conferencista Nacional e Internacional
http://aldovaldezalvarado.blogspot.com/
https://www.linkedin.com/in/msc-aldo-valdez-alvarado-17464820