Tabla de contenido:

Creación de dispositivos Homie para IoT o automatización del hogar: 7 pasos (con imágenes)
Creación de dispositivos Homie para IoT o automatización del hogar: 7 pasos (con imágenes)

Video: Creación de dispositivos Homie para IoT o automatización del hogar: 7 pasos (con imágenes)

Video: Creación de dispositivos Homie para IoT o automatización del hogar: 7 pasos (con imágenes)
Video: Curso "Crear un nuevo tipo de dispositivo para myIoT": Sesion 1 2024, Diciembre
Anonim
Construyendo dispositivos Homie para IoT o automatización del hogar
Construyendo dispositivos Homie para IoT o automatización del hogar

Este instructivo es parte de mi serie de automatización del hogar de bricolaje, consulte el artículo principal "Planificación de un sistema de automatización del hogar de bricolaje". Si aún no sabes qué es Homie, echa un vistazo a homie-esp8266 + homie de Marvin Roger.

Hay muchos sensores. Estoy cubriendo los más básicos con el fin de brindar al lector los requisitos para comenzar a construir "algo". Puede que no sea ciencia espacial, pero en realidad debería funcionar.

Si no tiene las piezas, esté atento a mi próximo instructivo "Sourcing Electronic Parts From Asia".

Permítanme agregar algunas palabras de moda: IoT, ESP8266, Homie, DHT22, DS18B20, domótica.

El tema debería estar bastante claro ahora:-)

Además, este instructivo ahora también está disponible en mi página personal:

Paso 1: Comenzando

Empezando
Empezando
Empezando
Empezando

Convenciones

Este instructable usa clones D1 Mini. Estos son controladores compatibles con Arduino habilitados para WiFi que usan el chip ESP8266. Se envían en un factor de forma muy pequeño (~ 34 * 25 mm) y son muy baratos (~ 3-4 $ para clones).

Ilustraré cada construcción usando un D1 Mini, una placa de pruebas y algunos sensores. Incluyo una lista de materiales (BOM) para cada uno, pero omitiré cosas obvias como cables de puente y placa de pruebas (mini o completa). Me centraré en las "partes activas".

Para alambres / cables en diagramas (biblioteca Fritzing + AdaFruitFritzing), usé:

  • Rojo / naranja para energía, generalmente 3.3V. A veces será de 5V, ten cuidado.
  • Negro para suelo.
  • Amarillo para señales de datos digitales: los bits están viajando y los chips pueden leerlos tal cual.
  • Azul / Morado para señales de datos analógicas: aquí no hay bits, solo voltaje simple que debe medirse y calcularse para comprender lo que está sucediendo.

Homie para ESP8266 envía una docena de ejemplos, ahí es donde comencé a construir este instructable.

Tablero de circuitos

El D1 es bastante compatible con la placa de pruebas, pero solo guardará una fila de pines hacia arriba y hacia abajo. Cada ejemplo tendrá el D1 en el lado derecho y los componentes en el lado izquierdo. Los rieles de potencia superior e inferior se utilizarán para transportar 3,3 V o 5 V.

Nota

Los ejemplos de Homie se crean como bocetos ".ino" para Arduino IDE. Sin embargo, mi propio código está construido como ".ccp" para PlatformIO.

Esto hará muy poca diferencia, ya que los bocetos son lo suficientemente simples como para copiarlos / pegarlos, sea cual sea la herramienta que elijas.

Paso 2: Temperatura y humedad: DHT22 / DHT11

Temperatura y humedad: DHT22 / DHT11
Temperatura y humedad: DHT22 / DHT11
Temperatura y humedad: DHT22 / DHT11
Temperatura y humedad: DHT22 / DHT11
Temperatura y humedad: DHT22 / DHT11
Temperatura y humedad: DHT22 / DHT11

Construyendo el dispositivo

El DHT22 utiliza:

  • Un pin digital para comunicarse con el controlador, conéctelo a D3
  • Dos cables de alimentación (3,3 V o 5 V + GND)
  • El pin digital debe mantenerse alto (conectado a la alimentación), para esto usamos una resistencia entre el riel de alimentación y el pin de datos

Código

El proyecto PlatformIO se puede descargar desde:

El ejemplo original de Homie está aquí (pero no usa un sensor):

Para DHT22, use la biblioteca de sensores DHT (ID = 19)

BOM

  • Controlador: Wemos D1 Mini
  • Resistencia: 10 KΩ
  • Sensor: (uno de estos)

    • DHT22: He usado el tipo de 4 pines que requiere una resistencia adicional. Hay módulos de 3 pines que se envían como SMD que incluye la resistencia.
    • DHT11: esto es más barato pero menos preciso, verifique sus requisitos

Paso 3: Temperatura impermeable: DS18B20

Temperatura impermeable: DS18B20
Temperatura impermeable: DS18B20
Temperatura impermeable: DS18B20
Temperatura impermeable: DS18B20
Temperatura impermeable: DS18B20
Temperatura impermeable: DS18B20

