Background Image
TECNOLOGÍA

Diversión con IoT, Parte 2

Headshot - Jeffrey Worner

March 21, 2023 | 6 Minuto(s) de lectura

Enparte 1 de mi experimentación con el Internet de las Cosas, creé una sencilla alarma que me avisa cuando mi congelador deja de funcionar como es debido. En la siguiente parte, comparto mi aventura de crear un monitor de entrada que me avisa cuando se acercan vehículos a mi casa.

Uso de IoT para crear un monitor de entrada

Mi propiedad rural tiene un camino de entrada relativamente largo y quería saber cuándo alguien se acercaba a la casa desde la carretera principal. Hay un par de productos disponibles al por menor, así que decidí probar uno: el Mighty Mule.

El producto Mighty Mule consiste en un sensor exterior conectado a un transmisor inalámbrico. Cuando el sensor detecta un vehículo, el transmisor envía una señal a un receptor interior que emite un sonido. Muy fácil. La instalación es más o menos así:

Photo - Fun With IoT Part 2 #1

He instalado el Mighty Mule, pero no pude conseguir el receptor interior para reconocer una transmisión del sensor. Este es un gran producto y es probable que funcione para el 99% de los hogares. Por desgracia, mi casa está en el otro 1%.

Las paredes exteriores de nuestra casa de una sola planta están construidas con moldes de hormigón aislante (ICF). Es común encontrar ICF en la construcción del sótano, pero el nuestro lo tiene en la planta principal también. Pues bien, las ondas de radio no atraviesan muy bien las paredes de ICF. De hecho, después de construir esta casa, tuve que instalar un 4G LTE amplificador de señal para obtener los teléfonos celulares para trabajar en el interior. Así que debería haberlo sabido, pero esperaba que este producto tuviera más éxito penetrando las paredes de nuestra casa (a la que me refiero en broma como una "pseudo" jaula de Faraday). Vuelvo a repetirlo. Creo que el producto Mighty Mule es genial, pero simplemente no funcionó para mí debido a las limitaciones únicas de la topología de mi instalación. Entonces, ¿qué hago ahora?

Antes de empezar, voy a admitir que mi solución final podría invocar pensamientos de un artilugio de Rube Goldberg. Tal vez un repetidor de señal habría tenido más sentido para ampliar el alcance del producto Mighty Mule. Para mí, se trataba tanto de la oportunidad de aprender como de mi deseo de superar este problema.

Así que empecé con el objetivo de construir un monitor de entrada, como el Mighty Mule, pero que utiliza un método alternativo para obtener una señal de radio en la casa desde el exterior. Anteriormente había instalado un punto de acceso WiFi exterior para dar servicio de Internet a mis dependencias. Este punto de acceso WiFi exterior está cableado a mi LAN. Hmmm, esta es una manera de conseguir una señal de radio en la casa. Y tenía algo de experiencia trabajando con el Wemos D1 Mini que tiene WiFi incorporado (ver parte 1 de este blog). Esto podría funcionar. La configuración WiFi se parece a esto:

Photo - Fun With IoT Part 2 #2

Lo siguiente que tenía que hacer era encontrar un sensor que pudiera integrarse con el Wemos D1 Mini. Estuve dudando durante un rato sobre qué tipo de sensor utilizar.

  1. Infrarrojos: utiliza un haz de infrarrojos que se activa cuando un coche pasa a través del haz. Tras considerar la abundante vida salvaje de mi zona y la posibilidad de que se produjeran falsas alarmas, me decidí por este método.

  2. Magnético: utiliza un campo magnético para detectar la proximidad de un vehículo, como los autoservicios de comida rápida. Mejor aún, dado que sólo debería detectar metales ferrosos, la fauna salvaje no activaría la alarma. Esta sería mi elección.

Después de investigar un poco, me decidí por el GY-271/QMC5883L sensor magnético de 3 ejes. Es un sensor relativamente barato, y hay un ingenioso biblioteca Arduino disponible. Aquí está el prototipo de desarrollo.

Body Image - Fun with IoT Part 2

El primer paso fue encontrar una manera de utilizar este sensor para detectar un vehículo que pasa. La biblioteca QMC5883L facilita la interconexión con el sensor. El sensor está diseñado para dar una lectura X, Y, y Z basado en la posición actual - útil para la brújula, navegación, etc. Mi enfoque fue utilizar el sensor en una posición estacionaria para detectar cambios en el campo magnético a su alrededor. Así que normalicé las lecturas de los sensores X, Y y Z en un único valor que se puede utilizar para comparar. Mi software sondea el sensor y almacena el valor normalizado en un búfer que contiene las últimas N lecturas. El búfer me permite calcular una media relativa a las condiciones actuales. Si la última lectura se desvía demasiado de la media, se supone que se trata de un vehículo que pasa por allí. Hay un poco más, pero este es el concepto general.

