Otra forma de determinar la calidad del aire en el Arduino es a través de la transmisión de datos a la red.

Mi nombre es Eugene y soy desarrollador web. Ya hay docenas de publicaciones sobre varias estaciones meteorológicas en arduino, pero quería escribir que en 2016 puede ensamblar de forma rápida, fácil y sin conocimiento de ingeniería eléctrica un sensor útil que dice ser IoT, que puede funcionar fácilmente con su infraestructura escrita en cualquier cosa.

Si se pregunta por qué medir el CO2, puede encontrar enlaces útiles al final de la publicación.

Por lo tanto, nuestro objetivo es hacer un sensor de temperatura, humedad y CO2 con los datos que se muestran en la pantalla y se envían al servidor web. Lo que necesitamos para esto:

Componentes


1. Arduino. Tomé Wemos D1, una placa compatible con Arduino basada en el microcontrolador ESP-8266EX. Wemos es compatible con el IDE Arduino, tiene su propia conexión Wi-Fi y cuesta $ 6.3.

como se ve


2. Sensor de CO2. Anteriormente probé el MQ-135 habitual, pero incluso después de quemar, calibrar y tener en cuenta las correcciones de temperatura y humedad, los errores fueron bastante notables: alrededor de 300 ppm. Entonces, para garantizar mediciones precisas, tomé el MH-Z19, el componente más caro del circuito, $ 27.

como se ve


3. Sensor de temperatura y humedad. Usó el estándar y fue amado por todos los DHT11 por $ 1.44. Los comentarios sugieren que es mejor tomar DHT22, pero para el esquema y el costo esto no es importante:

como se ve


4. Pantalla compatible con I2C. Tomé el hd44780 más barato por $ 3.06.

como se ve


5. Para que parezca no muy terrible y móvil, también es bueno tener un cuerpo. Para no molestarme con el corte, tomé una caja de $ 8 con agujeros y soportes para usb y una pantalla. Atención: debe haber agujeros en la carcasa para ventilación, de lo contrario solo medirá su atmósfera especial.

como se ve


6. Depuración del cable USB y unos 10 cables. No consideraré el precio.

El costo total es de $ 44, si adquiere aliexpress. Dispositivos similares sin la capacidad de transferir algo a la red ahora cuestan a los chinos alrededor de $ 100. Todavía se está desarrollando un análogo de Tion, que en número publica sus publicaciones en el gytime con publicidad de respiradores (no tengo relación con ellos, pero es una pena).

Pedido, esperado un mes - ¡proceda a la asamblea! No hay nada mas facil.

Asamblea


1. Conecte el sensor de temperatura y humedad. Tierra a tierra, polvo a polvo, más cinco voltios por arduino, salida digital a salida digital (usé D5).

2. Conecte el sensor de CO2. Tiene una amplia selección de interfaces: PWM, salida analógica y digital. El único elemento de soldadura es unir las patas a las salidas deseadas. Comprobado personalmente, todos trabajan. Dejé de recibir datos digitales, de manera precisa, bella y concisa, y también existe la oportunidad de enviar comandos para la calibración, que no necesitaba. De nuevo, tierra a tierra, más los otros cinco voltios, pines TX y RX a pines digitales, en mi caso, a D6 y D7.

3. Conecte la pantalla. Y nuevamente: tierra a tierra, más la última salida restante de cinco voltios, SDA en la pantalla a SDA en el arduino, SCL también a SCL.

Y ... eso es todo! Puede girar el bien resultante en el caso, si ciertamente no ha logrado cometer ningún error al conectarse. Preste atención a que las entradas de aire no estén presionadas contra el sensor de CO2 (o, como se le llama más correctamente, tales cosas blancas). Como beneficio adicional, durante el montaje en la carcasa, las desviaciones en la medición se reducen significativamente.

Firmware


Bueno, solo tenemos que escribir software. Los enlaces a continuación tienen un repositorio de github que simplemente puede cargar y usar. El único punto sutil es que su pantalla puede tener una dirección diferente. Use el mini programa de los enlaces para escanear direcciones i2c y cámbielo por el que necesita si no funciona de inmediato. Desconecte otros dispositivos antes de escanear, de lo contrario puede obtener mucha basura.

Sí, Wemos D1 es compatible con Arduino, y solo necesita agregar la placa adecuada al Arduino IDE. Conectamos un cable corto estándar a través de micro USB y completamos el firmware. Si hizo todo bien, el dispositivo primero intentará conectarse a Wi-Fi (la red y la contraseña se toman del archivo de configuración), luego esperará un tiempo para "calentar" los sensores y finalmente mostrará los datos en la pantalla. Si la red no puede enviar datos, lo informará. Si el nivel de CO2 es aceptable, después de cargar la luz de fondo se apagará y se encenderá solo si necesita abrir la ventana.

Resultado


Me parece que este (precaución, tráfico):

desmontado

montado, con la luz de fondo

tiempo para ventilar!

¿Pero qué hay de la red?


Ahora sobre trabajar con la red. Sin más preámbulos, recopilo los datos en JSON y los envío al servidor con la solicitud POST habitual, donde un simple script PHP lo coloca en la base de datos MySQL. Luego puede ver cómo cambiaron sus condiciones de vida a lo largo del día utilizando PHP y Google Charts: la parte completa del servidor también se encuentra en los enlaces.

Como resultado, a un precio ridículo, con cero conocimientos en ingeniería eléctrica y con una inversión de tiempo mínima, podemos obtener gráficos tan bonitos:
precaución, tráfico

No puedo decir que esto rompa directamente la tapadera de la simple verdad de que "menos personas, más oxígeno", y que necesita ventilar periódicamente, y hablaron de esto muchas veces, incluido el daño de las ventanas de plástico. Pero este ejemplo muestra cuán simple, rápido, confiable y hermoso es posible hacer casi cualquier sensor que suministre datos para un sistema más complejo.

Sí, comparé las lecturas con un sensor de China Green Life: las lecturas son casi idénticas, solo la mía responde un poco más rápido a las circunstancias cambiantes:

como se ve
— , :


Conclusiones


Por supuesto, se podría hacer mucho mejor. De improviso veo las siguientes desventajas:

  1. La pantalla apagada tiene un contraste muy bajo. Es mejor tomar otro, otros 10 centavos se rompieron.
  2. . , , . , .
  3. , , , .
  4. . , . , .
  5. , ( ) — 5 .
  6. , , , , (, Wemos ), , — .
  7. Wemos D1 , ( 2-3 ) , . , . - , , , ( RESET).
  8. , 2 , . — , , . , .
  9. , — . , - .
  10. , JSON . JSON , GET/POST, . Wemos — , . .
  11. — . — .
  12. . , — — .



Y luego quiero tomar un descanso de los días de trabajo y jugar laser tag con amigos. Un problema: el juego cuesta 500 rublos por hora por persona. Esto es en ausencia total de consumibles. Y comprar un kit para el juego costará algún tipo de dinero, de alrededor de 8000. Por lo tanto, para jugar a la etiqueta láser, primero debes recogerlo. Planeo hacer algo como Skirmos , donde algún tipo de dinero costará solo el barril, que debería ser bastante sólido. Interesante? ¡Sigue las publicaciones! ¿Qué haces en Arduino?

Referencias


Principal


  1. Código para Arduino
  2. Lado del servidor
  3. Puedes ver el aire en mi oficina aquí
  4. Puedes contratarme (sí, la estoy buscando) aquí


Útil


  1. Si no sabe nada sobre CO2: geektimes.ru/company/tion/blog/269134
  2. Sobre wemos d1
  3. MH-Z19
  4. , , , , PWM Arduino nano
  5. i2c
  6. Tion ( )
  7. ESP8266
  8. ESP, Lua CO2
  9. . , . .


  1. JSON
  2. DHT

Source: https://habr.com/ru/post/es390327/


All Articles