Tabla de contenido:

Sensor de movimiento y temperatura inalámbrico IoT: 11 pasos (con imágenes)
Sensor de movimiento y temperatura inalámbrico IoT: 11 pasos (con imágenes)

Video: Sensor de movimiento y temperatura inalámbrico IoT: 11 pasos (con imágenes)

Video: Sensor de movimiento y temperatura inalámbrico IoT: 11 pasos (con imágenes)
Video: Arduino IoT Cloud con ESP32, Relé (relay) y Sensor DHT22. Guía completa paso a paso desde cero 2024, Noviembre
Anonim
Sensor de movimiento y temperatura inalámbrico IoT
Sensor de movimiento y temperatura inalámbrico IoT

Me inspiraron los muchos proyectos de IoT que se encuentran en Instructables, por lo que en el proceso de aprendizaje estoy tratando de combinar alguna aplicación útil que sea relevante. Como extensión de mis Instructables anteriores relacionados con el sensor de temperatura de IoT, ahora agregué más capacidades al subsistema. Las funcionalidades agregadas son:

- Conexión NTP para obtener la hora.

- LED que se puede controlar de forma remota

- Sensor PIR para detectar movimiento

- Conectado Raspberry PI ejecutando homekit para permitir la conexión al iPhone "Home"

Paso 1: el concepto, la conectividad y los componentes

El concepto, la conectividad y los componentes
El concepto, la conectividad y los componentes

El concepto que se muestra arriba es permitir el monitoreo de temperatura de forma remota con la capacidad adicional de detectar movimiento si alguien está en casa y permitir la notificación a través de LED. Se puede acceder a la unidad localmente en la LAN o de forma remota a través del servidor web. También puede conectar Raspberry Pie (opcional) con el accesorio Homekit instalado para permitir la conexión a la aplicación "Home" del iPhone.

Al igual que la versión anterior, se requieren los siguientes componentes en este proyecto, tenga en cuenta que el enlace a continuación es un enlace de afiliado, por lo que si no desea contribuir, simplemente vaya directamente.

- Placa de desarrollo NodeMcu Lua ESP8266. Yo obtengo el mío de banggood.

- Sensor de temperatura LM35

- sensor PIR

- DIRIGIÓ

- Tablero prototipo

- IDE de Arduino

- Servidor web en funcionamiento con scripting de servidor php habilitado

- Raspberry pi (opcional)

Paso 2: haz que funcione el IDE de Arduino

Haga que el IDE de Arduino funcione
Haga que el IDE de Arduino funcione

Para obtener detalles sobre este paso, consulte mis instrucciones anteriores Paso 2 sobre el sensor de temperatura de IoT con ESP8266.

Paso 3: Conexión del sensor de temperatura, LED y PIR

Conexión del sensor de temperatura, LED y PIR
Conexión del sensor de temperatura, LED y PIR
Conexión del sensor de temperatura, LED y PIR
Conexión del sensor de temperatura, LED y PIR
Conexión del sensor de temperatura, LED y PIR
Conexión del sensor de temperatura, LED y PIR

El sensor de temperatura LM35 tiene 3 patas, la primera pata es VCC, puede conectarla a 3.3V (la salida de la placa ESP8266 es 3.3V). La pata del medio es Vout (desde donde se lee la temperatura, puede conectarla a la entrada analógica del pin AD0 del ESP8266, que se encuentra en la parte superior derecha de la placa como se muestra en la imagen. Y la pata derecha debe estar conectado al suelo.

El sensor PIR también consta de 3 patas, puede ver una pequeña marca de +, 0, - en la PCB junto a la pata. Así que conecte el "+" a 3.3V, "-" al suelo y el pin medio "0" al pin D6 de ESP8266.

El LED tenía solo 2 patas, "+" (ánodo), la pata más larga conecta esto al pin D5 de ESP8266 y "-" (cátodo) las patas más cortas deben estar conectadas a tierra (GND).

Paso 4: Configuración del servidor web en la nube

Hay una cierta suposición para este paso:

Ya tiene un servidor web en funcionamiento, alojado en un dominio adecuado. Y está familiarizado con la transferencia de archivos a su servidor web a través de FTP utilizando Filezilla o algún otro programa de FTP.

Sube el archivo zip adjunto a la raíz de tu sitio web. Supongamos para este ejercicio que su sitio web es "https://arduinotestbed.com"

Se supone que todo el archivo está ubicado en la raíz del servidor web, si lo ha almacenado dentro de otra carpeta, ajuste la ubicación del archivo en consecuencia tanto en el archivo ArduinoData3.php como en el boceto de Arduino. Si no está seguro, hágamelo saber y haré todo lo posible para ayudarlo.

Paso 5: Configurar la base de datos para contener los datos de temperatura

Configuración de la base de datos para contener los datos de temperatura
Configuración de la base de datos para contener los datos de temperatura
Configuración de la base de datos para contener los datos de temperatura
Configuración de la base de datos para contener los datos de temperatura
Configuración de la base de datos para contener los datos de temperatura
Configuración de la base de datos para contener los datos de temperatura

estamos usando la base de datos sqllite para este ejercicio. Sqllite es la base de datos basada en archivos ligeros que no requiere un servidor. La base de datos se encuentra localmente en su servidor web. Si le preocupa la seguridad, debe modificar el código para utilizar un servidor de base de datos adecuado como mysql o MSSQL.

Antes de comenzar, debe cambiar la contraseña de la base de datos ubicada en el archivo phpliteadmin.php. Así que abra este archivo en su servidor web y edite la información de la contraseña en la línea 91 a la contraseña que desee.

Luego, apunte a phpliteadmin.php en su servidor web. Usando nuestro ejemplo anterior, debe apuntar a

Debido a que no hay una base de datos en el servidor, se le presentará la pantalla para crear la base de datos. Introduzca "temperature.db" en el cuadro de entrada de la nueva base de datos y haga clic en el botón "Crear". La base de datos se creará con éxito. En este punto, la base de datos todavía está vacía, por lo que necesitará el script sql para crear la estructura de la tabla de la base de datos para alojar los datos.

Paso 6: crea la tabla de "temperatura"

Crea el
Crea el
Crea el
Crea el

Para crear la tabla, haga clic en la pestaña "SQL" y pegue la siguiente consulta SQL.

COMENZAR LA TRANSACCIÓN;

---- - Estructura de la tabla para la temperatura ---- CREAR TABLA 'temperatura' ('ID' INTEGER PRIMARY KEY NOT NULL, humedad INT NOT NULL, temperatura REAL, marca de tiempo DATETIME DEFAULT CURRENT_TIMESTAMP, 'calentador' BOOLEAN, 'goaltemp' VERDADERO); COMETER;

Luego haga clic en el botón "Ir" en la parte inferior. La tabla debe crearse correctamente.

Si actualiza la página, ahora debería ver la tabla de "temperatura" debajo de la base de datos temperature.db en el lado izquierdo. Si hace clic en la tabla de temperatura si aún no contiene datos.

Ahora que tenemos la base de datos creada, puede apuntar a la siguiente URL

arduinotestbed.com/ArduinoData3.php

Vería el dial de temperatura mostrando datos ficticios, el sensor de movimiento y el panel de control para encender el LED. La parte inferior del gráfico seguirá vacía porque todavía no hay datos.

Paso 7: cargue el boceto del sensor de temperatura en su ESP8266

Cargue el boceto del sensor de temperatura en su ESP8266
Cargue el boceto del sensor de temperatura en su ESP8266
Cargue el boceto del sensor de temperatura en su ESP8266
Cargue el boceto del sensor de temperatura en su ESP8266
Cargue el boceto del sensor de temperatura en su ESP8266
Cargue el boceto del sensor de temperatura en su ESP8266

Ahora copie todo el archivo adjunto y abra el "ESP8266TempPIRSensor.ino", la interfaz de Arduino creará la carpeta por usted. Mueva el resto de los archivos a la nueva carpeta que fue creada por la interfaz de Arduino.

Modifique el servidor web especificado y la ubicación del archivo data_store3.php si es necesario. Luego cargue el boceto en el ESP8266.

Si todo va bien, debería cargarse correctamente y la primera vez que el ESP entrará en modo AP. Puede usar su computadora portátil o teléfono móvil para conectarse. Debería poder encontrar el AP por el nombre de "ESP-TEMP".- Intente conectarse a ESP-TEMP usando su computadora portátil o teléfono móvil - Averigüe cuál es la dirección IP a la que se le está asignando, haciendo el Comando "ipconfig" en windows o comando "ifconfig" en linux o mac. - Si está usando un iPhone, haga clic en el botón i junto a ESP-TEMP al que está conectado - Abra su navegador y apunte a ESP-TEMP, si tiene asignado 192.168.4.10 como su IP, el ESP-TEMP tiene la IP de 192.168.4.1, por lo que puede ir a https://192.168.4.1 y debería aparecer la página de configuración donde puede ingresar el ssid de su enrutador wifi y la clave psk. una vez que haya ingresado ambos y marque la casilla de verificación "Actualizar configuración Wifi", haga clic en "actualizar" para actualizar la configuración a su ESP8266.

Si desea activar la depuración en Serial Monitor, deberá descomentar el

#define DEBUG

línea en el reloj. hy comentó el

// # undef DEBUG

línea. luego haga clic en Tools-> Serial Monitor. La ventana del monitor en serie le mostrará el progreso de la conexión wifi y mostrará la dirección IP local del ESP8266. El LED azul interno parpadeará una vez cuando se realice la lectura de temperatura. También se encenderá cuando se detecte un movimiento.

Paso 8: Acceso a su sensor de temperatura y movimiento

Acceso a su sensor de temperatura y movimiento
Acceso a su sensor de temperatura y movimiento
Acceso a su sensor de temperatura y movimiento
Acceso a su sensor de temperatura y movimiento

Ahora debería poder apuntar una vez más al servidor web local del ESP8266. Y esto mostrará la hora, la temperatura y el sensor de movimiento.

Ahora también puede apuntar a su servidor web externo, en este ejemplo es

Puede deslizar el botón debajo del panel de control para alternar el LED. Utilizo esto para notificar a mis hijos cuando estoy de camino de regreso a casa del trabajo.

El sensor de movimiento se actualiza aproximadamente cada segundo, por lo que tendrá que actualizar la página con más frecuencia para ver si se detecta movimiento. Por el momento, la actualización automática está configurada en 60 segundos. La temperatura tomará una lectura cada dos minutos, pero también puede ajustarla al tiempo que más le convenga.

¡¡Enhorabuena si llegaste tan lejos !!, date una palmadita en la espalda y disfruta de tu creación. El siguiente paso es opcional, solo si desea poder controlar el LED y monitorear la temperatura, así como el sensor de movimiento de los dispositivos Apple.

Paso 9: Instale HomeBridge para HomeKit en Raspberry Pi (opcional)

Instalar HomeBridge para HomeKit en Raspberry Pi (opcional)
Instalar HomeBridge para HomeKit en Raspberry Pi (opcional)

Me inspiraron los instructivos de GalenW1, que me permiten aprender mucho sobre HomeBridge.

Para instalar HomeBridge para HomeKit en una Raspberry Pi, puede usar las siguientes instrucciones

github.com/nfarina/homebridge

HomeBridge le permite conectar la aplicación Home en Iphone a los sensores que acaba de construir en los pasos anteriores.

Una vez que instale HomeBridge, debe instalar algunos complementos:

- Sensor de temperatura

- Sensor de movimiento

- Cambiar

sudo npm install -g homebridge-http-temperature

sudo npm install -g homebridge-MotionSensor

sudo npm install -g homebridge-http-simple-switch

Una vez que se instale el complemento, deberá configurar el archivo config.json que se encuentra a continuación

sudo vi /home/pi/.homebridge/config.json

puede ajustar el contenido del archivo config.json como se indica a continuación, asegúrese de que la URL apunte a la ubicación correcta.

Paso 10: Conexión de Homebridge a su Iphone

Conexión de Homebridge a su iPhone
Conexión de Homebridge a su iPhone
Conexión de Homebridge a su iPhone
Conexión de Homebridge a su iPhone
Conexión de Homebridge a su iPhone
Conexión de Homebridge a su iPhone

Ahora que se han configurado todos los accesorios, puede ejecutar el Homebridge con el siguiente comando

homebridge

Debería ver la pantalla como se muestra arriba. Puede seguir el siguiente paso para agregar el Homebridge a su Homekit.

- Ahora inicie su aplicación "Inicio" en su Iphone

- Haga clic en el botón "Agregar accesorios"

- Se le presentará la pantalla para escanear el código, puede usar la cámara de su teléfono para escanear el código desde la pantalla de Raspberry Pi o agregar el código manualmente.

Tenga en cuenta que tanto Iphone como Raspberry Pi deben estar en el mismo enrutador inalámbrico para funcionar.

- Una vez conectado, aparecerá la pantalla que dice que sus accesorios no están certificados, haga clic en el botón "Agregar de todos modos" para continuar.

- Luego tendrás la opción de configurar cada uno de los accesorios, en esta instancia tenemos el interruptor de luz, el sensor de movimiento y el sensor de temperatura.

- La pantalla final te mostrará todos los accesorios que está conectado.

Una vez que esté conectado, puede usar Siri para verificar el sensor de movimiento, la temperatura y encender y apagar la luz.

Paso 11: Haga que su Homebridge funcione en segundo plano

Haga que su Homebridge funcione en segundo plano
Haga que su Homebridge funcione en segundo plano
Haga que su Homebridge funcione en segundo plano
Haga que su Homebridge funcione en segundo plano
Haga que su Homebridge funcione en segundo plano
Haga que su Homebridge funcione en segundo plano

¡¡Felicidades!! lo has hecho. Como beneficio adicional, puede ejecutar Homebridge en segundo plano con el siguiente comando:

Homebridge y

Ahora puedes divertirte un poco con Siri y disfrutar de tu arduo trabajo.

Gracias por seguir esto hasta el final. Si te gusta esto, deja algunos comentarios o vota por mí.

Recomendado: