Está en la página 1de 57

Gestión de Internet de las Cosas

Semana 3

Razón social
00.00.2015
1
Proyecto: Estación Metereológica en Ubidots
• En este proyecto veremos como mostrar los datos de una estación metereológica en una página
Web configurada con UbiDots.
• La implementación del proyecto se muestra a continuación
#include "Wire.h"
uint8_t analogPin = 34;
#include <LiquidCrystal_I2C.h>
Ubidots ubidots(UBIDOTS_TOKEN);
LiquidCrystal_I2C lcd(0x27,16,2);
int estadosalida;
byte humicon[] = {
void callback(char *topic, byte *payload, unsigned int length)
B00100,
{
B00100,
Serial.print("Message arrived [");
B01110,
Serial.print(topic);
B01110,
Serial.print("] ");
B11111,
for (int i = 0; i < length; i++)
B11111,
{
B11111,
Serial.print((char)payload[i]);
B01110
if ((char)payload[0] == '1')
};
{
byte luzicon[] = {
digitalWrite(LED, HIGH);
B00000,
estadosalida = 1;
B00000,
}
B10000,
else
B00100,
{
B10000,
digitalWrite(LED, LOW);
B11010,
estadosalida=0;
B11100,
}
B11101
};
}
#include "UbidotsEsp32Mqtt.h"
Serial.println();
#include "DHT.h"
}
#define DHTPIN 5
void setup()
#define DHTTYPE DHT11 // DHT 11
{
DHT dht(DHTPIN, DHTTYPE);
pinMode(LED,OUTPUT);
#define LUZ 36
pinMode(LUZ,INPUT);
#define LED 4
lcd.init();
const char *UBIDOTS_TOKEN = “xxxxx";
lcd.clear();
const char *WIFI_SSID = "PL_FAMILY";
lcd.backlight();
const char *WIFI_PASS = "16112002";
lcd.createChar(0, humicon);
const char *DEVICE_LABEL = “Estacion";
lcd.createChar(1, luzicon);
const char *VARIABLE_LABEL_1 = "temperatura";
Serial.begin(115200);
const char *VARIABLE_LABEL_2 = "humedad";
Serial.println("Medición inciada");
const char *VARIABLE_LABEL_3 = "luz";
Serial.println("DHT11 Encendido");
const char *VARIABLE_LABEL_4 = "salida";
dht.begin();
const int PUBLISH_FREQUENCY = 5000;
delay(1000); 2
unsigned long timer;
ubidots.connectToWifi(WIFI_SSID, WIFI_PASS);
ubidots.setCallback(callback);
Proyecto: Estación Metereológica en Ubidots
• En este proyecto veremos como mostrar los datos de una estación metereológica en una página
Web configurada con UbiDots.
• La implementación del proyecto se muestra a continuación
ubidots.setup();
ubidots.reconnect();
ubidots.subscribeLastValue(DEVICE_LABEL, VARIABLE_LABEL_4);
timer = millis();
}
void loop()
{
if (!ubidots.connected())
{
ubidots.reconnect();
ubidots.subscribeLastValue(DEVICE_LABEL, VARIABLE_LABEL_4);
}
if (fabs(millis() - timer) > PUBLISH_FREQUENCY)
{
int luz = analogRead(LUZ);
float h = dht.readHumidity();
float t = dht.readTemperature();
ubidots.add(VARIABLE_LABEL_1, t);
ubidots.add(VARIABLE_LABEL_2, h);
ubidots.add(VARIABLE_LABEL_3, luz);
ubidots.publish(DEVICE_LABEL);
lcd.setCursor(0,0);
lcd.write(byte(0));
lcd.print(h);
lcd.print("%");
lcd.print(" T:");
lcd.print(t);
lcd.print("C");
lcd.print(" ");
lcd.setCursor(0,1);
lcd.write(byte(1)); Serial.println("Enviando los datos a Ubidots: ");
lcd.print(luz); Serial.println("Temperatura: " + String(t));
lcd.print(" LED:"); Serial.println("Humedad: " + String(h));
if(estadosalida){ Serial.println("Luz: " + String(luz));
lcd.print(" ON "); Serial.println("-----------------------------------------");
} timer = millis();
else{ }
lcd.print(" OFF"); delay(10000);
} ubidots.loop();
}
3
Logro de la sesión

Al finalizar la sesión, el estudiante


describe los componentes básicos en
aplicaciones de Internet de las cosas:
Microcontroladores, sensores y
actuadores.

4
Hardware IoT

Un dispositivo IoT viene


01 determinado por una
serie de componentes

5
IoT Boards (Tarjetas IoT)

❑ Son las plataformas de hardware que


son utilizadas comúnmente para
construir prototipos de las ideas de
los fabricantes

❑ Tarjetas de microcontrolador
(Microcontroller boards) y
computadora de una sola placa
(Single computer boards - ScB)
6
Tarjetas de Microcontrolador
❑ Es un sistema en un chip (System
on a Chip - SoC) que contiene
núcleos de procesamiento, RAM y
EPROM para el almacenamiento
de programas personalizados que
se ejecutan en el microcontrolador.
Es una Tarjeta de circuito impresa
(PCB) con circuitería adicional
❑ Una de las más famosas
tarjetas de microcontrolador
es el : arduino

7
Single board Computers (SbC)
❑ Es una computadora completa en
una sola placa de circuito, que
incluye microprocesador(es),
memoria, entrada/salida (E/S) y
otras características requeridas por
una computadora funcional.
❑ Las computadoras SBC
generalmente brindan una
solución informática de bajo
consumo y sin ventilador con una
arquitectura de bajo perfil.
❑ El más famoso: Raspberry Pi
8
ESP32 orientado a IoT
https://www.youtube.com/watch?v=iEl5_T5ZXFE

9
Sensores y actuadores

• Sensores:
– Son principalmente
componentes de
entrada.
– Sienten y recopilan
información
circundante.

• Actuadores:
– Son principalmente
componentes de
salida.
– Alteran el entorno www.dfrobot.com
Sensores

https://youtu.be/7CPvOrz3PW4?t=14
Sensores

https://youtu.be/1YbCjY-dBh8?t=11
Sensores

● Convierte Clasificación de un sensor.


variaciones de - Tipo de señal física: biosensores, de movimiento, …
una señal física a - Principio de conversión: termoeléctrico, …
- Tecnología y material: industrial, militar, espacial, …
variaciones de
- Propiedad física: temperatura, flujo, presión, nivel, …
una señal eléctrica - Aplicación: control de procesos, automatización, …
generalmente - Tipo de señal de salida: analógica a digital.
voltaje o corriente. - Tipo de fuente de alimentación: pasivo o activo.
- ...
Criterio para seleccionar un sensor.

● Exactitud
● Costo
● Rango de medición
● Repetibilidad
● Resolución
● Restricciones ambientales
https://www.dfrobot.com/product-2508.html
Sensores

https://youtu.be/DlG6LY84MUU?t=111
Generación de sensores.

● 1ra generación: analógicos, asociados con


amplificación analógica.
● 2da generación: analógicos, MEMS, ADC.
● 3ra generación: amplificación analógica, ADC,
C, compensación de temperatura.
● 4ta generación: todo de la 3ra mas memoria
para calibración y compensación de
temperatura.
● 5ta generación: inteligente, con C,
capacidad de comunicación serie.

NGW-1pc Pixy2 CMUcam5 Sensor de Visión Inteligente


Transductores

● Dispositivo que convierte el


valor de una magnitud física
en una señal eléctrica
codificada, generalmente
digital, binaria.
● Los transductores con salida
eléctrica en voltaje o corriente
son los que se suelen
conectar a las entradas de
los controladores lógicos
programables.
Actuadores

● Son dispositivos
de salida de
señal.
● Relays, motores
eléctricos,
solenoides, …
Sensores y actuadores

• Sensores:
– Son principalmente
componentes de
entrada.
– Sienten y recopilan
información
circundante.

• Actuadores:
– Son principalmente
componentes de
salida.
– Alteran el entorno
www.seeedstudio.com
Sensores y actuadores

• Sensores:
– Son principalmente
componentes de
entrada.
– Sienten y recopilan
información
circundante.

• Actuadores:
– Son principalmente
componentes de
salida.
– Alteran el entorno
www.seeedstudio.com
Sensores y actuadores en Internet de las cosas
E-Health
Plataforma e-Health
http://postscapes.com/internet-of-things-examples/
Plataformas en la nube
Plataformas en la nube
Plataformas en la nube
Plataformas en la nube
Plataformas en la nube