Construcción del dispositivo El DS18B20 utiliza:

  • Un pin digital para comunicarse con el controlador, conéctelo a D3
  • Dos cables de alimentación (3,3 V o 5 V + GND)
  • El pin digital debe mantenerse alto (conectado a la alimentación), para esto usamos una resistencia entre el riel de alimentación y el pin de datos.

El DS18B20 es un sensor de 1 cable. Utiliza un bus y, como tal, varios sensores pueden utilizar un solo pin de datos.

También es posible NO usar 3.3V / 5V para alimentar el sensor, esto se llama modo de energía parásita. Consulte la hoja de datos para obtener más detalles.

Código

El proyecto PlatformIO se puede descargar desde:

Al igual que para DHT22, el ejemplo original de Homie está aquí (pero no usa un sensor):

Para bus de 1 cable, utilice el paquete OneWire (ID = 1)

Para DS18B20, use DallasTemperature (ID = 54)

BOM

  • Controlador: Wemos D1 Mini
  • Resistencia: 4,7 KΩ
  • Sensor: DS18B20, en la foto es impermeable
  • Terminal de tornillo de 3 pines para facilitar la conexión del cable a la placa de pruebas

Paso 4: Luz: fotorresistor / fotocélula (digital: encendido / apagado)

Luz: fotoresistor / fotocélula (digital: encendido / apagado)
Luz: fotoresistor / fotocélula (digital: encendido / apagado)
Luz: fotoresistor / fotocélula (digital: encendido / apagado)
Luz: fotoresistor / fotocélula (digital: encendido / apagado)
Luz: fotoresistor / fotocélula (digital: encendido / apagado)
Luz: fotoresistor / fotocélula (digital: encendido / apagado)

Construyendo el dispositivo

(Lo siento, no tengo un componente Fritzing para la fotocélula digital)

El módulo digital de fotocélula utiliza:

  • Un pin digital para comunicarse con el controlador, conéctelo a D3
  • Dos cables de alimentación (3.3V + GND)

Es posible utilizar una fotocélula analógica, pero esto no está documentado aquí, consulte el excelente artículo de Adafruit "Uso de una fotocélula".

Nota: En este ejemplo, hay un potenciómetro en la placa del sensor. Se utiliza para establecer el límite entre la luz ambiental "clara" y "oscura". Cuando la luz de lectura 1 está apagada, la lectura de 0 significa luz si está encendida.

Código

El proyecto PlatformIO se puede descargar desde:

BOM

Controlador: Wemos D1 Mini

Sensor: Módulo de detección de luz / fotosensible

Paso 5: Luz: fotoresistor / fotocélula (analógica)

Luz: fotorresistor / fotocélula (analógica)
Luz: fotorresistor / fotocélula (analógica)
Luz: fotorresistor / fotocélula (analógica)
Luz: fotorresistor / fotocélula (analógica)
Luz: fotorresistor / fotocélula (analógica)
Luz: fotorresistor / fotocélula (analógica)

Construyendo el dispositivo

El sensor analógico de la fotocélula actúa como una resistencia. Se conectará entre una entrada analógica y 3.3V.

Se coloca una resistencia entre GND y el pin de datos para crear un divisor de voltaje. El propósito es crear un rango conocido de valores:

  • Si no hay luz, la fotocélula básicamente bloqueará VCC, conectando así GND a su pin de datos: el pin leerá casi 0.
  • Si hay mucha luz brillante, la fotocélula permitirá que VCC fluya al pin de datos: el pin leerá casi el voltaje completo y, como tal, cerca del máximo (1023).

Nota: Los valores de los pines analógicos se leen en un rango de 0-1023 usando analogRead. Esto no es práctico para tratar con valores de 1 byte, para esto, la función de mapa de Arduino ayudará a reducir de 0-1023 a (por ejemplo) 0-255.

Para la calibración de los valores mínimo / máximo para su sensor, use un boceto como este de Arduino.

Código

El proyecto PlatformIO se puede descargar desde:

BOM

  • Controlador: Wemos D1 Mini
  • Sensor: resistencia dependiente de la luz (LDR) / fotorresistencia
  • Resistencia: 1 K o 10 K, necesita calibrar según su celda

Referencias

  • Código fuente del servidor PiDome para las condiciones de iluminación de una ubicación
  • "Usando una fotocélula" de Adafruit
  • "Fotorresistores" aquí en instructables
  • Un maldito "tutorial de fotocélula" loco si quieres algo de matemáticas y gráficos

Paso 6: Detector óptico: QRD1114

Construyendo el dispositivo

Código

BOM

Referencias

  • Computación física: QRD1114 incluye código de muestra para leer el sensor y usar la interrupción para el codificador rotatorio + diseño de PCB preciso
  • Guía de conexión del detector óptico QRD1114 en Sparkfun

Paso 7: Palabras finales

Ultimas palabras
Ultimas palabras

Este instructivo es muy corto para explicar el monitoreo básico.

Para ir más lejos, necesitaremos conectar relés, emisor de infrarrojos … Es de esperar que esto se cubra más adelante, ya que el tiempo libre me lo permite. La principal diferencia es que no solo "leemos" (¿hay luz?), Sino que también "escribimos" (¡encendemos la luz!).

Recomendado: