Domótica – IoT (Internet of Things – Internet de las cosas)

La domótica es un conjunto de sistemas y/o tecnologías que permiten la automatización de casas, oficinas, edificios, depósitos, etc.


Estos sistemas pueden ser:

  • Seguridad:

    • Alarmas:

      • Cableadas y/o inalámbricas.
      • Alarmas autónomas, con reportes o monitoreadas.
    • Controles de accesos:

      • Autónomos y/o con comunicaciones.
      • Controles con pestillo, cerraduras independientes.
      • Accesos con tarjeta, con tags, utilizando las huellas y/o con reconocimiento facial.
    • Cámaras:

      • Cámaras de CCTV
      • Cámaras HD.
      • Cámaras IP.
      • Sistemas Híbridos.
      • Cámaras ocultas.
  • Gestión eficiente del uso de energía

    • Manejo automático de luces.
    • Control de temperatura en los ambientes.
  • Aplicaciones de Confort: 

    • Manejo de luces / escenarios.
  • Entretenimiento:

    • Música centralizada en todos los ambientes.
    • Centros de entretenimiento (Cine – TV)
  • Comunicaciones:

    • Red inalámbrica.
    • Cableado estructurado.
    • Telefonía.

Hoy en día se habla mucho de IoT (Internet of Things – Internet de las cosas). Básicamente es la interconexión, monitoreo y control de dispositivos como ser electrodomésticos, sensores, maquinas, etc. IoT es utilizado en comercios, industrias, y hogares.


La idea particular de incorporar esta tecnología para este proyecto, es para el confort del hogar y para el control remoto del mismo fuera de nuestro hogar.

Todo sistema iot requiere de un servidor de control de nodos y para correr los automatismos que necesitemos, en este proyecto se utilizó una placa raspberry pi3, instalando un s.o. raspbian lite que permite correr un servicio mqtt para el intercambio de mensajes del sistema iot.

En el s.o. raspbian se instaló el servicio mosquitto, como broker mqtt, y como por defecto el s.o. ya incluye python, la parte de automatismos se diseño en un par de scripts en python 2.7.

Para los nodos se utilizó las placas nodeMCU, por su bajo costo y su diseño sencillo, las mismas se programan en lenguaje Lua y vienen de muchos modelos dependiendo de la aplicación que necesitemos diseñar. Estas placas están basadas en el chip esp8266, por lo tanto integran tecnologia WiFi.

Placa nodeMCU con esp8266 integrado

Placa esp8266

Algunas características del esp8266:

  • Protocolos soportados: 802.11 b/g/n
  • Wi-Fi Direct (P2p), Soft Access Point
  • Stack TCP/IP integrado
  • PLL, reguladores y unidades de manejo de energía integrados
  • Potencia de salida: +19.5dBm en modo 802.11b
  • Sensor de temperatura integrado (SEGÚN EL MODELO)
  • Consumo en modo de baja energía: <10 uA
  • Procesador integrado de 32 bits, puede ser utilizado como procesador de aplicaciones
  • Wi-Fi 2.4 GHz, soporta WPA/WPA2
  • Tamaño ultra reducido (11.5mm x 11.5mm)
  • Conversor analógico a digital de 10-bit
  • Soporta variedad de antenas
  • Integrated low power 32-bit MCU
  • SDIO 2.0, SPI, UART, I2C
  • Encendido y transmisor de datos en menos de 2ms
  • Rango de operación -40C° ~ 125C°

Con estas placas de conexión WiFi el nodeMCU se convierte en un sistema poderoso de comunicación, con amplias posibilidades de control para cualquier aplicación a diseñar. No hay que olvidar que se alimenta con tan solo 5VDC y que su consumo no supera los 200mA (con salidas transistorizadas). Como ya se destaco, permite la programación en lenguaje Lua, el cual prácticamente permite realizar cualquier lógica de control y comunicación. Existe una gran librería disponible para su programación.

Programación en Lua:

Lua es sencillo y de fácil manejo, podemos encontrar la mayoría de las rutinas y el formato es similar a C. Existen muchas web de ejemplos y hay material actualizado de forma constante.

https://github.com/nodemcu

Como compilador para el script, hay mucho software de probar y estudiar, hasta se puede comunicar con el IDE de Arduino instalando los repositorios necesarios. En este proyecto se utilizó el ESPlorer que a nivel personal es cómodo.

Los archivos de scripts que escribimos pueden tener cualquier tipo de nombres, pero necesitamos que exista un script de inicio que llame a estos luego, este script de inicio debe tener el nombre init.lua. Podemos escribir todo nuestro código en un único script que se llame init.lua o podemos ordenar el código en diferentes scripts con un init.lua que los llama al energizar nuestro nodeMCU.

init.lua

init_main.lua


Con este proyecto podemos integrar cualquier electrodoméstico, sistema electrónico, alarma, teléfono, o tan solo un sistema eléctrico que necesitamos automatizar; con estas placas electrónicas es posible incorporar automatismo y comunicación a cualquier cosa, solo se necesitan ideas y ganas de desarrollar.

Enlace para bookmark : Enlace permanente.

No se admiten más comentarios