Introducción
El “Internet de las Cosas” (Internet of Things - IoT por sus siglas en inglés) es una tecnología en la que pequeños dispositivos electrónicos pueden conectarse a internet, permitiendo el desarrollo de nuevas aplicaciones y servicios. Recientemente, la aplicación de la tecnología IoT a sistemas de eficiencia energética ha despertado interés, sobre todo para el monitoreo de la eficiencia de sistemas en tiempo real. (Escobar, 2018). IoT garantiza que las personas estén conectadas en cualquier lugar y en cualquier momento, utilizando cualquier red y cualquier servicio. (Karimi & Krit, 2018)
En la sociedad actual, el Internet de las cosas está empezando a tomar relativa importancia en el día a día de la gente, propiciando la integración de la tecnología en la mayor parte de las tareas cotidianas y en todos los elementos con los que interaccionamos. El hogar es uno de los medios más importantes, pues en él pasamos una gran parte de nuestro tiempo, además de ser el lugar donde buscamos el descanso, guarecemos a los que queremos y nos acomodamos según nuestros gustos. (Melo Solanes, 2015)
La automatización del hogar, lo que en las películas de ciencia ficción muestran cómo controlar las luces de una casa desde la internet, usando nuestro celular, y poder controlar todo dispositivo remotamente, actualmente ya es posible gracias a dos factores importantes: liberación de tecnología de control hacia Open Source antes era la costosa tecnología propietaria con derechos de uso como Labview y segundo, la reducción del tamaño de los circuitos integrados. Los objetivos principales del hogar inteligente son la comodidad, la atención médica, y servicios de seguridad. (Karimi & Krit, 2018)
La domótica no se había desarrollado porque lospaquetes de software comerciales y sus licencias sonprohibitivamente costosas como LabView y MATLAB (Foster, Alirangues, Naesea, Constans , & Grinias ,2019) además del hardware muy costoso.
Las plataformas de soluciones de hardware y software de código abierto ofrecen flexibilidad adicional a los usuarios finales. Las licencias de código abierto brindan la oportunidad de modificar y mejorar aún más los diseños proporcionados por los desarrolladores originales, una estrategia que no se puede lograr con la mayoría de los dispositivos comerciales.
La Domótica como tal, es un conjunto de sistemas que permite automatizar una vivienda (2), procede del latín Domus y de la palabra griega TICA que significa casa y automática correspondientemente. (Junestrand, Passaret, & Daniel, 2005)
El presente trabajo explica las tecnologías disponibles para domótica usando internet, y finalmente se muestra cómo realizar comunicación entre dispositivos IOT (Arduinos) para controlar las luces y automatizar el control de un aire acondicionado, la comunicación se realiza con comandos HTTP GET y PUT usando un servidor Web con varias aplicaciones ASP NET con Base de datos SQL SERVER.
El presente documento es un punto de arranque para todo investigador que desee comunicarse con dispositivos IOT a través de Internet.
Marco teórico
Antiguamente existían las tecnologías propietarias para el control automático de procesos, tales como PLC (Controlador Lógico Programable), RTU (Remote Terminal Unit), o Hardware DAQ, con los cuales se puede hacer control automático y programable de otros equipos como motores, relés, pero la desventaja es que era muy complicado de aprender y muy costosa la tecnología. (TAMAYO DOMÍNGUEZ, 2016).
La domótica incluye poder controlar dispositivos eléctricos del hogar como: luces, aire acondicionado, video vigilancia, seguridad del hogar, detector de incendios.
Hardware DAQ:
Son tarjetas de adquisición de datos que se conectan a una computadora programable para controlar alguna máquina. (National Instruments, 2017)
La tendencia Open Source en software también llegó a la electrónica, es así como desarrolladores decidieron crear hardwares open Source para control automático, entre ellos: Arduino, Raspberry.
Arduino:
Arduino es una plataforma de hardware basada en microcontroladores de código abierto e IDE de software (entorno de desarrollo integrado), que se puede utilizar para escribir código para manipular el hardware. Arduino fue desarrollado en Italia en el año 2005, con fines de aprendizaje. El IDE está construido en JAVA y el lenguaje de programación es C++. El IDE se puede descargar gratis. (Bodarky & Herger, 2015).
Arduino fue creado por Hernando Barragán (colombiano), como un proyecto de tesis, en el Interaction Design Institute Ivrea (IDII) de Italia. El objetivo de la tesis fue facilitar a los artistas y diseñadores trabajar con la electrónica, abstrayendo los detalles a menudo complicados de la electrónica para que puedan centrarse en sus propios objetivos. (Barragan).
Arduino está bajo licencia Creative Commons de código abierto para los desarrolladores. (Creative Commons, 2019)
La última versión es ARDUINO UNO R3 a la fecha de escritura del presente artículo octubre del 2019.
Otros modelos de Arduino
Arduino NodeMCU
NodeMCU es un microcontrolador diseñado como hardware Arduino Entrada Salida (IO). NodeMCU utiliza Wi-Fi con el chip ESP8266, el controlador (MCU) que presenta un consumo de energía extra bajo y RSIC de 16 bits, que alcanza una velocidad de reloj máxima de 160 MHz. (Barai, Biswas, & Buddhadeb, 2018). NodeMCU ESP8266 tiene una capacidad de memoria de 4 MB. Considerando la implementación de algoritmos de consenso en el hardware, el cual requiere una gran asignación de memoria, entonces la capacidad del NodeMCU ESP8266 es suficiente para la ejecución del consenso mínimo (Suprianto, 2019).
El principal atractivo de este Arduino es que trae integrado el chip para WIFI y se puede conectar a redes WIFI, y trabajar servidor de páginas web la red con comandos HTTP.
DIY
"DIY" significa "hágalo usted mismo". Se refiere a que un aficionado sin diferencias de sexo, edad y ocupación, pueda ensamblar las piezas y obtener los resultados deseados.
La mayoría de sensores y actuadores para Arduino vienen con la etiqueta DIY.
MICROCONTROLADOR
Los microcontroladores son un tipo de dispositivo informático pequeño que aborda algunas de las dificultades involucradas en la creación de prototipos con la electrónica al introducir el concepto de programación. La misma unidad puede comportarse de diferentes maneras, simplemente haciendo o modificando un programa de software para adaptarlo a una necesidad o propósito específico. Los lenguajes de programación disponibles para programar microcontroladores van desde versiones nativas de ensambladores, C y BASIC, pero hay otros que se pueden programar en los lenguajes de programación más populares como Java o Logo. La mayoría de los lenguajes están vinculados a los detalles específicos de una tecnología, lo que dificulta aprender los conceptos básicos de programación y electrónica al mismo tiempo (Barragán, 2003)
Raspberry
Raspberry es una computadora creada con el objetivo de que sea económica para estimular la enseñanza de ciencias de la computación en las escuelas. Fue creada en el Reino Unido y presentada al mundo en el año 2012. El inventor Eben Upton la desarrolló en los laboratorios de Informática de la Universidad de Cambridge. (García & Chaos, 2019). Raspberry 4, es la última versión a la fecha de escritura de este artículo
Raspberry Pi es una microcomputadora de bajo consumo energético y altamente personalizable, posee muchas características que son útiles para los investigadores.
Características Raspberry Pi 3 Modelo B+
Raspberry tiene: un chip inalámbrico incorporado, cuatro puertos USB y 40 entradas / salidas de propósito general (GPIO) patas. En conjunto, esto permite que el Pi procese, almacene y cargue datos recopilados por múltiples sensores. (Courter & McBride, 2018) Además, presenta una salida de audio y vídeo a través de un conector HDMI, lo que permite que podamos conectar la tarjeta tanto a monitores como a televisores que cuenten con una conexión de este tipo. En el apartado del vídeo, tiene una salida de vídeo compuesto y una salida de audio a través de un conector mini Jack. Ver imagen.
Tanto a Arduino como a Raspberry se le pueden conectar sensores y actuadores, pero en la relación de costes, Arduino es más económico.
SENSORES
Un sensor es un dispositivo que detecta o mide una cantidad física, y en este libro los tipos de sensores que nos interesan son los tipos cuya salida es eléctrica. (Sinclair, 2001).
ACTUADORES
El dispositivo opuesto a un sensor es un actuador, que convierte una señal (generalmente eléctrica) en alguna acción, generalmente mecánica, por ejemplo un motor, una llave de agua.. (Sinclair, 2001).
DESARROLLO DE CONTROL DE LUCES
La placa NodeMCU da error al controlar el relé, esta función la realiza el Arduino uno.
Maestro: NodeMCU wemos, se conecta al WIFI y obtiene de la página web el último estado.
La lógica funciona de modo que el ARDUINO está obteniendo el estado de la base de datos cada 2 segundos,
Para el desarrollo se ha usado ASP NET por la facilidad y dominio del lenguaje.
COMUNICACIÓN ENTRE NODEMCU (Maestro)y Arduino Uno (Esclavo)
Fuente: El autor, para referencia se usó la información de enlace entre dos Arduino UNO https://programarfacil.com/blog/arduinoblog/conectar-dos-arduinos-i2c/
NOTA: No se pudo controlar el relé desde el Arduino NODEMCU por esta razón se tuvo que controlar desde el Arduino uno.
CÓDIGO EN EL SERVIDOR WEB PARA DEVOLVER ESTADO AL ARDUINO
Se debe crear un sitio web ASP con una página que entrega el dato del estado del campo de la tabla que diga 1 o 0 para encendido o apagado.
Al ser invocada la página carga el último valor de estado encendido = 1 o apagado = 0 y lo devuelve en response.write
Recuperación de datos desde web aspx
Dim dta As
wd.dsarduinoTableAdapters.lucesTableAdapter
Dim ds As wd.dsarduino.lucesDataTable
CÓDIGO PARA EL ARDUINO UNO
Del lado del esclavo - Arduino Uno - controla el encendido y apagado de las luces
CONCLUSIONES
Se puede concluir que:
A la práctica el Arduino NODEMCU da problemas al tratar de controlar un relé
La comunicación exacta para el Arduino depende de solo las siguientes líneas
El Relé viene preparado para voltajes desde 5 a 220 V
La programación del lado del servidor se puede hacer en cualquier lenguaje que soporte páginas web para backend
El costo de este modelo fue de 41 dólares, pero se podría controlar 4 luces solo cambiando el relé simple por uno de multicanal invirtiendo 8 dólares, es decir 49 dólares, actualmente