El uso de la media para tener en cuenta las condiciones cambiantes de la corriente fue el resultado de experimentar con el prototipo. Si coloco un objeto metálico junto al sensor, se disparará la alarma. Puedo dejar el objeto metálico allí, y el código se ajustará a esa nueva normalidad sin disparos constantes, pero seguirá detectando otros cambios legítimos en el campo magnético. También ayuda a mitigar los ligeros movimientos del propio sensor, que observé al colocarlo sin apretar en una tubería de PVC.

Diseñar el sensor para su instalación en exteriores fue todo un reto. El sensor, contenido en una tubería de PVC, se entierra junto a la calzada. El Wemos D1 Mini no tiene una antena muy potente, por lo que necesita estar por encima del suelo para comunicarse claramente con el punto de acceso WiFi. Decidí conectar los componentes por encima y por debajo del suelo utilizando Cat-6 para exteriores que tenía a mano. Sin embargo, al hacerlo me enteré de que el Wemos D1 mini utiliza comunicación I2C. I2C está diseñado para que los componentes estén situados en la misma placa de circuito impreso relativamente cerca unos de otros. Mi diseño requiere que el microchip y el sensor estén separados por muchos metros de cable Cat-6. Mi Wemos D1 mini no puede comunicarse con el sensor. Hmmm, ¿qué hacer?

Después de investigar un poco más, encontré este producto que amplía el alcance de la comunicación I2C. Además, ya tiene un conector RJ-45, así que funcionará perfectamente con mi cable Cat-6.

Photo - Fun With IoT Part 2 #4

Los detalles del producto dicen que puede extender el rango de I2C a distancias de hasta 100 pies. Me alegra decir que yo lo tengo funcionando a unos 150 pies. ¿Por qué tan lejos? Tengo mi mini transmisor para exteriores Wemos D1 instalado en un árbol orientado al sur con batería y energía solar. El mejor árbol para este propósito estaba a unos 150 pies de distancia.

No voy a entrar en los detalles de la configuración de la batería y la energía solar aquí - que era una experiencia de aprendizaje totalmente diferente para mí y tal vez voy a escribir sobre ello algún día (12v vs 6v, cargadores, tipos de paneles, reguladores reductores, etc). Digamos que esta fase del proyecto me llevó a comprar un buen número de componentes "de repuesto". J

Ahora tengo una Wemos D1 mini para exteriores conectada a un sensor QMC5883L a través de unos 150 pies de Cat-6 con un extensor de rango I2C en cada extremo. Me gustaría tener una foto para compartir de la tubería de PVC con la tapa roscada que contiene el sensor. Nunca tomé fotos cuando lo construí, y el suelo está demasiado congelado para desenterrarlo en esta época del año. A continuación se muestra mi "terminado" estación transmisora al aire libre.

Body Image - Fun with IoT Part 2 #2
Body Image - Fun with IoT Part 2 #3

También he añadido un indicador LED para ayudarme a solucionar problemas cuando se despliega (no se puede comunicar con el sensor, no se puede conectar a WiFi, etc.). Al detectar un vehículo que pasa, el Wemos D1 mini (cliente) envía una simple petición a una dirección IP estática en mi LAN. Y escuchando esa dirección IP estática está el dispositivo interior Wemos D1 mini (servidor) configurado como alarma.

Body Image - Fun with IoT Part 2 #4

La lógica del dispositivo interior es relativamente sencilla. Reproduce un tono musical aleatorio y envía datos a Losant por lo que se me notifica a través de mensaje de texto.

Fun With IoT Part 2 #8

Hay que reconocer que este proyecto me ha costado más que el producto al por menor con el que empecé, tanto en tiempo como en dinero. Y estoy seguro de que podría simplificarse mucho. Pero me divertí mucho aprendiendo y experimentando. Integrar los distintos componentes de hardware y escribir software personalizado para darles una finalidad fue muy satisfactorio. Espero que hayas disfrutado leyendo sobre este proyecto. No dudes en dejar una nota con cualquier sugerencia o compartir un proyecto maker interesante en el que hayas trabajado recientemente.

Tecnología
Platform Engineering

¿Necesita ayuda técnica con su idea de aplicación?

Reflexiones más recientes

Explore las entradas de nuestro blog e inspírese con los líderes de opinión de todas nuestras empresas.
Blog Image - Unveiling the Future of AI at Google Cloud Next 24 -1
IA/ML

Unveiling the Future of AI at Google Cloud Next ‘24

Get firsthand insights from Improving into the innovation brewing around artificial intelligence and cloud computing at Google Cloud Next '24.