https://www.youtube.com/watch?v=uLJqNfX81C4&ab_channel=AhmadLogs
Trabajo en equipo

● Informe de investigación sobre el modo de operación de un


microcontrolador, base de las pequeñas computadoras
utilizadas en aplicaciones de Internet de las cosas.

https://www.youtube.com/watch?v=EWqJTJQW1GQ&ab_channel=KleberEletr%C3%B4nicaeMaker
Tarea:
● Revisar los ejemplos de aplicación de sensores en Internet de las
cosas de este sitio web http://postscapes.com/internet-of-things-
examples/. Luego, elegir uno de ellos, describirlo y explicarlo en forma
oral en el aula o en el Foro.
https://www.youtube.com/watch?v=SDsBWNVRFV4&ab_channel=TvAgro
Trabajo en equipo

● Informe de investigación sobre el uso de sensores y


actuadores en aplicaciones de Internet de las cosas, por
ejemplo, en cuidado de la salud y en agricultura.

● https://www.youtube.com/watch?v=1U2FbPwPcvk
● https://www.youtube.com/watch?v=6dp2xYcE3Js
● https://www.youtube.com/watch?v=Wh12gHFozas
Packet Tracer: Simulación de dispositivos de IoT
Packet Tracer: Simulación de dispositivos de IoT
Introducción a los Microcontroladores
Hay diferentes tipos/familias/implementaciones de microcontroladores. Una de
01 las compañías mas importantes es Microchip, fabricante de la famosa familia
de microcontroladores PIC

02 Veamos un video sobre lo que es un Microcontrolador.


https://www.youtube.com/watch?v=C_CcRGIwqrE
https://www.youtube.com/watch?v=jKT4H0bstH8

36
Introducción a los Microcontroladores

Como se pudo ver en el video:


Un microcontrolador es una
estructura que integra en un
01 único chip un
microprocesador, una memoria
y un número de interfaces
para periféricos

37
Microcontroladores

● En un solo chip se
incluye una CPU
con un conjunto
mínimo de
instrucciones, poca
memoria RAM y
ROM, y pocos
puertos de entrada y
salida.
● Es un computador
en pequeño.
Diagrama de bloques de un microcontrolador genérico

Oscilador

Control de E/S
Temporizadores E/S paralela E/S serie
interrupciones analógicas

C Buses del sistema


P
U

Perro RAM
ROM
guardián
https://www.youtube.com/watch?v=OoCnellmsEE&ab_channel=CBprogramming
MICROPROCESADOR VS MICROCONTROLADOR
Microprocesador (uP) Microcontrolador (uC)
Es un CPU integrado en un único CHIP Es una computadora integrada en un único chip
Necesita de otros componentes “externos” (RAM, Posee su propia RAM y múltiples dispositivos de
Sistema de E/S). Se usa en aplicaciones de E/S. Se usa en aplicaciones de propósito
propósito general, no predefinidas. específico, previamente definidas.
Optimizado para grandes volúmenes de datos y Optimizado para interacción con el mundo físico
grandes velocidades (GHz, GB) . Alto precio y en tiempo real. Velocidades en el orden de los
alto consumo MHz y Memoria en el orden de los KB hasta
pocos MB.
Sistemas Informáticos: Workstations, Servers, Sistemas embebidos: Automóviles,
Computadoras personales, laptops, tablets, electrodomésticos, juguetes, cámaras,
smart-phones impresoras, scanners, fotocopiadoras,
ascensores, maquinaria industrial, telefonía,
instrumentos, alarmas, etc.
Suelen utilizar la arquitectura Von Neumann Suelen utilizar la arquitectura hardvard
41
Arquitectura de los Microcontroladores

01 Una parte importante de los microcontroladores es la forma en la que están


organizados

Esto se conoce como la arquitectura de los microcontroladores. Hay


diferentes formas de categorizar la arquitectura de un microcontrolador:
02 ✓ Arquitectura de Computadora (Computer Architecture)
✓ Arquitectura del conjunto de instrucciones (Instruction Set Architecture)
✓ Microarquitectura (Microarchitecture)

42
Computer Architecture
Von Neumann Harvard
Velocidad Menor velocidad Mayor Velocidad de
pero mayor operación por el
flexibilidad y acceso paralelo a las
menos instrucciones y datos.
complejidad Mayor complejidad de
las instrucciones.
Usos En las Se utilizan en las
Computadoras supercomputadoras,
personales en los
microcontrolado- res y
sistemas embebidos
Costos Menos costosa de Mas costosa de
implementar para implementar para
lograr altas altas velocidades por
velocidades la cantidad de buses
(lineas) requeridos
para acceder a las
43
memorias
Instruction Set Architecture
01 Otra forma de diferenciar los microcontroladores es a través de su conjunto de
instrucciones
Un conjunto de instrucciones es una colección de instrucciones de bajo nivel
02
llamados OPCODES (lenguaje máquina)
Dos de los más comunes tipos de conjuntos de instrucciones son: CISC y
06
RISC CISC vs RISC
Enfoque RISC
Enfoque CISC
LOAD A, 1:3
LOAD B, 4:2
MUL 1:3, 4:2
PROD A, B
Un microprocesador con 0.5 MIPS STORE 1:3, A
a 4MHz
Un microprocesador con 1 MIPS a
¿Cuál es el tiempo de ejecución?
1MHz
¿Cuál es el tiempo de ejecución?

44
Microarchitecture

También conocido como


Organización de la Computadora. Es
01 la forma como se implementa en
hardware un microcontrolador

Se puede ver como un diagrama de


bloques de todos los componentes
02 internos de un microcontrolador
(memoria, CPU, periféricos) y como están
conectados para poder realizar las
operaciones/instrucciones que soporta.

Esta arquitectura varía por cada tipo de microcontrolador. Con esta información
06 se puede escoger el apropiado microcontrolador para implementar nuestro
proyecto. 45
Introducción a la Arquitectura del Microcontrolador
AVR de Arduino Atmega328P
Microcontroller ATmega328P
Operating Voltage 5V

Input Voltage (recommended) 7-12V

Input Voltage (limit) 6-20V


14 (of which 6 provide PWM
Digital I/O Pins
output)
PWM Digital I/O Pins 6
Analog Input Pins 6
DC Current per I/O Pin 20 mA
DC Current for 3.3V Pin 50 mA

32 KB (ATmega328P) of which
Flash Memory
0.5 KB used by bootloader

SRAM 2 KB (ATmega328P)
EEPROM 1 KB (ATmega328P)
Clock Speed 16 MHz
LED_BUILTIN 13
Length 68.6 mm
Width 53.4 mm
46
Weight 25 g
Computer Architecture

01 De acuerdo a la hoja de
especificaciones del dispositivo:

✓ “Con el fin de maximizar el rendimiento y el paralelismo, el AVR utiliza una arquitectura Harvard - con
memorias y buses separados para los programas y los datos. Las instrucciones en la memoria del programa se
ejecutan con un solo nivel de “pipelining”. Mientras se ejecuta una instrucción, la siguiente instrucción se
extrae previamente de la memoria de programa. Este concepto permite ejecutar instrucciones en cada ciclo de
reloj. La memoria del programa es una Memoria Flash Reprogramable en el Sistema”

47
Instruction Set Architecture
De acuerdo a la hoja de especificaciones del dispositivo:
01
✓ “El ATmega328/P picoPower® de Atmel® es un microcontrolador CMOS de 8 bits de baja potencia basado
en la arquitectura mejorada de RISC AVR®.”
✓ “Mediante la ejecución de potentes instrucciones en un solo ciclo de reloj, el ATmega328/P logra un
rendimiento cercano de 1MIPS (Millones de instrucciones por segundo) por MHz. Esto permite al
diseñador del sistema optimizar el dispositivo para el consumo de energía frente a la velocidad de
procesamiento.”

48
Microarchitecture

49
Microarchitecture

Alimentación Clock y Reset

CPU y Memoria
Arquitectura Harvard, Flash y SRAM c/u con sus buses.
EEPROM en el mismo bus que los periféricos

Periféricos
Timers

Conversor A/D
Interfaces de
comunicación

E/S Digitales

50
Microarchitecture

51
Arduino partes principales

resetting
fuse
5v
Reg

Dual
opamp ATMeg16U2
3.3
Reg

ATMega328P

52
Arduino Diagrama Pinout

53
Arduino Schematics

54
Arduino Schematics
USB/external
power switch
D13 Led Driver External Power input and 5V regulator
Decoupling
capacitor

3.3v regulator

ATMega328P
USB Interface

55
¿Preguntas?

56
FIN

57

También podría gustarte