Está en la página 1de 99

CURSO IOT101ES INTRODUCCION AL INTERNET DE LAS COSAS

Internet es el sistema de red capaz de conectar personas más grande y más


desarrollado de todo el mundo.

Por medio de Internet es posible visitar un museo en otro país, saber el pronóstico del
tiempo en otra ciudad, enviar el resumen de la clase a un compañero que faltó, consultar
documentos digitales, entre infinidades de cosas.

Sorprendentemente, Internet no es una única red, sino un conjunto de


innumerables redes conectadas entre sí.

Pero ¿qué es una red de computadoras?

CAPRON, H.L.; Johnson, J.A. Introdução à Informática. São Paulo: Pearson Prentice
Hall, 2004

La palabra red sirve para describir un entrelazamiento de cosas conectadas


unas con otras. Puede ser un enmarañado de cables, de carreteras, o de
computadoras.
Una red de computadoras está, por lo tanto, formada por dos o más
computadoras conectadas entre sí, pudiendo comunicarse unas con otras y
compartir archivos, programas o, incluso, una impresora.

CAPRON, H.L.; Johnson, J.A.  Introdução à Informática. São Paulo: Pearson Prentice
Hall, 2004 

¿Sabías que existen diferentes tipos de redes de computadoras esparcidas por


el mundo?

Vamos a ver cuáles son ...

Existen básicamente cuatro tipos de redes de computadoras:

Vamos a entender cuál es la diferencia entre ellas.

La sigla PAN significa Personal Area Network, y permite la comunicación de tus


equipos personales.
Es una red conectada por cables o inalámbrica, con tecnología para comunicar
dispositivos con un alcance de hasta 10 metros.

Una red PAN está centrada en una persona y permite la comunicación de sus


equipos personales.

Tú usas una red PAN cuando conectas tu smartphone a tu computadora para


transferir fotos.

LAN es una sigla que en inglés significa Local Area Network, es decir, Red de
Área Local. Este término generalmente se refiere a redes de computadoras
restrictas a un lugar físico, como una casa, una oficina o una empresa.

Por ejemplo, una familia que posee tres computadoras y una impresora puede
conectarlos a una red LAN. De esa forma, los archivos musicales de la familia
pueden estar en una carpeta compartida para que todos en la casa puedan
usarlos.

Con las computadoras de la casa conectados a la red, todos los miembros de


la familia también pueden compartir texto, fotos, videos y trabajar juntos en un
mismo archivo compartido.

Seguramente ya visitaste un cibercafé, ¿verdad?


Un cibercafé es un local caracterizado por tener diversas computadoras
conectadas en una red que permite la interacción entre sus usuarios.

De esa forma, las personas puede usar las computadoras del cibercafé para
jugar juntos, por un ejemplo en modo multiplayer.

MAN es una sigla que en inglés significa Metropolitan Area Network. Esta red


de carácter metropolitano, conecta computadoras y usuarios en un área
geográfica mayor que la alcanzada por una LAN.

Una MAN normalmente resulta de la interconexión de varias LANs, cubriendo


un área geográfica de mediana dimensión, como por ejemplo, el campus de
una universidad, o una ciudad entera.

WAN es una sigla que en inglés significa Wide Area Network, y como su


nombre indica, es una red de telecomunicaciones dispersa en una gran área
geográfica.

La WAN se distingue de una MAN por su tamaño y estructura de


telecomunicaciones.

Las redes WAN son muy importantes, ya que empresas con miles de
computadoras necesitan una red para transmitir grandes cantidades de
información entre filiales en diferentes localidades geográficas. 
Diferentes redes de computadoras pueden estar interconectadas entre sí.

Por ejemplo, una red LAN puede estar conectada a otra red LAN, o a una red
MAN.

Y cuando la red es tan amplia que cubre el mundo entero, la llamamos Internet.

l principio, Internet conectaba sólo dos computadoras, luego evolucionó a la red


mundial de computadoras (World Wide Web), conectando un gran número de
computadoras y cubriendo todo el mundo.

Internet móvil surgió conectando dispositivos móviles a Internet. Enseguida, las


personas comenzaron a juntarse en Internet por medio de redes sociales.

Actualmente, Internet se está moviendo en dirección a Internet de las Cosas,


conectando todos los objetos del día a día con Internet.

¡Vamos a aprender un poco sobre la historia de Internet!

Debes estar imaginando que Internet no tiene dueño, ya que


cualquier persona puede conectar una computadora o cualquier otro
dispositivo a la red.

¡Eso mismo! Internet no tiene una sede central, ni una central de


servicios. Fue creada por el gobierno estadounidense en la década de
1950.

Pero ¿cómo surgió? Vamos a conocer mejor esta historia.

Internet surgió en 1957, durante la Guerra Fría entre Estados Unidos


y la Unión Soviética. Un ataque por el aire era una amenaza
constante para los estadounidenses.
Pero toda esa historia de guerra, ¿qué tiene que ver con Internet?

En la época de la Guerra Fría los estadounidenses crearon la Agencia


de Proyectos Avanzados de Defensa (Advanced Research and
Projects Agency - ARPA), cuyo objetivo era desarrollar una red de
computadoras capaces de intercambiar informaciones a través de
tecnologías de comunicación independientes.

Los estadounidenses querían evitar la pérdida de información, si


parte de la red física quedaba inactiva debido a una destrucción
parcial, provocada, por ejemplo, por un ataque nuclear. De esta
forma, una parte de la red dañada no afectaría el funcionamiento de
los puntos no alcanzados. 

En 1969 surgió la primera versión de la red, la Arpanet (Advanced


Research Projects Agency Network) que conectaba sólo cuatro
puntos.

La idea era crear una red tejida como una tela de araña (web, en
inglés), en la que los datos se movían buscando la mejor
trayectoria posible, pudiendo "esperar" si las vías estuvieran obstruidas.

Surgía allí otra idea básica de Internet: la descentralización. Pero,


¿cómo funciona en la práctica?                                                                     

Entonces utilizas un equipo conectado a Internet, abres tu navegador favorito y


escribes www.samsung.com en la barra de direcciones y, pasados pocos
segundos, la página de inicio de Samsung aparece en tu pantalla.

¿Cómo todo este proceso, aparentemente simple, ocurre?

Todos los equipos tienen una dirección numérica única llamada dirección IP.
Para que puedas acceder a la página de Samsung, por ejemplo, tu
computadora debe antes establecer una conexión con el equipo donde se aloja
la página solicitada.

Llamaremos a partir de ahora a tu computadora de cliente y a la computadora


donde la página de Samsung está almacenada de servidor.

Imagina que el cliente, tu computadora, con dirección IP 177.175.79.80 quiera


iniciar una conexión con el servidor de dirección IP 185.187.87.88 para
obtener la página inicial de Samsung.

Pero, ¿cómo el cliente, tu computadora, sabe la dirección IP con la que debe


conectarse para obtener la página inicial de Samsung si nada de esto fue
informado?

La única información pasada fue la dirección www.samsung.com en la barra de


direcciones del navegador.

Cuando un equipo está conectado a Internet, está configurado para acceder a


un servidor especial denominado servidor de nombres o servidor DNS (Domain
Name System), ya que es más conocido.

Este servidor funciona como una lista de direcciones.

Cuando escribes la dirección www.samsung.com en la barra de


direcciones, estás informando la dirección URL (Uniform Resource Locator) del
sitio.

Si el navegador no conoce la dirección IP para esta dirección URL, entonces se


conecta con el servidor DNS y pregunta:

"Hola. Tengo la dirección URL www.samsung.com,  ¿puedes informarme cuál


es la dirección IP de ella? "

El servidor entonces responde:

"Sí la tengo , la dirección IP de esta URL es 185.187.87.88."

Por lo tanto ...


El servidor DNS funciona como una lista de direcciones para encontrar la
dirección IP de la dirección URL solicitada. Se establece una conexión entre el
cliente, tu computadora, y el servidor donde se aloja la página de Samsung. A
través de esta conexión ocurre el envío de paquetes.

Digamos que estás buscando un dispositivo móvil en el sitio web de Samsung, 


y estás haciendo clic y navegando por el contenido de las páginas.

Conforme vas navegando, el cliente, tu computadora, solicita más páginas al


servidor para poder mostrarte en la pantalla la información que solicitaste.

Las informaciones intercambiadas entre el cliente y el servidor, entre tu


computadora y la computadora donde se alojan las páginas de Samsung, son
divididas en paquetes.

Y ¿qué son esos paquetes?

Son fragmentos menores de los datos que transitan por la red. Por ejemplo, un
mensaje de correo electrónico se puede dividir en varios paquetes. Cada
paquete contiene algunas informaciones como: la dirección de origen, la
dirección de destino y la secuencia según la cual los paquetes se deben
reconstruir al llegar a su destino.

        

Una característica importante es la garantía de entrega, pues todos los


paquetes que salen del origen tienen la garantía de que llegarán a su destino y
que serán entregados de forma ordenada y sin modificaciones.

Cada paquete puede viajar por la red por diferentes caminos, siendo enviado
de una computadora a otra, en la dirección de su destino.
Pero, ¿quién decide cuál es el mejor camino?

Es necesario utilizar un dispositivo llamado enrutador.

Los enrutadores son dispositivos capaces de realizar la comunicación entre


varias redes que componen Internet.

El enruteador analiza cada paquete de información y decide la mejor ruta hasta


su destino.

Pero ¿qué pasa si una ruta está bloqueada?

Como hay varios enrutadores conectados en la misma red, es posible que un


paquete tome una ruta y otro paquete tome otra ruta para llegar al destino. Es
lo mismo que sucede cuando estamos tratando de escapar del tránsito.
Podemos entrar en otra vía, pasar por otras calles, pero avanzamos hacia el
destino.

Cuando los paquetes llegan a su destino, la información original se


reconstituye.

Recientemente, el costo de componentes electrónicos ha bajado y ampliado la


posibilidad de instalar tales componentes en diferentes tipos de objetos. Uno de
estos componentes, el microprocesador, es un circuito integrado que realiza las
funciones de cálculo y toma de decisión de una computadora. Es el cerebro de
la computadora.

Los primeros microprocesadores, piezas centrales de las computadoras


modernas, se crearon en la década de 1980. Tenían un costo tan alto que sólo
se instalaron en computadoras como estaciones de trabajo o computadoras
personales.

Hoy, con el avance de la tecnología, el costo de producción de componentes


electrónicos ha bajado tanto que es posible colocar microprocesadores en
diversos objetos donde no era posible colocar antes, como por ejemplo
despertadores, medidores de consumo de agua, lámparas y juguetes.

El término Internet de las cosas no tiene una definición única. Él es un término


nuevo, que no está en el diccionario, y ya ha recibido algunas definiciones
desde que surgió. Algunas bien amplias, otras con sesgos más tecnológicos o
de negocios.

Para entender mejor lo que es  Internet de las cosas, vamos a empezar con un
ejemplo. Imagina la siguiente escena:

 Pones tu despertador para despertar a las 6h00 para ir a la escuela y vas a


dormir.

Mientras estás durmiendo, tu despertador accede a Internet y descubre que


habrá huelga de autobús al día siguiente hasta las 8h00 y que el director de la
escuela decidió suspender las primeras clases. Por eso, tu despertador te deja
dormir un poco más, cambiando el horario de despertar a las 9h00.

Como habías programado la cafetera para pasar el café a las 6h00, el


despertador avisa a la cafetera que vas a tomar café a las 9h00. Te levantas a
las 9h00, tomas tu café caliente y tu mochila inteligente comienza a parpadear
porque ella accede a tu agenda en Internet, descubrió que tienes clase de
química hoy y que el libro no está en la mochila. La mochila entonces envía un
mensaje a tu móvil informándote de la falta del libro.

Es de eso que se trata Internet de las cosas:

Es un concepto tecnológico en que objetos de la vida cotidiana están


conectados a Internet, actuando de modo inteligente y sensorial.
¿Y sabes de dónde viene la expresión "Internet de las cosas"?

"Internet de las cosas" es una traducción literal de la expresión en inglés


"Internet of Things" o IoT.

Se trata de la extensión de Internet actual para designar todas las cosas que se
pueden conectar a una red de computadoras o a Internet.

IoT consiste en la idea de la fusión del "mundo real" con el "mundo digital",
haciendo que el individuo pueda estar en constante comunicación e
interacción, ya sea con otras personas u objetos.

Con Internet de las cosas se pueden activar y controlar de forma remota a


través de una infraestructura de red existente creando oportunidades para la
integración entre el mundo físico y los sistemas informáticos.

Y como el propio nombre dice, Internet de las cosas está formado por "cosas".
Un primer punto que viene en mente es, ¿"qué son esas cosas que forman
Internet de las cosas"?

Intenta recordar los objetos que utilizas en tu día a día para conectarte a
Internet ...

Probablemente tu pensamiento fue:

... un celular

... una tablet

... una computadora

... un portátil

Utilizas al menos uno de estos dispositivos, ¿verdad?

Pero hay otros equipos que se conectan a Internet, vamos a los ejemplos ...

Ya debes haber notado que hay varias cámaras dispersas en bancos, tiendas e
incluso en las calles para el seguimiento.

Pues bien, todas ellas podrían estar conectadas a Internet, enviando datos a
una central de monitoreo.

También puedes tener cámaras de seguridad para monitorear tu casa y con


ello puedes ver todo en tiempo real en la computadora o en el móvil, en
cualquier lugar y momento. Estas cámaras están conectadas a Internet.
¿Quieres otro ejemplo?

Un Smart TV.

Con un Smart TV, puedes ver películas en Internet, en Netflix o en Youtube


directamente,  sin conectar la TV en tu computadora, porque la TV está
conectada a Internet.

Entonces, ¿qué piensas? ¿Sería posible conectar eletrodomésticos en


Internet?

La respuesta es Sí!

Una nevera con Internet, por ejemplo, podría avisar cuando un determinado
producto estuviera cerca de acabar. Esto sería muy útil para una red de
hoteles, por ejemplo. Por medio de un celular sería posible controlar
el stock del frigobar y reponer los productos que estén acabando. Además,
disminuye el tiempo de Checkout en el hotel, pues no sería necesario que una
persona vaya hasta la habitación a ver los artículos consumidos.

Una nevera inteligente que avisa cuando un determinado producto está


acabando puede acceder a Internet, hacer una investigación e indicar los
lugares cercanos donde ese ítem está en oferta.

En fin, cualquier objeto como automóviles, prendas de vestir e incluso


electrodomésticos pueden recibir microprocesadores y ser clasificados como
"cosas" o "objetos inteligentes" que se pueden integrar a IoT.

Más adelante veremos cómo las cosas se conectan a la red.

a existen ciudades, carros y casas inteligentes.

¿Y cómo IoT puede contribuir a una ciudad inteligente?

"Ciudad Inteligente", también conocida como "Smart City" o "Ciudad del


Futuro", es un concepto que clasifica la tecnología como responsable de
ofrecer mejoras en la infraestructura urbana para hacer los centros urbanos
más eficientes, más económicos y mejores para vivir.

En otras palabras, una ciudad inteligente es apta para gestionar sus recursos
manejando dispositivos inteligentes para garantizar la eficiencia.

El concepto de "Ciudad Inteligente" aborda la planificación y la administración


pública a través de la automatización de servicios de forma creativa y
sostenible.

Vamos a ver algunos ejemplos ...

ILUMINACIÓN URBANA

Un sistema de iluminación pública inteligente, por ejemplo, es capaz de indicar


cuando una luminaria está quemada y cuando está en hora de cambiarla,
trayendo más economía y seguridad para la población.
GESTIÓN INTELIGENTE DE BASURA URBANA

La gestión inteligente de la basura urbana proporciona información útil para la


población que fomenta una manera más fácil y ambientalmente correcta de
recoger la basura.

La recolección de basura puede ser optimizada, por ejemplo, en términos de la


ruta a realizar, basada en los niveles de llenado de las contenedores de
basura: los que están vacíos serán ignorados; los que estén llenos serán
vaciados; y los que estén rotos se repararán más rápidamente.

¿Vamos a ver una aplicación más de IoT?

¿Imaginas controlar todas las funcionalidades de tu carro por tu smartphone?

Tener a bordo una computadora inteligente que programe todas tus


preferencias; sensores integrados para alertar la asistencia mecánica; y hasta
un sistema capaz de conducir el carro por ti?

¡Todo esto ya existe!

Y es probable que tengas uno de estos carros en pocos años.

Según Gartner, se esperan 150 millones de automóviles conectados a IoT para


2020.

Hace poco los carros tenían una computadora central que recibía y procesaba
datos de sensores para determinar el nivel del aceite del motor, la temperatura
del agua del radiador, etc.

El Ford Edge Sport, modelo 2016, ya tiene 21 computadoras repartidas,


además de decenas de sensores intercambiando y chequeando datos para
garantizar una operación eficiente y segura, así como para efectuar la previsión
de reparaciones u otras necesidades.

El Ford Edge Sport envía un e-mail con información sobre el auto a su


propietario, o el propietario del vehículo monitorea el estado del auto a través
de una aplicación instalada en su teléfono.
Así, el propietario se comunica con el fabricante para intercambiar datos sobre
el vehículo y posibles llamadas para revisión.

En el caso del fabricante de neumáticos Continental, por ejemplo, se


desarrollaron productos con sistema de sensores incorporados, alertando los
niveles de calibrado y desgaste de los neumáticos, transmitidos en tiempo real
al conductor.

Ya se están desarrollando carros autónomos.

La empresa Google por ejemplo, desarrolló un vehículo que anda solo, sin
conductor, y está en fase de prueba, pero ya es capaz de reconocer peatones,
señales y ciclistas.

Es el futuro de IoT, vamos a hablar de él más adelante.

gropecuaria

Los sensores dispersos en plantaciones pueden proporcionar información


sobre la temperatura, la humedad del suelo, la velocidad del viento y otra
información que combinada con la previsión del tiempo disponible en Internet
permiten la optimización de sistemas de riego, ahorrando agua y mejorando el
rendimiento de la siembra.

Los sensores conectados a los animales pueden ayudar en el control del


ganado, por ejemplo, un microchip se coloca en la oreja del buey para hacer el
rastreo del animal, informando su historial de vacunas, entre otras
informaciones.

Mascotas - animales domésticos

Hay collares inteligentes para mascotas, que acompañan funciones vitales del
animal, como presión, latidos del corazón y la temperatura.

El collar puede contar con una cámara fotográfica de Internet. Con eso el
dueño puede acompañar los pasos de su mascota a la distancia.

El GPS permite que se sepa la ubicación exacta de la mascota

Salud

Ya es posible colocar sensores en la ropa y monitorear algunas señales. Un


ejemplo es una ropa que detecta el nivel de estrés de una persona
monitoreando su transpiración.

Otro ejemplo es un sensor "tatuaje", que puede ser retirado después del uso o
que puede ser absorbido por el cuerpo. Este sensor recopila datos a través del
contacto con la piel y transmite información a los teléfonos inteligentes y
dispositivos de diagnóstico remoto.

Existen cuatro tipos de redes de computadoras:

 Red PAN es una red centrada en una persona que permite la


comunicación de sus equipamentos personales

 Red LAN es una red de equipos restringida a un local físico

 Red MAN es una red de carácter metropolitano que conecta


computadoras en una zona geográfica de tamaño medio

 Red WAN es una red de telecomunicacioes que está dispersa por una
gran área geográfica

 Internet es el mayor y más desarrollado sistema de red capaz de conectar


equipos y personas de todo el mundo.
 Internet no es una sola red, sino un conjunto de numerosas redes conectadas
entre sí.

 ¿Cómo funciona Internet?


 Todos los equipos tienen una dirección numérica única
llamada dirección IP. Tu equipo tiene una dirección IP. Cuando utilizas
tu navegador para acceder a una página web, tu equipo se conecta a la
dirección IP de la página que solicitaste. Y, para descubrir esta dirección
IP, tu equipo utiliza un servidor de nombres o DNS (Domain Name
System) que funciona como una guía telefónica.

 Se establece una conexión entre tu computadora y el servidor donde se aloja la


página solicitada. Y a través de esta conexión ocurre el envío de paquetes de
información. Cada paquete viaja por la red por un camino del origen al destino
determinado por los enrutadores.

 Internet, La red
 Al principio, Internet conectaba sólo dos computadoras, luego se
convirtió en la red mundial que conecta a las personas a través de un
gran número de computadoras cubriendo todo el mundo.

Hoy Internet es una red que conecta también "cosas": es Internet de las
cosas.

Es un concepto tecnológico en que objetos de la vida cotidiana están conectados a


Internet, actuando de modo inteligente y sensorial.

Es el conjunto de objetos inteligentes conectados a Internet que perciben


informaciones del ambiente y se comunican con otros objetos y con personas.

uando oímos la palabra "arquitectura" pensamos en la construcción de casas,


edificios, etc.
Puedes estar imaginando la arquitectura como una forma de arte visual, creada
por un arquitecto, en un determinado espacio como, por ejemplo, el Palacio del
Congreso Nacional creado por el arquitecto Oscar Niemeyer. 

Pero en nuestro caso, la palabra "arquitectura" tiene otro significado ...

Vamos a conocerlo ...

La palabra "arquitectura" viene de la unión de las palabras griegas "arché", que


significa "primero" o "principal", y "tékton", que tiene el significado de
"construcción". Por lo tanto, el término arquitectura se puede definir como
"constructor principal".

Cuando esta palabra fue inventada, en la Grecia antigua, el acto de construir


algo estaba directamente relacionado con la construcción de casas y
edificaciones en general.

Sin embargo, en los días actuales, el hombre construye muchas cosas además
de casas, como por ejemplo: carros, aviones, computadoras, videojuegos,
electrodomésticos, etc.

Cuando hablamos de arquitectura, nos estamos refiriendo a una estructura o


modelo que puede ser copiado para originar cosas similares.

Se trata, pues, de una arquitectura de referencia, o sea, un esqueleto de algo


que queremos construir.

En sistemas de IoT, este esqueleto define un conjunto de bloques de


construcción compuesto de tecnologías como Internet, computadoras y
"cosas".

Una arquitectura de referencia es capaz de facilitar y guiar el desarrollo, la


estandarización y la evolución de los sistemas de IoT.

La arquitectura que vamos a utilizar en este curso es una de las más generales
definidas para IoT y engloba tres componentes básicos:
                                      

Los sistemas en IoT poseen partes pertenecientes a estos tres componentes.

Primero vamos a presentar cada uno de estos componentes y luego vamos a


analizar algunos ejemplos de sistemas de IoT y aprender a identificar sus
partes.

Componente Percepción / Actuación

El Componente Percepción / Actuación, se refiere a las partes del sistema de


IoT que hacen interacción con el mundo físico.

Normalmente las "cosas" de IoT, es decir, los objetos inteligentes, forman parte
de este componente.
Este componente se denomina percepción, ya que recoge información sobre el
mundo real y permite a los sistemas de Internet de las cosas responder a
eventos reales, que no están sólo en la computadora.

Además, forman parte de este componente dispositivos que hacen cambios en


el ambiente, lo que se llama actuación.

Componente de Red

El componente de red es responsable de realizar conexiones en el sistema de


IoT. Estas conexiones pueden ser con otros objetos inteligentes o equipos.

En Internet de las cosas, como su nombre lo dice, normalmente usamos Internet


para conectar los objetos inteligentes. Pero incluso cuando usamos Internet,
todavía es necesario definir cómo esta conexión podría ser realizada.

Las tecnologías y estrategias para realizar esta conexión a Internet, se definen


en el Componente de Red de la arquitectura
Componente de Aplicación

El componente de aplicación es la parte del sistema de Internet de las cosas


que entrega servicios a las personas. Utiliza los otros dos componentes
(percepción y red) para hacer algo útil.

Como ya vimos anteriormente, algunas áreas en las cuales las aplicaciones


pueden ser desarrolladas son:

 Sistemas de salud y bienestar

 Ciudades inteligentes

 Casas inteligentes

 Industria 4.0

 Agropecuaria inteligente

 Como hemos visto, la arquitectura es una referencia que sirve de


modelo para la construcción de sistemas de IoT. No es obligatorio
utilizar una arquitectura, pero facilita la organización de componentes y
la comunicación de un proyecto.

 Existen varias arquitecturas para la construcción de sistemas de IoT. En


este sentido, se presenta la arquitectura más general [Sethi, P. y
Sarangi, S.R., 2017]. Y si te interesaste y quisieras conocer otras
arquitecturas, sugerimos la lectura de este artículo [Cavalcante, et al.,
2015].
 Recuerda, si encuentras que un determinado problema es difícil de
encajar en alguna arquitectura, sigue adelante y prueba a tu manera, sin
preocuparte por seguir alguna arquitectura.
 Ejemplos
 ¿Vamos a ver entonces algunos ejemplos de Internet de las cosas, y
cómo se aplican en cada componente de la arquitectura estudiada?

 Vamos a presentar tres ejemplos, ya mencionados en la clase anterior y


entender cuáles son sus partes y cómo se encajan en los componentes
de la arquitectura.

 El primer ejemplo será el del sistema de iluminación urbana. El segundo


será el del sistema de gestión inteligente de recolección de basura
urbana. El tercero, presenta una nevera inteligente.

Ejemplo: iluminación urbana


 Marcar esta página

El primer ejemplo se trata de un sistema de iluminación inteligente, en el que


los postes de iluminación detectan solos cuando una lámpara está quemada y
solicitan un cambio automáticamente.
 
 
Dividiendo en Componentes
¿Ahora vamos a entender cuáles son los componentes de este sistema? Para
ello vamos a utilizar los tres tipos de componentes de la arquitectura de IoT que
presentamos: Percepción, Red y Aplicación.     

                                        
Poste de iluminación
Inteligente
 
Comunicación 
con cable / Internet
 
Gestor de la 
infraestructura de
iluminación

El elemento de Percepción del sistema es el Poste de Iluminación Inteligente.


Él mide la luminosidad bajo el poste, que es una información del mundo físico.
Cuando se espera que la lámpara esté encendida pero el sensor de
luminosidad indica que no hay iluminación, indica que la lámpara debe estar
defectuosa.

Pero no basta con el Poste de Iluminación Inteligente para que la solicitud de


cambio de lámparas se haga automáticamente. Una vez que se identifique una
lámpara defectuosa, es necesario realizar una solicitud de cambio. Para ello, es
necesario que el Poste tenga conectividad para enviar esta información a los
interesados y que tenga un servicio que informe a los responsables del
mantenimiento de los Postes de Iluminación cuál es la ubicación del poste que
debe ser visitado.

Esta conectividad se define en el componente de red. En nuestro ejemplo


vamos a utilizar Internet con conexión por cable.
El servicio que solicita el mantenimiento, queda en el Componente
Aplicación. Es el Gestor de Iluminación Urbana, que solicita el cambio de la
lámpara e indica la ubicación de Postes de Iluminación que están defectuosos.

Esta aplicación facilitaría el mantenimiento del Sistema de Iluminación Urbana,


disminuyendo riesgos para la población y los costos con inspecciones
innecesarias.

Ejemplo: colecta de basura urbana


 Marcar esta página

En este ejemplo, tenemos contenedores de basura inteligentes, que avisan a


una central municipal cuando están llenos, o listos para ser vaciados. De esta
forma, el conductor de un camión de basura podría saber exactamente cuáles
calles contienen más basureros llenos y cuáles aún no han acumulado tanta
basura. Con esa información, él podría definir las rutas de recolección de
basura, priorizando calles con basureros llenos. Este tipo de optimización
permitiría una recolección que ahorra combustible, además de dejar la ciudad
más limpia con mayor rapidez.

Basureros llenos

Basureros no llenos
Dividiendo en componentes
Vamos a analizar cada parte del sistema de la papelera inteligente, de acuerdo
con nuestra arquitectura de 3 componentes:

                                      
Contenedor de Basura

 
Comunicación
inalámbrica / Internet

 
Monitor del Nivel de
llenado de Basura /

Sistema de generación de rutas


de recolección de basura

En el Componente Percepción tenemos el contenedor de basura Inteligente,


que detecta (percibe) su nivel de llenado. Es parte de este componente porque
está extrayendo información del mundo real, que en este caso sería cantidad
de basura dentro de él.

Ahora, para que el contenedor de basura pueda enviar los datos a una central
municipal, es necesario tener algún tipo de comunicación. En este caso, vamos
a considerar que el contenededor Inteligente tiene conexión inalámbrica a
Internet - lo que comprende el Componente Red de nuestra arquitectura.

Por último, en el Componente Aplicación, tendremos dos aplicaciones:

 el Monitor de Nivel de Llenado de Basura, que ofrece el servicio de indicar el


nivel de llenado de los basureros y la ubicación de ellos en un mapa;
 y el Sistema de Generación de Rutas de Recolección de basura, que ofrece
el servicio de generar las rutas de recogida de basura priorizando los basureros más
llenos y optimizando los recorridos del camión.

Ejemplo: nevera inteligente


 Marcar esta página

En este ejemplo, presentado con más detalle en el vídeo de esta clase, vamos
a analizar una Nevera Inteligente. Esta nevera detecta los alimentos que están
en su interior y genera una lista de compras. Esta lista de compras puede ser
accedida por el dueño de la nevera remotamente por Internet. Además, la
Nevera Inteligente es capaz de hacer compras automáticamente por Internet,
adquiriendo los productos faltantes de un supermercado online. La Nevera
Inteligente permite además la participación de la familia en programas de Salud
Alimentaria, enviando los datos sobre los productos consumidos para
instituciones de investigación.

Dividiendo en componentes
                                      
Nevera que
detecta alimentos

 
Comunicación
inalámbrica / Internet

 
Gestor de
productos / Análisis de
hábitos alimentarios

La Nevera Inteligente integra el Componente Percepción. Ella detecta cuáles son los
alimentos que están en su interior, o sea, ella está extrayendo informaciones del mundo
real.

En el Componente Red vamos a considerar Internet, que se accede por conexión


inalámbrica. De esta forma, la Nevera Inteligente puede comunicarse tanto con el
celular de su dueño, como con el supermercado online.

En este ejemplo también tenemos dos componentes de aplicación:

  El gestor de productos, que ofrece el servicio de verificar la cantidad de productos


dentro de la nevera y que hace compras de los productos que faltan automáticamente por
Internet.
  Análisis de hábitos alimentarios, que ofrece el servicio de conferir la cantidad de
productos que se están consumiendo en gran cantidad y enviar datos a instituciones de
investigación de salud alimentaria.

En esta clase vamos a aprender lo que es hardware.

También vamos a descubrir dónde está el hardware en el contexto de Internet


de las cosas.

Vamos a aprender cómo es el hardware de un objeto inteligente.

Veremos también lo que son sensores y actuadores, además de conocer


algunos ejemplos. Así, podremos imaginar qué sensores y actuadores
podremos utilizar en un proyecto de Internet de las Cosas.

Además, vamos a aprender cuáles son los compromisos en proyectos


de hardware para IoT. Hardware es una palabra de la lengua inglesa. La primera
mitad de la palabra, hard, significa duro o rígido.

Por eso, cuando hablamos de hardware estamos hablando de las partes rígidas y


tangibles de las computadoras, o sea, todo lo que podemos tocar, como por ejemplo: el
monitor, el teclado, el ratón, la placa madre, el procesador, etc.

Así, podemos definir hardware como "toda parte física, compuesta de un conjunto de


componentes electrónicos y piezas que hacen que el equipo funcione".

Por lo tanto, cualquier dispositivo electrónico, como


computadora, smartphone, tablet, smartwatch, entre otros, tiene hardware.
 
Además del hardware, también tenemos el software, que lo complementa.
El software tiene la función de proporcionar instrucciones al hardware,
posibilitando la realización de las operaciones de un equipo. Hablaremos
de software en la próxima clase.

En IoT, como ya hemos visto, existen objetos inteligentes o "cosas" que captan
información del ambiente, pueden conectarse a Internet y realizar algunas tareas. Para
que esto sea posible, estos objetos necesitan un hardware que haga que estos objetos
puedan desempeñar todas estas funciones.

Vamos a conocer las partes que componen un objeto inteligente en IoT.


En general, un objeto inteligente se compone de cuatro unidades básicas:

      Procesamiento y memoria

      Comunicación

      Energía

      Sensores y actuadores

La unidad de procesamiento y memoria tiene la función de almacenar datos


y de ejecutar la secuencia lógica de instrucciones que hace al objeto
inteligente.

Esta unidad está compuesta de una memoria interna para almacenamiento de


datos, de un microcontrolador que ejecuta la secuencia de instrucciones, y de
un convertidor analógico-digital para recibir señales de los sensores.

A menudo existe una memoria externa adicional del tipo flash, que sirve como
memoria secundaria, que se utiliza por ejemplo para mantener un conjunto de
datos (o log).

Las características deseables para estas unidades son el tamaño reducido y el


bajo consumo de energía. Y tú puedes estar preguntándote: ¿qué es kbps, Mbps y
Gbps? Son sólo modos más cortos de escribir la cantidad para números muy grandes. La
unidad kbps representa 1.000 bits por segundo, la unidad Mbps representa 1.000.000
bits por segundo y la unidad Gbps representa 1.000.000.000 bits por segundo. Así,
cuando decimos 32Gbps, en realidad queremos decir que 32 mil millones de bits se
transmiten por segundo. Por otro lado, cuando decimos 1Mbps, queremos decir que 1
millón de bits se transmiten cada segundo.

El alcance de los sistemas de comunicación se refiere a qué distancia se pueden


transmitir los datos. Por ejemplo, vamos a considerar un caso en que una niña, llamada
Sofía, tiene una fotografía de su gato en una tablet y ella quiere transmitir esta
fotografía a la tablet de su hermano, Pedro. Si están en una misma habitación, podemos
utilizar una tecnología de alcance corto, con la que los datos se transmiten sólo por
algunos pasos. Ahora, si Sofía y Pedro están en un campo de fútbol, cada uno de un
lado del campo, la tecnología de comunicación necesita tener un alcance mayor, capaz
de enviar los datos por varios metros.

Las principales tecnologías de comunicación utilizadas en IoT son:


Ethernet (IEEE 802.3): es bastante utilizado para conectar computadoras de
escritorio a Internet. Ethernet utiliza cables y tiene alta velocidad de transmisión
de datos y gran alcance. Tiene una tasa de transmisión de datos de hasta
1Gbps y 100 metros de alcance. Pero puede llegar a transmitir 10Gbps con
alcance de hasta 2 kilómetros cuando utiliza fibra óptica. Como utiliza cables,
esta tecnología no sería aplicable para cualquier tipo de objeto inteligente,
como para un paraguas inteligente, por ejemplo, ya que dificulta la movilidad.
Pero, por otro lado, podría ser utilizado en una nevera inteligente.

Wi-fi (IEEE 802.11): se refiere a una tecnología de comunicación inalámbrica con


alcance adecuado para redes locales, unos 50 metros, y tasa de transmisión de datos
adecuada para ver vídeos, hasta 1.300Mbps en su versión más reciente, IEEE
802.11ac. Esta tecnología es la tecnología de comunicación inalámbrica que es más
utilizada y, por lo tanto, está presente en prácticamente todos los lugares (oficinas,
industrias y en espacios públicos).

ZigBee: esta es una tecnología de comunicación inalámbrica que tiene un


alcance inferior, unos 30 metros, y una tasa de transmisión de datos más
baja que el Wi-fi, alrededor de 250Kbps, pero que se ha desarrollado para
consumir menos batería. El ZigBee se ha adoptado en varios productos de
IoT.

Bluetooth Low Energy: Bluetooth es una tecnología de comunicación inalámbrica


que ha sido desarrollada para ser intermediaria entre Zigbee y  Wi-fi en términos de
velocidad de transmisión de datos, alcance y consumo de batería. Pero su versión más
reciente, el Bluetooth Low Energy, es capaz de transmitir 1Mbps con alcance de hasta
80m, con bajo consumo de energía. Esta tecnología ha sido adoptada en
muchos smartphones y tablets.
3G/4G: Tecnología de comunicación inalámbrica capaz de alcanzar grandes
distancias. Sin embargo, el consumo de energía es alto en comparación con
otras tecnologías. Su uso en lugares alejados y la alta movilidad pueden
compensar ese gasto. La tasa de transmisión alcanzada en el estándar 3G
es alrededor de 1Mbps y en el estándar 4G es de hasta 10Mbps. Se utiliza
para la comunicación por teléfonos móviles con la operadora.

La siguiente tabla resume las tecnologías de comunicación presentadas:

Protocolo Alcance

Ethernet 100/2.000m 10Gbps

Wi-fi 50m 1.300Mbps

Bluetooth 80m 1Mbps

ZigBee 100m 250Kbps

3G/4G 35/200 Km 1/10Mbps

La unidad de fuente de energía es responsable de alimentar los


componentes del objeto inteligente. Esta energía puede provenir de una
toma de corriente o de una batería.

Este componente es un factor crítico, pues una gran cantidad de energía,


que es un recurso limitado, es empleada para realizar la comunicación de
los objetos inteligentes.

Las baterías son las fuentes de alimentación más utilizadas en sistemas de


IoT, aunque no son las más adecuadas, ya que cuando están insertadas en
dispositivos se vuelven difíciles de manipular ante una necesidad de
cambio.

Una estrategia para minimizar este problema es hacer uso de la técnica de


la recolección de energía (Energy Harvesting) que consiste en extraer energía
de fuentes externas al dispositivo como energía solar, térmica, eólica o
cinética.

La energía recolectada se almacena y satisface las necesidades de los


objetos como comunicación y procesamiento. Sin embargo, tiene algunos
desafíos como por ejemplo, de qué forma es posible gastar la energía y
garantizar la ejecución continua de las actividades del objeto inteligente.

Para comprender mejor, vamos a analizar el siguiente ejemplo:

Imagina que un dispositivo inteligente debe realizar tareas durante las 24


horas del día, pero sólo cuando hay luz del sol es posible captar energía del
ambiente. Además, se sabe que la carga de la batería no soporta 24 horas
con el dispositivo en funcionamiento constantemente. Por lo tanto, el
dispositivo necesitará operar en intervalos de tiempo: por ejemplo, queda
encendido por 1 minuto, y entra en espera por los próximos 2 minutos,
luego se conecta de nuevo por otro minuto más y así sucesivamente. De
esta forma, se ahorra energía y el dispositivo continúa funcionando todo el
día. Como hemos visto en esta clase, existe un compromiso entre la capacidad de
comunicación (distancia y cantidad de datos) y el consumo de energía. Cuanto mayor
sea la capacidad de comunicación de un dispositivo, mayor será su consumo de energía.

En el caso de dispositivos que utilizan baterías, cuanto mayor sea el consumo de energía
del dispositivo, las baterías deben ser más grandes o se terminarían más rápido,
necesitando ser recargadas con más frecuencia.

Este compromiso también vale para la unidad de procesamiento, cuanto mayor es la


capacidad de procesamiento del hardware, mayor es el consumo de energía.

Unidades de sensores y actuadores realizan interacciones con el ambiente


en el que el objeto inteligente está inmerso.

Los sensores son responsables de captar (sentir) informaciones del


ambiente tales como temperatura, humedad, luz, presión, presencia, etc.
Los actuadores son dispositivos capaces de actuar en el ambiente,
modificándolo. Por ejemplo, conectando un motor, aumentando la
temperatura, emitiendo un sonido, entre otros.

Sensores
Los sensores son muy importantes en IoT, ya que son necesarios en
cualquier sistema de adquisición de datos.

¿Recuerdas el caso del Poste de Iluminación Inteligente, que mencionamos


en la clase anterior? Verificaba si la zona cercana al poste estaba iluminada
para comprobar que la lámpara estaba funcionando. Para realizar esta
verificación, se utiliza un sensor. Este sensor capta la luminosidad del ambiente
y la convierte en una señal que una computadora puede entender, que es
una señal eléctrica. Como el Poste Inteligente tiene una computadora
dentro de él, usando un sensor puede averiguar si la luz está quemada o
no!

El sensor es un componente que recibe un estímulo de entrada (input) y


responde con una señal eléctrica compatible con los circuitos electrónicos
que están a su salida (output).

Los sensores se utilizan para convertir las magnitudes físicas, como por
ejemplo la temperatura, el movimiento o la humedad, en una magnitud de
procesamiento, es decir, señales digitales (datos).

Por lo tanto, un sensor recibe como entrada (input) cualquier tipo de


estímulo y genera como salida (output) señales eléctricas.
Actuadores
Un actuador, así como un sensor, transforma una información en otra. Sin
embargo, hace el camino reverso: transforma una señal eléctrica en una
respuesta física, como por ejemplo movimiento, sonido o luz.

Los actuadores también son muy importantes en IoT, ya que son necesarios
en cualquier sistema que actúe en el ambiente, es decir, que gestione
acciones en el ambiente. Vamos a considerar el caso de una Ventana
Inteligente, que pueda ser controlada por el celular, por ejemplo. Quien
hace la ventana abrir o cerrar es un actuador. El actuador sabe si necesita
abrir o cerrar la ventana recibiendo comandos por señales eléctricas.

Los actuadores se utilizan para convertir señales eléctricas, que pueden ser
generadas por computadoras, en magnitudes físicas, como por ejemplo
temperatura, movimiento o luminosidad.

Por lo tanto, un actuador recibe como entrada (input) una señal eléctrica y
genera salidas (output) de cualquier tipo.
Ejemplo
Un ejemplo muy presente en nuestras vidas es el smartphone que posee
sensores y actuadores.

Entre los sensores de un smartphone, podemos citar: el micrófono, la


pantalla sensible al tacto, el giroscopio y el acelerómetro. Sabemos que los
sensores captan información del ambiente. El micrófono capta el sonido del
ambiente, la pantalla capta el toque de los dedos, el giroscopio detecta la
dirección en la que el teléfono está apuntando y el aceleterómetro detecta
el movimiento del aparato.

Los actuadores de un smartphone son, por ejemplo: el altavoz, la pantalla y


el vibracall. Aprendimos que actuadores actúan en el ambiente. El altavoz
emite sonidos, la pantalla muestra la información solicitada y
el vibracall hace que el teléfono vibre.

Ahora vamos a ver algunos ejemplos de sensores y actuadores.

omo hemos visto, hay varios tipos de sensores. Vamos a conocer algunos
de ellos y aprender sobre su funcionamiento.
POSICIÓN (POTENCIÓMETRO)
¿Has ajustado la temperatura de una plancha? ¿O has regulado el volumen
de una caja de sonido? Estos dos ajustes tienen una cosa en común: ellos se
construyen usando potenciómetros.

El potenciómetro es un sensor que capta la posición del cursor del perno


central de los botones de giro.

DISTANCIA (ULTRASONIDO)
Un sensor muy utilizado para medir distancia es el sensor de ultrasonido.
Un ultrasonido es sólo un sonido de altísima frecuencia, muy por encima de
lo que nuestros oídos son capaces de percibir.

El sensor ultrasónico se compone de un emisor y un receptor de ondas


sonoras. Podemos compararlos con un altavoz y un micrófono trabajando
juntos.

La señal emitida, al chocar con cualquier objeto, se refleja de vuelta en la


dirección del sensor. El sensor calcula la distancia hasta el obstáculo
midiendo el tiempo que la señal tardó para ir hasta el obstáculo y volver.     

                              
                                      

Un ejemplo de uso del sensor de distancia por ultrasonido es en el equipo


conocido como sensor de estacionamiento, presente en algunos carros.
Funciona de la siguiente manera: a la hora de estacionar, el sensor de
ultrasonido detecta cuando el carro se acerca a un obstáculo y luego emite
un sonido de alerta.

TEMPERATURA
Como el nombre sugiere, estos sensores captan la temperatura del
ambiente y la transforman en una señal eléctrica. Una vez que la
temperatura se convierte en señal eléctrica, por ejemplo, se puede enviar a
un smartphone  a través de Internet.

HUMEDAD
Este sensor es similar al sensor de temperatura, pero mide la humedad.
Algunos de estos sensores son en forma de varillas y se pueden colocar en
el suelo para medir su humedad. A partir de esta información y si la
humedad es baja, un sistema de riego puede ser activado automáticamente
o un mensaje puede ser enviado al celular del responsable.

LUMINOSIDAD
Un sensor de luminosidad detecta la intensidad de la luz emitida sobre él.
Este tipo de sensor ya se utiliza en postes de iluminación pública
automatizados, que se accionan solos al detectar que está anocheciendo
(es decir, el sensor detecta que hay poca luminosidad y el sistema activa la
iluminación de los postes).

sí como en el caso de los sensores, también existen varios tipos de


actuadores. Vamos a conocer algunos.

Movimento (motores)
Los actuadores más fáciles de identificar son los actuadores de movimiento,
pues ellos causan cambios tangibles en el mundo físico. Por ejemplo, el
motor de un carro permite éste que se desplace sobre una superficie, el
motor en un brazo robótico hace que el brazo se mueva y el motor de un
ventilador mueve sus palas.

Sonido (Alto parlante)


Los actuadores de sonido son nada más que altavoces o cajas de sonido —
elementos que ya debes conocer. Hay actuadores de sonido en los
celulares, en los televisores, en los carros, en las alarmas, en los auriculares,
etc.

Como todo actuador, reciben impulsos eléctricos y causan algún cambio en


el mundo físico. En este caso, las alteraciones son vibraciones sonoras que
se propagan en el ambiente.

Luminosidad (LED)
Los actuadores de luminosidad emiten rayos de luz. Son básicamente
lámparas, LED de luz visible o infrarrojo por ejemplo. A pesar de parecer
bastante simple a primera vista, la emisión de luz causa un cambio en el
mundo físico: el cambio de luminosidad y, por lo tanto, constituye un
actuador.

Como hemos visto en esta clase, para diseñar e implementar una aplicación
de Internet de las cosas, necesitarás un conjunto de elementos
de hardware: una unidad de procesamiento y memoria, una unidad de
comunicación, una fuente de energía, sensores y actuadores.

Puedes utilizar una unidad de procesamiento disponible bajo una licencia


de hardware libre. Pero, ¿qué es el hardware libre?

El hardware libre (en inglés, Open Source Hardware) es un elemento


de hardware disponible para uso libre, de la misma manera que
un software puede ser distribuido como software libre, o sea puede ser
usado sin la necesidad de pagar una licencia para su uso.

Son circuitos electrónicos que pueden ser copiados libremente, ya que el


propio desarrollador proporciona toda la información necesaria para
reproducir el circuito: el diagrama esquemático, el layout de placa, la lista de
componentes y otra información relacionada al hardware en cuestión.

Arduino es una tarjeta de circuito con un microcontrolador incorporado


que se puede utilizar para crear numerosos proyectos electrónicos de
manera fácil.

La tarjeta dispone de pines de entrada y salida para conectarse a


dispositivos tales como sensores y actuadores.

La plataforma Arduino se ha popularizado en una infinidad de aplicaciones,


posibilitando que personas no especialistas puedan poner en práctica sus
ideas de interacción con objetos y ambientes, haciendo uso de recursos de
electrónica y programación.

En los próximos cursos de CodeIoT, aprenderás a desarrollar tu proyecto


utilizando esta plataforma.

Arduino se ha popularizado en investigaciones y en el desarrollo de


diversas aplicaciones, pues:

 Se requiere un pequeño margen de aprendizaje, con fácil


programación;

 Existe una gran variedad de información disponible para diversos


tipos de aplicaciones;

 Tiene un costo bajo en comparación con otros dispositivos.

En general, Arduino se caracteriza como hardware libre, en el que la


documentación para la elaboración de proyectos está disponible para los
usuarios en el sitio web de la plataforma.

a tarjeta Raspberry Pi es una computadora completa de bajo costo, que


posee un microprocesador en lugar del microcontrolador, memoria y pines
de entrada y salida.
Aunque sea del tamaño de una tarjeta de crédito, se puede conectar a un
monitor, teclado y ratón y hacer todo lo que se espera de una computadora
común.

Por ejemplo, puede acceder a Internet, reproducir vídeos de alta definición


o ejecutar juegos.

Raspberry Pi, así como el Arduino, tiene la capacidad de interactuar con el


mundo físico, por medio de sensores y actuadores pudiendo ser usada en
la implementación de varios proyectos.

Los proyectos desarrollados con una Raspberry Pi tienen una capacidad


más allá de aquellos desarrollados con otras tarjetas de prototipado, pues
el hecho de poseer más memoria y la capacidad de tener un sistema
operativo cargado, amplían los recursos de desarrollo de aplicaciones.

Es posible, por ejemplo, construir un termostato de una manera sencilla


usando una tarjeta Arduino. Sin embargo, con Raspberry Pi el termostato
podría permitir el acceso remoto y la descarga de historial de temperaturas.

El hecho de ser una computadora totalmente funcional hace la plataforma


interesante para proyectos más robustos, en caso de que sea necesario un
sistema operativo y de memoria RAM.

PERCEPCIÓN / ACTUACIÓN

El componente de percepción / actuación, se refiere a las partes del sistema


de IoT que hacen interacción con el mundo físico: recogiendo
informaciones del mundo real y haciendo cambios en el ambiente. Las
cosas del término Internet de las Cosas normalmente forman parte de este
componente.

RED

El componente de red es responsable de hacer conexiones en el sistema de


IoT, por conectar los objetos inteligentes que normalmente se hace por
Internet. Tecnologías y estrategias para esta conexión a Internet, se definen
en el componente de red.

 
APLICACIÓN

El componente de aplicación es la parte del sistema de Internet de las cosas


que entrega servicios para las personas. Utiliza los otros dos componentes
(percepción / actuación y red) para hacer algo útil.

En general, un objeto inteligente se compone de cuatro unidades básicas


de hardware: procesamiento y memoria, comunicación, energía, sensores y
actuadores.

Procesamiento y memoria tienen la función de almacenar datos y la


secuencia lógica de instrucciones que hace el objeto inteligente.

La comunicación es responsable de la comunicación del objeto inteligente


con Internet o con otros objetos inteligentes.

La energía es responsable de alimentar los componentes del objeto


inteligente.

Sensores y actuadores realizan interacciones con el ambiente en el que el


objeto inteligente está inmerso.

duino es una tarjeta de circuito con un microcontrolador insertado que se


puede utilizar para la creación de proyectos de manera fácil. La tarjeta
dispone de pines de entrada y salida para conectarse a dispositivos tales
como sensores y actuadores. El software es un conjunto de instrucciones
que controlan el funcionamiento de una computadora.

El Software  es una palabra de la lengua inglesa y se utiliza en oposición


al hardware. ¿Recuerdas que mencionamos en la clase anterior que la
palabra en inglés "hard" significaba algo rígido? Entonces, la palabra en
inglés "soft" significa lo contrario de "hard", algo que no es rígido.

El Software, a diferencia del hardware, es la parte de la computadora que no


podemos tocar. Son los programas y aplicaciones que se ejecutan en la
computadora, en los smartphones, tablets, etc.

Ahora vamos a hablar un poco sobre cómo crear un software.

mo el software  es un conjunto de instrucciones, "crear software" consiste


en escribir instrucciones para que una computadora las ejecute.
Este sitio de CodeIoT, por ejemplo, se ha programado con instrucciones de
computadora. Cuando haces clic en "Siguiente", va a la siguiente página del
curso. Esto sucede porque alguien ha escrito instrucciones para que el sitio
lo haga.

Pero ¿y quién fue ese "alguien que escribió las instrucciones"?

Las personas que escriben las instrucciones de software se


llaman programadores o programadoras, ellos crean los programas.

Ahora, vamos a pensar un poco sobre cómo ese programador podría dar
instrucciones a la computadora. En primer lugar, el programador debe
comunicarse con la computadora. Para comunicarse, necesita usar algún
tipo de lenguaje, así como los humanos usamos lenguas habladas o señales
para comunicarnos. Bueno, pero ya que el programador necesita
comunicarse con la computadora, utiliza un lenguaje de programación.

Así que eso es, un lenguaje de programación no es nada más que una
herramienta que permite que el programador escriba programas. El botón
"Siguiente" de esta página, por ejemplo, se ha programado utilizando un
lenguaje de programación llamado "Javascript". En el curso "Aprendiendo a
programar" de la plataforma CodeIoT aprenderás cómo usar el lenguaje de
programación "Scratch" para programar la computadora.

Ahora que ya sabes que para hacer un software sólo tienes que usar algún
lenguaje de programación para instruir la computadora, vamos a aprender
un poco sobre la historia de la programación.

¿Has escuchado la expresión: "la computadora no es inteligente"? Esta


expresión no es totalmente mentira, ya que una computadora no es capaz
de tomar decisiones, sólo ejecuta comandos proporcionados por las
personas que son programadores. La computadora entiende lo que
llamamos lenguaje de máquina: una secuencia de números 0 y 1.

Todas las instrucciones dadas a una computadora son esencialmente


secuencias numéricas compuestas por 0 y 1 (por ejemplo: 01101100).

¿Alguna vez te has puesto a pensar en el trabajo que da escribir un


programa entero usando instrucciones compuestas por combinaciones de
0 y 1?

 
Es para eso que existen los lenguajes de programación: para facilitar la
comunicación entre personas y computadoras, entre programadores y
el hardware de la computadora.

El programador escribe instrucciones en un lenguaje muy cercano al que la


gente usa para comunicarse. A continuación un segundo programa, un
compilador, traduce lo que el programador escribió para el lenguaje de
máquina, secuencias compuestas por 0 y 1. Este lenguaje es entendido por
la computadora y lo consigue ejecutar.

Hay otra situación. El programador escribe instrucciones en un lenguaje


cercano al lenguaje hablado y otro programa, un intérprete, traduce cada
instrucción y la computadora la ejecuta.

Pero, ¿cuándo necesitamos un compilador y cuándo necesitamos un


intérprete? Esto depende del lenguaje que utilizamos. Hay lenguajes que
necesitan un compilador y otros de un intérprete. Son lenguajes
compilados o interpretados.

Ahora vamos a responder a la pregunta inicial: ¿Para qué sirven los


lenguajes de programación?

Los lenguajes de programación sirven para que los programadores se


comuniquen con computadoras pasando instrucciones con un lenguaje
cercano al que usamos para comunicarnos.

Sabías que a pesar de que actualmente las mujeres son minoría en la


Computación, fue una mujer la primera persona en desarrollar un conjunto
de instrucciones para una computadora?
El primer programa de computadora fue creado en 1843 por Augusta Ada
Byron, Condesa de Lovelace, nacida en 1815, conocida como Ada Lovelace.

La computadora a la que Ada desarrolló su algoritmo fue conocido como la


máquina analítica de Babbage, que es considerada la primera computadora
mecánica de la historia. El inventor de la máquina analítica fue Charles
Babbage, que era profesor de matemáticas en Cambridge. Como en 1830,
la tasa de errores humanos en cálculos matemáticos era gigantesca,
Babbage se empeñó en la creación de una máquina que hiciera cálculos,
para acabar con ese problema. Ada ayudó a Charles en el desarrollo de la
máquina analítica y escribió un artículo con un método paso a paso para
calcular la secuencia de Bernouilli, conocida también como la Ley de los
Grandes Números, en la máquina de Babbage. 

La máquina analítica de Babbage era movida a vapor, ejecutaba hasta 60


cálculos por minuto y utilizaba tarjetas perforadas para hacer su
programación. Las tarjetas perforadas fueron utilizadas como forma de
programar las primeras computadoras, ya que ellos no tenían todavía
monitor y teclado.
Pero la idea de utilizar tarjetas perforadas vino del área textil! Algunas
décadas antes de la creación de la máquina analítica de Babbage y de Ada
escribir su algoritmo, aún en 1804, Joseph-Marie Jacquard inventó el Telar
Mecánico.

En aquella época, los tejedores de seda franceses tenían que estar


cambiando los hilos y las líneas a cada paso de la máquina de lazos. Esto
era una tarea manual y muy repetitiva para los tejedores. Jacquard se dio
cuenta de que los cambios de los hilos seguían cierta lógica e inventó un
proceso de tarjetas perforadas que definían patrones en los lazos y podían
hacer diseños complejos. Así, el trabajo del tejedor podría ser cambiado a
algo automatizado.

El telar funcionaba de la siguiente manera: un conjunto de tarjetas


avanzaban sobre una hoja giratoria. Donde había un orificio, la aguja podía
pasar, de lo contrario, la aguja no pasaba. De esta forma, sólo trabajaban
las agujas coincidentes con los agujeros. Se trata de un sistema
binario. Estos estándares en la tarjeta perforada se pueden
considerar programas.

Las primeras computadoras fueron inspiradas por el telar mecánico y


utilizaron esta misma estrategia. Ellos tenían una interfaz que
recibía programas en tarjetas perforadas para computar información.
Hay quien considera que la Máquina el Telar es la más antigua forma de
programación creada por Jaquard en 1804, en Francia.

Cuando las computadoras surgieron, su programación no era nada fácil.


Los primeros lenguajes de programación que surgieron demandaban
muchos detalles. Para poder escribir instrucciones para la computadora, el
programador necesitaba entender cómo fue diseñado, qué módulos tenía y
cómo eran sus memorias. En otras palabras, necesitaba utilizar lenguajes
de programación que exigían mucho detalle. Estos lenguajes se
denominan lenguajes de bajo nivel.

Ensamblador, por ejemplo, es un lenguaje de bajo nivel, que requiere


mucho tiempo para crear un programa.

Con el tiempo, los lenguajes de programación evolucionaron, surgieron


los lenguajes de programación de alto nivel, que están más cerca del
lenguaje humano. En ellos, los programadores no necesitan conocer los
detalles de hardware de la computadora, concentrándose más en el
funcionamiento del programa y menos en cómo serán ejecutados.

Los lenguajes como Pascal, Python, Java, por ejemplo, reúnen y simplifican
el lenguaje de máquina y hacen ciertas acciones sólo por comandos que
generalmente son palabras en inglés. Un ejemplo es el comando 'print' del
lenguaje Python, que se utiliza para mostrar un mensaje en la pantalla del
usuario.

En este ejemplo, el comando 'print' se utiliza para mostrar la frase 'Hello


World' en la pantalla del usuario.

Actualmente existen lenguajes de programación visual, donde en vez de


usar comandos de textos en inglés, se utilizan imágenes y gráficos. Pueden
ser arrastrados y montados en bloques que encajan.
Scratch es un ejemplo de lenguaje de programación visual. Tú conocerás y
aprenderás a usar este lenguaje en el próximo curso de CodeIoT.
No hay duda de que el hardware que usamos es extremadamente útil y eso
gracias a la programación, al proceso de creación del software, que da
utilidad a los aparatos que usamos.

Por eso, cuando utilices algún software para resolver algún problema o


simplemente cuando juegues algún juego, no olvide agradecer a los
maestros (Ada Lovelace y Jacquard), pues fueron ellos quienes generaron la
idea que sirvió de base para la programación actual.

Para que una computadora se comunique con otra o para que un objeto
inteligente intercambie información con otro, necesitaremos utilizar
una arquitectura. Recordando que una arquitectura es un modelo que
ayuda al desarrollo de un proyecto y facilita su implementación.

Comenzaremos con la arquitectura cliente-servidor. Vamos a entender


mejor sus conceptos y el funcionamiento.

La arquitectura cliente-servidor es un modelo que distribuye tareas entre


proveedores de un recurso o servicio, denominados servidores, y los
solicitantes de servicios, llamados clientes.

Los servidores y los clientes son computadoras o equipos de hardware. Los


servidores prestan servicios para muchos clientes.

La arquitectura cliente-servidor supone que un cliente inicia un pedido


enviando una solicitud a un servidor que la procesa y la devuelve con los
datos solicitados. Con base en esta respuesta, el cliente puede hacer
nuevas solicitudes.

Un cliente puede ser un teléfono móvil, una tablet  o una computadora.

Un servidor es una computadora con gran capacidad de procesamiento.


En general, un servidor ofrece varios servicios, ya que elimina la necesidad
de adquirir varios servidores, ya que estas computadoras son especiales y
por lo tanto, cuestan caro. Por lo tanto, cuando el cliente hace una petición
al servidor, indica un determinado puerto. Cada puerto responde a un
servicio.

Cuando el cliente y el servidor se comunican a través de Internet llamamos


a estos servicios de servicios Web. Uno de los servicios Web es el suministro
de páginas web   o, resumiendo, sitios a los que se accede a través de los
navegadores. El funcionamiento es muy simple. Vamos a entender por
medio de un ejemplo.

Un usuario accede a la dirección de una página a través de su


navegador web. Entonces su computadora, el cliente, envía una petición a la
dirección de la página que desea cargar. El servidor, al recibir la petición, la
procesará y devolverá la página que el usuario desea ver. El usuario puede
interactuar con esa página, haciendo clic en links  por ejemplo, enviando así
una nueva petición al servidor, iniciando todo el proceso nuevamente.

Es fácil observar en el ejemplo que el cliente y el servidor no están en la


misma computadora. El servidor puede estar en otra ciudad u otro
continente. Por eso la comunicación entre ellos es hecha a través de una
red, en este caso: Internet.
Un servidor puede también hacer una petición a otro servidor, actuando en
este caso como cliente. Pero, ¿cómo es posible? Vamos a ver un ejemplo.

Imagínate que una persona está usando Google. Él escribe "previsión del
tiempo", y aprieta la tecla Enter. La computadora de esa persona actuará
como cliente y enviará una solicitud al servicio Web en el servidor de
Google. Este servicio, a su vez, actuará como un cliente y buscará en
Internet por sitios de meteorología. Eventualmente, descubrirá qué
sitios web son relevantes y devolverá una lista con estos sitios al cliente que
hizo el pedido.

Es importante notar en este ejemplo que la búsqueda en los sitios web es


realmente ejecutada por el servicio web de Google, sin interfaz de usuario,
es decir, es un servicio que se comunica con otro servicio. Desde el punto
de vista de la persona que escribió y apretó 'Enter', parecerá que su
computadora cliente hizo la magia de encontrar los sitios, pero la verdad es
que esa magia sucedió en los servidores de Google, que se comunicaron
con otros servidores por medio de Internet.

Pero, ¿cómo se comunican los clientes y los servidores? Utilizan un lenguaje


como el Inglés o portugués? ¿O ellos usan lenguajes de programación como
aprendimos en la clase pasada? Los clientes y los servidores se comunican
haciendo uso de protocolos de comunicación, específicamente el protocolo
TCP / IP (Transmission Control Protocol/ Internet Protocol).

En resumen:

- las personas se comunican entre sí utilizando lenguajes como el portugués


o Inglés;
- las personas comunican instrucciones a las computadoras mediante
lenguajes de programación como Pascal o Python;

- los clientes y los servidores se comunican mediante el protocolo TCP / IP.

¿Vamos a profundizar un poco más en el protocolo de comunicación TCP /


IP?

Vamos a entender mejor el protocolo TCP/IP.

TCP/IP es la forma de comunicación entre computadoras conectadas a


Internet. Vamos a ver los detalles recordando algunos conceptos que
trabajamos en la primera semana de este curso.

Todas las computadoras tienen una dirección numérica única


llamada dirección IP y además de esta dirección, poseen también
innumerables puertos donde las aplicaciones y los procesos se
comunican.

Imagina que el cliente, con dirección IP 177.175.79.80 desea, a través del


puerto 65, iniciar una conexión con el servidor de direcciones IP
185.187.87.88 en el puerto 80 para obtener la página principal de Facebook.

¿Cómo la computadora cliente sabe la dirección IP y el puerto de servicio


al que debe conectarse con el servidor para obtener la página de inicio de
Facebook si nada de eso fue informado?

La única información pasada fue la dirección de Facebook en la barra de


direcciones del navegador, es decir, www.facebook.com

Sucede lo siguiente: cuando una computadora está conectada a Internet,


está configurada para acceder a un servidor especial denominado servidor
de nombres o servidor DNS (Domain Name System), como es más conocido.
Este servidor funciona como una lista de direcciones.
Cuando escribimos la dirección www.facebook.com en la barra de
direcciones, estamos informando la dirección URL (Uniform Resource
Locator) del sitio.

Si el navegador no conoce la dirección IP para esta URL, entonces se


conecta con el servidor DNS y pregunta:

"Hola. Tengo la URL www.facebook.com, puedes informarme cuál es su


dirección IP? "

El servidor entonces responde:

"Sí la tengo, la dirección IP de esta URL es 185.187.87.88."

Por lo tanto, el servidor DNS toma la dirección URL y la convierte en una


dirección IP para averiguar en cuál computadora se almacena esta página.

Pero, ¿y el puerto? ¿Cómo sabe el cliente en qué puerto debe conectarse?

Para responder a esta pregunta, imagina el siguiente escenario:

Una persona pasa por tu barrio y te pregunta: "¿Dónde está el metro?". Y tu


respondes rápidamente: "El metro queda al final de esta calle.". Esto es
automático para ti, porque el metro siempre ha estado en el mismo lugar
desde que eras niño y difícilmente cambiar de lugar. Y si eso ocurre, los
interesados siempre son informados.

Lo mismo ocurre con los puertos disponibles en el equipo. Se conocen de


acuerdo con el servicio que ofrecen.

Ve algunos ejemplos:

- Si necesitas un servicio de transferencia de archivos, se puede encontrar


en el puerto 21.

- Si necesitas un servicio de entrega de correo electrónico, estará en el


puerto 25.

- Si necesitas un servicio de entrega de páginas de Internet, estará en el


puerto 80.

Y por ahí va...


Ahora que la computadora del cliente ya conoce la dirección IP del destino y
el puerto en el que desea conectarse, el cliente debe establecer una
conexión con el servidor.

La conexión se establece de la siguiente manera:

Cliente: Hola 185.186.87.88, deseo establecer una conexión en el puerto


80.

Servidor: Hola 177.178.79.80. Puedes realizar la conexión.

Cliente: Ok, iniciaré la conexión.

Después de establecer una conexión entre cliente y servidor, se


intercambian mensajes. Los mensajes intercambiados se producen a través
de paquetes. Los paquetes son fragmentos más pequeños de los datos que
transitan en la red. Por ejemplo, un mensaje de correo electrónico se puede
dividir en varios paquetes. Cada paquete contiene información como la
dirección de origen, la dirección de destino y la secuencia para que los
paquetes se puedan reconstruir al llegar a su destino.

                                                                      

Una característica importante es la garantía de entrega, gracias al protocolo


TCP / IP, pues todos los paquetes que salen del origen tienen la garantía de
que llegarán a su destino y que serán entregados de forma ordenada y sin
modificaciones.

Cada paquete puede viajar por la red por diferentes caminos, siendo
enviados de una computadora a otra, más o menos en la dirección de su
destino.

                           
Pero, ¿quién decide cuál es el mejor camino? Los enrutadores. Son
dispositivos capaces de realizar la comunicación entre varias redes que
componen Internet. El enrutador analiza cada paquete de información y
decide la mejor ruta hasta su destino. Cuando los paquetes llegan a su
destino, la información original se reconstituye.

TCP / IP, por lo tanto, es un protocolo de red que permite la comunicación


entre computadoras. Una conexión debe establecerse antes del inicio del
envío de paquetes. Se trata de un protocolo punto a punto, posee garantía
de entrega de paquetes de forma ordenada y sin modificaciones y posee
control de flujo.

Ahora vamos a hablar de servidores web.

Existe un servicio conocido como Servidor Web (también conocido como


servidores HTTP) que recibe y manipula todos los paquetes que vienen por
el puerto 80, es decir, son responsables del intercambio de solicitudes de
páginas de Internet entre usuario y servidor.

Los servidores Web permiten almacenar un conjunto de páginas Web. Es a


través de estos servidores que los sitios están disponibles para los usuarios
que los acceden.

En otras palabras, el servidor web es el responsable de poner a disposición


las páginas web de cada sitio.
Funciona de forma muy simple. Vamos a entender con un ejemplo.

Cuando un usuario abre un navegador, escribe la dirección de una


página Web y presiona una tecla para cargarla, el navegador envía una
petición HTTP a la dirección introducida. El sitio web alojado en el servidor
recibe la petición HTTP y responde con la página solicitada. Esta página es el
contenido de un archivo de extensión .html o .php que es interpretado por
el navegador y se muestra en la pantalla del usuario.

Generalmente un servidor web se implementa con diferentes tecnologías


como PHP (Hypertext PreProcessor) o servidores ASP (Active Server  Pages)
que permiten crear aplicaciones con contenido dinámico, junto con un
servidor de base de datos (como MySQL o Oracle) responsable del
almacenamiento de información . Si el servidor Web se implementa solo,
sólo sería capaz de mostrar páginas HTML estáticas.

Como hemos visto, en la arquitectura cliente / servidor tradicional el cliente


es el responsable de hacer una petición y esperar la respuesta del servidor.
En la arquitectura Publish / Subscribe, el concepto es otro. Vamos a entender
cómo funciona.

La arquitectura Publish / Subscribe es un modelo de comunicación entre


computadoras. En este modelo consumidores (subscribers - suscriptores)
expresan su interés en uno o más servicios, para que puedan ser
notificados cuando las informaciones generadas en estos servicios por un
productor (Publisher - publicador) combinan con la información de su
interés.

Podemos decir que la arquitectura Publish / Subscribe invierte el modelo


tradicional del cliente solicitando un servicio. En este modelo es el servidor
que inicia la comunicación y envía datos a los clientes que suscribieron el
servicio. En este modelo, es el servidor que empuja los datos a los clientes,
utilizando una arquitectura estándar llamada Publish / Subscribe.

                      

Vamos a ver un ejemplo. Los productores de información como sensores


son los publishers y publican sus lecturas en una base de datos. Las lecturas
se envían desde la base de datos a un gestor de eventos ubicado en el
servidor. Los consumidores de información interesados suscriben o firman
este gestor indicando para qué sensores desean recibir lecturas. Y de esta
forma, se convierten en suscriptores o suscribers. El gestor de eventos
recibe las lecturas de los sensores y las envía a sus respectivos clientes
abonados.

El uso de un gestor de eventos como mediador proporciona un


desacoplamiento entre productores (publishers) y suscriptores (subscribers).
Este desacoplamiento elimina cualquier dependencia entre ellos, aumenta
la escalabilidad (la adición o remoción de productores o abonados es
independiente de la interacción) y el ambiente dinámico resultante se
adapta bien en redes móviles donde hay frecuentes conexiones y
desconexiones.

oftware  es un conjunto de instrucciones que controlan el funcionamiento


de una computadora, es la parte de la computadora que no tiene peso y no
podemos tocar. Son los programas y aplicaciones que se ejecutan en la
computadora, en los smartphones, tablets, etc.
Las personas que escriben las instrucciones de software se
llaman programadores o programadoras. Ellos crean los programas
usando lenguajes de programación para comunicarse con computadoras.

Ada Lovelace, una mujer, creó el primer programa informático de la


historia en 1843.

Hay diferentes lenguajes de programación, algunos de bajo nivel


como Ensamblador o C y otros de alto nivel como Java o Python. También
existen lenguajes visuales que permiten la programación por bloques como
Scratch o AppInventor

La arquitectura cliente-servidor es un modelo que distribuye tareas entre


computadoras de los proveedores de un recurso o servicio,
denominados servidores, y computadoras solicitantes de servicios,
llamados clientes. Esta arquitectura supone que un cliente inicia una
solicitud enviando una solicitud a un servidor que la procesa y devuelve con
los datos solicitados.

Un cliente puede ser un smartphone, una tablet o una computadora.

Un servidor es una computadora con gran capacidad de procesamiento.

Y cuando el cliente y el servidor se comunican a través de Internet


llamamos a estos servicios de servicios Web. Los servidores Web permiten
almacenar un conjunto de páginas Web. Son responsables de poner a
disposición las páginas web de cada sitio.

TCP/IP es un protocolo de red que permite la comunicación entre


computadoras conectadas a Internet.

Todas las computadoras tienen una dirección numérica única


llamada dirección IP y también numerosos puertos donde se comunican
las aplicaciones y los procesos

La arquitectura Publish/Subscribe es un modelo de comunicación entre


computadoras.

En este modelo consumidores (subscribers - suscriptores) expresan su


interés en uno o más servicios, para que puedan ser notificados cuando las
informaciones generadas en estos servicios por un productor (publisher-
publicador) combinan con la información de su interés.
La arquitectura Publish/Subscribe invierte el modelo tradicional del cliente
solicitando un servicio. En este modelo es el servidor que inicia la
comunicación y envía datos a los clientes que suscribieron el servicio. 
Cuando vayas a crear tu aplicación de Internet de las Cosas con objetos
inteligentes contectados, vas a necesitar de:

- [OBJETOS] proyectar e implementar un hardware que se insertará en tus


objetos,

- [INTELIGENTES] programar un software que tendrá las instrucciones para


tu hardware y la lógica de la inteligencia de tus objetos,

- [CONECTADOS] utilizar arquitecturas y modelos de comunicación para


implementar la comunicación entre objetos

La arquitectura de IoT tiene tres componentes:

   

Como vimos, el componente de percepción / actuación, se refiere a las


partes del sistema de IoT que hacen interacción con el mundo físico. Es
decir, las partes que captan información y alteran estados.

¿Recuerdan los elementos de hardware de las cosas que interactúan con el


mundo físico? Son los sensores y actuadores. Los objetos inteligentes con
sensores y actuadores integran este componente de la arquitectura.

Como vimos, el componente de red es responsable de hacer conexiones en


el sistema de IoT.

Este componente define:

 Los tipos de red, por ejemplo: WAN, MAN, LAN, PAN.

 Las tecnologías de comunicación: WiFi, Bluetooth, 3G, 4G, etc.


 Las estrategias de conexión a la red: conexión directa, con
intermediarios, etc.

El componente de aplicación es la parte del sistema de Internet de las


cosas que entrega servicios para las personas. Este componente
reúne software y servicios Web. Vamos a estudiar el hardware y el software a
través de ejemplos.

¿Recuerdas el ejemplo de la iluminación urbana?

En él, los postes de luz inteligentes detectan cuando una lámpara se quema
y solicitan el cambio.
 
 
 
Comprendiendo el papel de los dispositivos

Para que el poste sea inteligente, necesitamos añadir algunos elementos


de hardware y software.
+ +

(Software)
(Hardware)

Vamos a empezar por el hardware. Ya hemos discutido en la clase anterior


las cuatro estructuras principales que componen el hardware de las cosas
en IoT: procesador, comunicador, fuente de energía y sensor / actuador.

                                                                                                                  

                  
(Hardware)

Luego tenemos:

Sensores: sensor de brillo bajo el poste. Este sensor comprueba la


luminosidad cerca del poste e indica si la luz es baja.

Comunicación: conexión por cable. Para que el poste de luz pueda hacer la
petición de cambio de lámpara, debe comunicarse. Para ello es necesaria
una conexión a una red de comunicación. Como el poste de luz es un
elemento fijo, vamos a considerar una conexión por cable en nuestro
ejemplo.
Procesador: Arduino. Para hacer el procesamiento del software que
ejecuta la lógica detrás del poste, necesitamos elegir una unidad de
procesamiento central, que puede utilizar una plataforma
de hardware libre, como Arduino, por ejemplo.

Fuente de alimentación: La toma. Para alimentar con energía eléctrica la


electrónica del poste de luz inteligente, podemos utilizar la conexión a la
red eléctrica por la toma, aprovechando que el poste ya tiene esta
conexión.

Como ya vimos, el poste de luz no es tan inteligente como para saber solo
qué hacer. Fue instruido por un programador para comprobar si hay
luminosidad y luego generar una solicitud de cambio de lámpara. ¿Vamos a
ver qué hace el software del poste de luz inteligente?

El software que se ejecuta en el poste de luz inteligente consiste en:

 Monitoreo de luminosidad: la función principal del poste de luz inteligente de


nuestro ejemplo es ayudar a mantener la iluminación pública funcionando. Para ello,
hay un sensor (hardware)  que comprueba la luminosidad cerca del poste e indica si la
luminosidad es baja. En este caso, un software es necesario para leer la luminosidad
captada por el sensor y activar la luz del poste. Sin embargo, si después de unos
segundos la luminosidad continúa baja, el sistema sabe que probablemente la lámpara
está quemada.

 El cliente web  que solicita el cambio de la lámpara: se ejecuta en el


procesador que está en el poste y envía una solicitud de cambio de lámpara
al servicio Web de Gestor de Iluminación Urbana, en caso de que
el Monitoreo de luminosidad detecte una lámpara defectuosa.

El software que se ejecuta en Internet:

 El Gestor de la Iluminación Urbana, un servicio web que recibe los


pedidos para el cambio de lámpara.

      
Por último, encajando los módulos de nuestro poste inteligente en la
arquitectura de IoT, tenemos:

    

Ejemplo 2: Contenedor de Basura inteligente para la recolección de


basura urbana
 Marcar esta página
En este ejemplo, los contenedores de basura avisan cuando están llenos, o
listos para ser vaciados.

Basureros llenos

Basureros parcialmente llenos
Vamos a estudiar ahora qué elementos de hardware y software son
necesarios para que los basureros puedan realmente hacerlo.

                                     

+ +

Vamos a empezar por los cuatro componentes del hardware: procesador,


comunicador, fuente de energía y sensor/actuador:
 Sensores: sensor de peso (detecta el peso de la basura interna) y de
presencia (detecta el nivel de la basura). Necesitamos utilizar sensores que
identifiquen si el contenedor está lleno.

 Comunicación: conexión inalámbrica, utilizando la red de datos móvil (3G)


para conexión a Internet. Para que los contenedores de basura inteligentes
puedan comunicarse, necesitan una conexión a una red de comunicación.

 Procesador: Arduino. Para hacer el procesamiento del software que se va a


ejecutar en el contenedor, necesitamos elegir una unidad de procesamiento
central, que puede utilizar una plataforma de hardware libre, como Arduino, por
ejemplo.

 Fuente de alimentación: La toma. Para alimentar con energía eléctrica la


electrónica que queda dentro del contenedor de basura inteligente, podemos
utilizar la conexión a la red eléctrica por una toma.

El software del contenedor de basura inteligente consiste en:

 Un módulo que utiliza el valor de las lecturas de los sensores de peso y de


presencia para decidir si es necesario retirar la basura.

 Un  cliente web, que hace la solicitud de recolección de basura para un


servicio web de gestión de residuos.

Además de que el software y el hardware se ejecutan en el contenedor de


basura, esta aplicación interactúa con el software que se ejecuta en
otro hardware:

 Un servicio web, Gestor de Residuos, que recibe los datos sobre el llenado
de los contenedores y que genera las rutas de recolección de residuos para los
camiones de recolección de basura.
Por último, encajando los módulos de nuestro basurero inteligente en la
arquitectura de IoT, tenemos en el componente de percepción, el
contenedor de basura inteligente con los sensores de peso y de presencia;
en el componente de red, la conexión a Internet por 3G; en el componente
de aplicación el Monitor de Nivel de llenado de los contenedores de basura
y el Administrador de Residuos que genera las rutas de los camiones de
recolección.

  

Ahora vamos a analizar el hardware y el software que están detrás del


ejemplo de la nevera inteligente. ¿Recuerdan lo que la nevera inteligente de
nuestro ejemplo hace? Ella detecta los alimentos que están en su interior,
genera una lista de compras y hace compras por Internet, además de
opcionalmente, también proporcionar sus datos a instituciones de
investigación sobre salud alimentaria.

¿Qué elementos de hardware y software son necesarios para que la nevera


pueda hacerlo?
+ +

Vamos a empezar por nuestros ya conocidos componentes del hardware:


procesador, comunicador, fuente de energía y sensor/actuador.

El hardware que se ejecuta en la nevera consiste en:

 Sensor: identificador de productos. Necesitamos utilizar un sensor


que identifique cuáles son los elementos que están en el interior de la
nevera inteligente, para que pueda generar la lista de compras. Se podrían
utilizar varios tipos de sensores, como por ejemplo: una cámara, un
detector de RFID o un lector de códigos de barras.

 Comunicación: conexión inalámbrica, utilizando Wi-Fi para conexión


a Internet. Para que la nevera inteligente pueda comunicarse, necesita una
conexión a una red de comunicación. Como en muchas casas tenemos
redes Wi-Fi conectadas a Internet, vamos a considerar este tipo de conexión
en nuestro ejemplo.

 Procesador: Arduino. Para hacer el procesamiento del software que


se ejecuta en nuestra nevera, necesitamos elegir una unidad de
procesamiento central, que puede utilizar una plataforma
de hardware libre, como Arduino, por ejemplo.

 Fuente de alimentación: toma. Para alimentar de energía eléctrica


la electrónica que queda dentro de la nevera inteligente, podemos utilizar la
conexión a la red eléctrica por la toma, aprovechando que la nevera ya
tiene esta conexión.

La nevera inteligente de nuestro ejemplo, tiene varias funciones. Como ya


vimos, cada una de estas funciones son instruidas para la nevera inteligente
por el software. Vamos a ver cuáles son las partes del software que
componen nuestra nevera inteligente.

 Lista de Compras: la principal función de la nevera inteligente de


nuestro ejemplo es ayudarnos a mantener la nevera abastecida. Para ello,
la nevera inteligente utiliza las informaciones captadas por el sensor que
identifica cuáles productos están dentro de la nevera para montar una lista
de compra.

 Servicio web para acceder a la lista de compras: para que la lista


de compras pueda ser accedida a través de un teléfono móvil, la nevera
inteligente ofrece un servicio Web. Este acceso podría ser hecho por
Internet o por la red local de la casa.

 Cliente web para hacer compras automáticamente: para que las


compras de la lista de compras se hagan automáticamente, la nevera
inteligente necesitará tener un cliente Web para comunicarse con un
supermercado con ventas online y hacer las compras de los productos que
faltan en la nevera.

 El cliente web para contribuir con investigaciones sobre los


hábitos de consumo en Brasil: para enviar la lista de productos de la
nevera a una institución que recoge datos para hacer el análisis de
alimentación de los brasileños, la nevera debe tener un cliente web que
envía la lista de productos de la nevera a un servidor de la institución de
investigación.

Además del software y del hardware que se ejecutan en la nevera, esta


aplicación interactúa con otros programas de software que se ejecutan en
otro hardware:

 La aplicación para la consulta de la lista de compras en el móvil:


para poder usar el teléfono y acceder a la lista de compras con los
elementos que faltan en la nevera, el teléfono debe tener una aplicación
que es un cliente Web. El cliente web accesa al servicio Web que se está
ejecutando en la nevera y pide la lista de compras para él.

 Servicio de compras de supermercado online: para hacer las


compras de los productos que están en la lista de compras, la nevera
Inteligente se comunica con un servidor que tiene un servicio Web de un
supermercado que ofrece compras online.

 Análisis de hábitos de consumo alimentario: para que la nevera


inteligente pueda compartir los datos sobre el consumo de alimentos,
necesita conectarse a un servidor con un servicio web de una institución
que haga este tipo de investigación.

                                                                    
Por último, encajando los módulos de nuestra nevera inteligente en la
arquitectura de IoT, tenemos en el componente de percepción el sensor
para identificar los productos, en el componente de red la conexión a
Internet vía Wi-Fi, en el componente de aplicación el Gestor de Productos
que genera la lista de compras y el Servicio de Análisis de Hábitos de
Consumo.

                                                                                                 

Mostramos hasta aquí cómo aplicar hardware y software para construir


algunos ejemplos de sistemas de IoT.

Pero, ¿es ésta la única manera de concretar estos ejemplos? ¿No podrían
ser construidos de otra manera? La respuesta es sí. Hay varias maneras de
construir un sistema que implementa una misma función.

¿Recuerdas que en la clase de hardware hablamos de los compromisos que


debemos considerar para construir un objeto inteligente?
Las elecciones que hacemos para la construcción de una solución van a
moldear el resultado final de nuestro proyecto. Cada elección tiene sus
impactos positivos y negativos, siendo que un proyecto busca alcanzar un
equilibrio entre estos impactos.

Cuanto más inteligentes sean los objetos que utilizamos en nuestras


soluciones de IoT, más potentes deberán ser sus procesadores.

Un procesador más potente cuesta más caro y consume más energía


eléctrica. Un consumo de energía eléctrica más alto requiere el uso de
baterías más grandes. Las baterías más grandes ocupan más espacio,
pesan más y son más caras.

                                                                                

¿Será que podríamos alterar los ejemplos del Poste de Iluminación, de los


contenedores de basura y de la nevera para tener objetos menos
inteligentes pero que todavía hagan lo mismo? Sí. Podríamos disminuir la
inteligencia de los objetos inteligentes si pudiéramos transferir parte
del software que se ejecuta en ellos para ejecutarse en otro lugar.

POSTE INTELIGENTE

En el caso del Poste de Iluminación Inteligente, el software ya es bastante


simple. Como vimos, el software que se ejecuta en el poste de luz inteligente
consiste en un módulo de monitoreo de luminosidad y un cliente
web que solicita el cambio de la lámpara. Él ya está minimalista, así que no
tenemos nada que sacar de él.
CONTENEDOR DE BASURA  INTELIGENTE

Lo mismo ocurre con el basurero Inteligente, que también posee sólo el


módulo que monitorea el nivel de llenado del contenedor y un cliente
Web, que son indispensables para el funcionamiento del mismo.

NEVERA  INTELIGENTE

Nuestra nevera inteligente, tiene un poco más de software: además de la


identificación de los elementos que están almacenados en la nevera, ella
posee un sistema para que el dueño de la nevera diga cuáles elementos
quiere que estén siempre en la nevera (para generar la lista de compras).
También tiene un servicio Web para distribuir la lista de compras para
quien lo necesite. ¡Tiene todavía un módulo que hace compras online y otro
que contribuye con investigaciones sobre hábitos de alimentación!
En resumen, la nevera inteligente tiene los siguientes módulos de software:

 Identificador de elementos;

 Lista de compras;

 Servicio Web para acceder a la lista de compras;

 Cliente Web para realizar compras automáticamente;

 Cliente Web para contribuir con investigaciones sobre los hábitos de


consumo en Brasil.

Para simplificar el software de la nevera inteligente, podríamos mantener en


ella sólo la identificación de los productos que están en su interior. Así
el software de la nevera inteligente consistiría en:

 Identificador de elementos en la nevera;

 Cliente web para enviar la lista de elementos en la nevera.


rma no tendríamos objetos tan inteligentes así. Pero si estas funciones ya
no se ejecutaran en nuestros objetos inteligentes, ¿dónde se van a ejecutar?

El contenido pasa a estar disponible en la nube, es decir en Internet,


pudiendo ser accedido desde cualquier dispositivo en cualquier momento.

La computación en nube consiste en pasar tareas de una computadora


local para una infraestructura en otra ubicación, accedida por Internet. Esta
infraestructura consiste en un conjunto de recursos computacionales, que
pueden ser componentes de hardware, red, almacenamiento, software y
aplicaciones.

En nuestro caso, podemos considerar que parte del software que se estaba


ejecutando en el objeto inteligente, se ejecutará en algún servidor
conectado a Internet, accesible como un servicio Web.

Ahora vamos a ver cómo estos servidores en la nube podrían ayudar a


mantener la funcionalidad de nuestra nevera minimalista!

¿Recuerdan que sacamos algunos módulos de software, incluyendo el


servicio web de la nevera? ¡Vamos a ejecutarlos en un servidor en la nube!

Así, al final la solución completa quedaría de la siguiente forma:

Lista de compras pendientes y administración de los elementos deseados

                                                     

 AnteriorEl término computación en neblina fue creado para denominar la


computación realizada en dispositivos con menor capacidad de
procesamiento, pero próximos al usuario final, en oposición al
procesamiento en servidores, que ocurre en la nube.
La computación en neblina puede designar computación en objetos
inteligentes o en dispositivos entre objetos y servidores, como gateways  y
enrutadores.

Existe todavía el término computación en el borde o edge computing, para


designar el procesamiento en los objetos.

En esta clase analizamos algunas formas de


aplicar hardware y software para construir soluciones para Internet de las
Cosas.

Aprendimos aún dos enfoques para construir nuestra solución para IoT:

 Centrada en la nube, con objetos minimalistas

 En neblina, con objetos más inteligentes

En esta clase consideramos ejemplos de objetos inteligentes grandes,


conectados en la toma.

En la próxima clase vamos a estudiar cómo implementar soluciones para


objetos inteligentes muy pequeños. Vamos a entender cómo esto cambia
nuestro proyecto. ¡No te la pierdas!

Varias aplicaciones de Internet de las Cosas prevén el uso de dispositivos


que necesitan ser ligeros, pequeños e inalámbricos.

Para que no tengan cables, es necesario que la alimentación del objeto sea
hecha por baterías y que utilice algún estándar de comunicación
inalámbrica.

Como hemos visto en la clase de hardware, existe un compromiso entre la


capacidad de comunicación (distancia y cantidad de datos) y el consumo de
energía.

Por lo tanto, para dispositivos miniaturizados y con batería, es deseable


utilizar un estándar de comunicación para cortas distancias y con baja tasa
de transmisión de datos. Un ejemplo de este tipo de estándar es
el Bluetooth Low Energy (BLE).

En ese caso el BLE y otros estándares funcionan bien, sin embargo ellos no


se conectan a Internet!

Por lo tanto, para permitir el uso de este tipo de tecnología de corto


alcance, los objetos inteligentes pueden utilizar un gateway.

Vamos a comprender un gateway y su función.

Gateway  es una palabra de la lengua inglesa que significa portal.

En Internet de las Cosas, los gateways  se utilizan como intermediarios entre


objetos inteligentes e Internet. Los gateways  hacen la interconexión entre redes.
Ellos poseen dos protocolos de comunicación y hacen la traducción entre ellos.

Pero ¿cómo funciona el gateway en Internet de las Cosas?

En IoT, los objetos inteligentes que poseen restricción de batería se


comunican con un gateway a una distancia corta y el gateway a su vez se
comunica con Internet con otro estándar de comunicación, para largas
distancias. De esta forma el gateway  tiene el papel de conectar el objeto inteligente
a Internet.

Los estándares de comunicación inalámbrica con bajo consumo de energía


que normalmente se utilizan para la comunicación con
el gateway  son: Bluetooth, Bluetooth Low Energy y  Zigbee.

La comunicación entre gateways e Internet se suele realizar con: Wi-Fi,


Ethernet y redes de datos de teléfonos móviles (GPRS, 3G, 4G).

                      

Vamos a analizar un ejemplo...

La figura abajo muestra un ejemplo de un reloj inteligente que utiliza un


teléfono móvil como gateway para la comunicación con la nube.

En este ejemplo el reloj, además de mostrar las horas, también posee un


sensor de latidos cardíacos (ya que está siempre en la muñeca, es fácil
medir).

Y estos datos de latidos cardíacos podrían ser enviados, por ejemplo, a los
servidores (que están en la nube) del hospital en que el usuario es
convenido, para el análisis del médico responsable.
Sin embargo, este reloj sólo dispone de  Bluetooth Low Energy (BLE) para
comunicarse, lo que significa que necesita una pasarela para enviar datos a
Internet.

En este caso, el gateway  es un smartphone, que tiene ambas tecnologías de


comunicación: BLE y WiFi. Al actuar como un gateway el smartphone recopila
la información del sensor utilizando BLE y las envía al servicio Web del
hospital a través de Internet utilizando WiFi!

También es posible conectar varias cosas a un mismo gateway.

En una extrapolación del ejemplo del reloj inteligente, podríamos


considerar varios sensores ligados a nuestros cuerpos, identificando
además de latidos cardíacos, caída y alteración de señales vitales.

Todos estos sensores se comunican con un smartphone por Bluetooth


Low Energy (BLE) y el smartphone a su vez se comunica con Internet por Wifi,
actuando como gateway para enviar los datos de todos los sensores a
Internet.

                                        

En una ciudad inteligente se estima que puede haber una gran cantidad de
cosas conectadas, incluyendo medidores de consumo de agua, luz y gas,
basureros y postes de luz inteligentes, puestos de estacionamiento
conectados, etc.
Todas estas cosas necesitan ser conectadas y una parte de ellas no posee
fuente de energía eléctrica. Para viabilizar las aplicaciones de Internet de las
Cosas hay un esfuerzo para el desarrollo de una red de comunicación de
baja potencia para cubrir el área de una ciudad.

Estas redes de comunicación de baja potencia se están construyendo


utilizando gateways compartidos. Una variedad de cosas inteligentes
pueden conectarse a un mismo gateway  que hará el puente de ellas con
Internet.

Los ejemplos de estándares de comunicaciones de este tipo son:

 LoRA: un estándar de comunicación de baja capacidad de


transmisión, pero de largo alcance y bajo consumo de energía.

 LTE MTC: una especialización del estándar LTE (la tecnología detrás
del 4G) enfocada en el bajo consumo de energía.

 NB-IoT: similar a los anteriores, pero con foco en ambientes internos


(casas, edificios, etc.).

Una red de este tipo, utilizando el estándar LoRA, fue desarrollada en


Holanda. La red se puso a disposición en noviembre de 2016 y a mediados
de 2017, ya había más de un millón y quinientos mil dispositivos
conectados.

Este tipo de red es un ejemplo real del uso de gateways con múltiples cosas
conectadas.
 Anteriorxisten todavía algunas aplicaciones en las que hay amplias áreas
cubiertas con dispositivos de percepción, como en la agricultura por
ejemplo. Estos dispositivos de percepción pueden estar midiendo el nivel
de nutrientes y humedad del suelo, por ejemplo.

En este caso, para minimizar la necesidad de comunicaciones de larga


distancia, los dispositivos pueden pasar sus medidas de uno a otro, hasta
llegar a un gateway. De esta forma, los sensores necesitan conectarse sólo
con sus vecinos, lo que hace que las comunicaciones puedan ser de corto
alcance, reduciendo el consumo de energía.

A los sensores que agregan los datos recogidos de los otros sensores y que
hacen la conexión con el gateway, los llamamos sumideros. En otras
palabras, los sumideros acumulan las medidas de un conjunto de sensores
y pasan estos datos a un gateway.
También existe una estrategia de conectividad que utiliza gateways móviles.
En esta estrategia, los datos de los sensores son agregados en varios
sumideros y un gateway móvil se utiliza para recoger los datos de estos
sumideros.

Los gateways móviles pueden ser cargados por cualquier medio, ya sea por


vehículos, animales, personas, robots, etc.

 Ant arquitectura de sistemas de IoT tiene tres componentes:


 percepción / actuación: las partes del sistema de IoT que hacen
interacción con el mundo físico;

 red: responsable de hacer conexiones en el sistema de IoT;

 aplicación: la parte del sistema que entrega servicios para las


personas.

 Objetos Inteligentes y Compromisos

 Cuanto más inteligentes sean los objetos, más potentes deberán ser
sus procesadores. Un procesador más potente cuesta más caro y
consume más energía eléctrica. Un consumo de energía eléctrica
más alto requiere el uso de baterías más grandes. Las mayores
ocupan más espacio, pesan más y son más caras.

 Procesamiento en Nube

 La computación en nube consiste en pasar las tareas de una


computadora local para una infraestructura en otra ubicación,
accedida por Internet. Esta infraestructura consiste en un conjunto
de recursos computacionales, que pueden ser componentes
de hardware, red, almacenamiento, software y aplicaciones.

 Para ahorrar espacio y consumo de energía, podemos considerar


objetos menos inteligentes con parte del software (o de la inteligencia
del objeto) siendo ejecutado en la nube.
 Minimizando la inteligencia de los objetos y utilizando al máximo el
procesamiento en la nube. Lo que se denomina Cloud Centric IoT
(Centrado en Nube);

 Explorando la inteligencia de los objetos, utilizando Internet para la


comunicación entre objetos. Lo que se denomina
Inc Computing (Computación en Neblina) o Edge
Computing (Computación en Borde).

 Los Gateways  se utilizan como intermediarios entre objetos


inteligentes e Internet.
 En Internet de las cosas, el gateway tiene el papel de conectar el
objeto inteligente a Internet.
 Los objetos inteligentes con restricción de batería se comunican con
un gateway que utiliza un estándar de comunicación inalámbrica con
bajo consumo de energía (como Bluetooth y Bluetooth Low Energy)
y el gateway  a su vez se comunica con Internet.
 Puedes conectar varios objetos inteligentes a un mismo gateway.
 Para minimizar la necesidad de comunicaciones de largas distancias,
algunas implementaciones de sistemas de IoT utilizan objetos que
pasan los datos que recogen para objetos vecinos, de uno a otro
hasta llegar a un gateway. Los objetos que agregan datos
recolectados de otros se llaman sumideros.
 Los sumideros acumulan medidas de un conjunto de sensores y
pasan estos datos a un gateway.
 También existe una estrategia de conectividad que
utiliza gateways móviles. En este caso, los datos de los sensores se
agregan en varios sumideros y un gateway móvil se utiliza para
recoger los datos de los sumideros.
 En una ciudad inteligente se estima que puede haber una gran
cantidad de cosas conectadas, parte de ellas no posee fuente de
energía eléctrica.
 Para viabilizar aplicaciones de Internet de las Cosas se están
construyendo redes de comunicación de baja potencia y también
utilizando gateways compartidos que hacen el puente entre objetos
inteligentes e Internet.

También podría gustarte