Tabla de contenido:
- Paso 1: obtenga todos los elementos necesarios
- Paso 2: Prepare su Raspberry Pi
- Paso 3: conecta todo junto
- Paso 4: crea tu base de datos
- Paso 5: ¡Hora del Código
- Paso 6: ¡Pruébelo
Video: Fanair: una estación meteorológica para tu habitación: 6 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
Hay innumerables formas de averiguar el clima actual, pero solo conoce el clima afuera. ¿Qué pasa si quieres saber el clima dentro de tu casa, dentro de una habitación específica? Eso es lo que intento resolver con este proyecto.
Fanair utiliza múltiples sensores para detectar:
- temperatura
- humedad
- luz
- ciertos gases
- presión del aire
Es muy compacto y hace uso de la Raspberry Pi 3 B, para obtener los valores, guardarlos en una base de datos MySQL y luego hacerlos fácilmente disponibles en un sitio web. En el código y el sitio web se incluye la capacidad de obtener datos meteorológicos reales para su ubicación, de modo que el sitio web también se pueda usar para verificar el clima exterior.
Paso 1: obtenga todos los elementos necesarios
En primer lugar, necesitará dispositivos electrónicos básicos como cables / cables de puente. Si planea soldar todo junto como un proyecto permanente, obviamente también necesitará un soldador, soldadura y, para su propia comodidad, una PCB para soldar todo.
Para artículos más específicos, hice esta Lista de materiales.
- Frambuesa Pi 3 B
- MPC3008 - ADC de 8 canales y 10 bits
- Sensor de temperatura y humedad del termómetro AM2301
- Placa de circuito impreso WR Rademacher WR-tyoe 930-1
- Estuche ABS para prototipos (negro)
- LDR
- Sensor de gases MQ135
- 2x BC517 Transistor Darlington
- LED RGB
- Paquete de resistencias
- Zumbador
- Alambres
- Barómetro BMP280
- Ventilador USB silencioso (5 V)
En conjunto, esto debería costar unos 110 €. Tenga en cuenta que el precio total es una aproximación. Además, mi proyecto tiene una pantalla LCD en la foto pero no está conectada porque no había suficiente espacio en mi caso, por lo que no está incluido en el instructivo.
Paso 2: Prepare su Raspberry Pi
Obtenga su sistema operativo Raspian Jessie con Pixel del sitio oficial de Raspberry Pi y una vez descargado, descomprímalo. Obtendrá un archivo de imagen. Para obtenerlo en el Pi, tendrá que escribirlo en la tarjeta SD usando Win32 Disk Imager. Una vez que esté instalado, seleccione el archivo de imagen y la unidad en la que reside su tarjeta SD. Luego presione escribir y espere hasta que termine.
Cuando haya terminado, haga clic en su tarjeta SD en el Explorador de archivos y abra el archivo llamado 'cmdline.txt', vaya al final del archivo de texto justo antes de rootwait y escriba 'ip = 254.169.10.2' con espacios alrededor, por supuesto. Después de guardarlo, debe hacer clic derecho en algún lugar dentro de la ventana y crear un nuevo archivo llamado 'ssh'. Tenga en cuenta que este archivo no tiene una extensión de archivo. Para asegurarse de que no tenga una extensión, haga clic en 'ver' en el explorador de archivos y marque 'archivos ocultos'. Si lo hace, cámbiele el nombre y elimine la extensión para que diga 'ssh'.
Una vez hecho esto, finalmente puede colocar su tarjeta SD en la Raspberry Pi. Descarga un cliente ssh (recomiendo MobaXterm). Y conéctese usando ssh con la IP que configuró anteriormente '254.169.10.2'. El nombre de usuario es 'pi', la contraseña 'raspberry'. Si lo desea, puede cambiar la contraseña escribiendo el comando 'sudo passwd' en la terminal y siguiendo las instrucciones. Como vamos a utilizar una buena parte de la tarjeta SD para Fanair, debes ampliar el almacenamiento disponible escribiendo 'sudo rapi-config', seleccionando 'Opciones avanzadas' y luego 'Expandir sistema de archivos'. Si se le solicita, reinicie.
Utilizaremos la interfaz de 1 cable, SPI e I2C. ¡Para poder usarlos, primero debe configurarlos!
Paso 3: conecta todo junto
¡Es hora de hacer un circuito! La primera vez probablemente debería probarlo en una placa de pruebas, pero si no tiene tiempo para eso, puede intentar soldarlo.
El circuito que necesitará se parece al anterior, por conveniencia también se incluye una versión de tablero.
Paso 4: crea tu base de datos
Para guardar de manera eficiente todos los datos que recibirá, haremos uso de una base de datos TSQL MySQL. Antes de instalar MySQL, asegurémonos de que todo esté actualizado escribiendo algunos comandos en la terminal:
- 'sudo apt-get update'
- 'sudo apt-get upgrade'
- 'sudo apt-get dist-upgrade'
Acepte todos los mensajes escribiendo 'y' e ingrese.
Para instalar el tipo MySQL:
- 'sudo apt-get install mysql-server'
- 'sudo apt-get install mysql-client'
Cuando se le solicite, cree una contraseña de root de su elección.
Una vez que haya terminado de instalar el inicio de sesión mediante:
'mysql -uroot -p'
Y escribiendo tu contraseña.
¡Obtén el código de Fanair de My Github! Haga clic en 'Clonar o descargar' y luego en 'Descargar ZIP'. Descomprima el código en una carpeta de su elección. La consulta para crear la base de datos completamente operativa está en la carpeta de la base de datos. Abra el archivo, copie el código y péguelo en la terminal con MySQL abierto. ¡Luego haga clic en Enter y la base de datos está lista!
Paso 5: ¡Hora del Código
Para hacer uso de todos los sensores, obviamente necesita ejecutar un programa. Afortunadamente, el código ya está hecho (en su mayor parte) y ya lo descargamos cuando recibimos la consulta SQL de la base de datos.
Como dije, hay algunas cosas que aún deben cambiarse / agregarse para que el programa funcione correctamente. En primer lugar, el programa utiliza la API de Darksky para obtener los datos meteorológicos en función de la longitud y la latitud. Para utilizarlo es necesario registrarse. Las primeras 1000 llamadas son gratuitas y luego cuesta $ 0,0001 por llamada. Escuché que si no paga, su cuenta se bloquea. Para ser justos, $ 0.0001 por llamada es bastante barato. Fanair llama a los datos más recientes cada hora, lo que significa que en un año, si se ejecuta a tiempo completo, solo le costará $ 0,876. También obtienes 41 días gratis si Fanair funciona a tiempo completo.
Una vez registrado, busque su clave API. Busque la longitud y latitud de su ubicación en los mapas de Google o intente buscar en Google. Crea un nuevo archivo de texto en el directorio raíz de Fanair (con clases, main.py…). Nombra el archivo 'key_location.txt'. Abra el archivo de texto y en la primera línea pegue su clave de API Darksky. En la segunda línea pegue su longitud y en la tercera línea pegue su latitud (ambas en formato decimal). Cuando haya terminado, guarde el archivo.
En el mismo directorio, cree otro archivo de texto llamado 'database_dsn.txt'. La primera línea debería decir 'localhost'. La segunda línea es 'raíz'. En la tercera línea, debe escribir la contraseña que creó para la base de datos anteriormente, y en la cuarta y última línea, debe escribir 'fanair'.
Haga clic derecho en el archivo main.py y seleccione editar. Es necesario cambiar 'fanair = Fanair (5, 26, 17, 27, 22, 4, "AM2301", 1, 0, 0, 0, "key_location.txt", "database_dsn.txt")'. Si siguió la imagen, los primeros 5 valores deben cambiarse de '5, 26, 17, 27, 22, 4' a '20, 21, 26, 19, 13 '. '/ home / muhsin / Applications / Fanair' también debería cambiarse a la ruta raíz de Fanair (donde está main.py). Asegúrate de poner una barra delante de "casa" pero no después de "Fanair".
Ahora bien, todo esto es genial, pero el código debe entrar en el Pi. Afortunadamente para nosotros existe el protocolo sftp. Para poner los archivos en el Pi, use un cliente sftp como FileZilla o, si decidió usar MobaXterm, puede cargar los archivos fácilmente en la interfaz sftp a la izquierda del terminal.
En mi experiencia, no siempre obtengo la fecha y hora correctas en la Raspberry Pi. Para asegurarse de que recibirá la fecha y hora correcta, le sugiero que siga esta guía: Fecha y hora de sincronización de Raspberry Pi.
Y por último, pero no menos importante, es necesario instalar algunas bibliotecas y activar algunas interfaces:
'sudo apt-get install build-essential python-dev'
Adafruit DHT:
'pip3 instalar adafruit_python_dht'
1 cable:
- 'sudo raspi-config'
- 'Opciones de interfaz'
- '1 cable'
- Habilitar
- 'sudo nano /boot/config.txt'
- Agregue esta línea en el archivo: 'dtoverlay = w1-gpio'
- 'sudo reiniciar'
SPI:
- 'sudo raspi-config'
- 'Opciones de interfaz'
- 'SPI'
- Habilitar
- 'sudo reiniciar'
- 'sudo nano /boot/config.txt'
- Busque 'dtparam = spi = on' y descomente quitando el hashtag.
- 'sudo apt-get install python3-dev
Smbus:
- 'sudo raspi-config' '
- 'Opciones de interfaz'
- 'I2C'
- Habilitar
- 'sudo reiniciar'
- 'sudo apt-get install -y python-smbus'
- 'sudo apt-get install -y i2c-tools'
- 'sudo nano /boot/config.txt'
- Busque dtparam = i2c_arm = on y descomente quitando el hashtag.
matraz
pip3 instalar Frasco
conector mysql
'pip3 install -Iv mysql-connector == 2.1.4'
spidev
'pip3 instalar py-spidev'
cielo oscuro
'pip3 instalar darkskylib'
Paso 6: ¡Pruébelo
Si has logrado llegar tan lejos, tómate la espalda. Ahora todo está hecho para que Fanair funcione correctamente. Entonces, para probarlo, escriba 'cd ""'. La ubicación del archivo es "/ home / pi", por ejemplo, si acaba de pegarlo en su directorio de inicio. Luego escriba 'python3 main.py' y déjelo reposar durante 15 minutos para que tenga datos en la base de datos cuando termine. Después de eso, presione 'ctrl + c' para detener el programa y escriba 'python3 Flask.py'. Para ver si su sitio web funciona, debe navegar a la dirección IP de su Pi que creó con ': 5000' después (así: 169.254.10.1:5000 ').
Para que se ejecute automáticamente después del arranque:
'sudo nano /etc/rc.local'
Al final del archivo PERO ANTES de salir 0:
'sudo python3 "/main.py" &'
'sudo python3 "/Flask.py" &'
¡Felicitaciones, ahora su script debe ejecutarse desde el inicio y HAS TERMINADO! Si planea mantener el proyecto en ejecución y aún no lo ha hecho, le sugiero que suelde todo, solo para asegurarse de que todo se mantenga en su lugar. Aunque si no juegas a moverlo mucho, una placa de pruebas también funciona, por supuesto.
Recomendado:
Estación meteorológica NaTaLia: estación meteorológica con energía solar Arduino hecha de la manera correcta: 8 pasos (con imágenes)
Estación meteorológica NaTaLia: estación meteorológica con energía solar Arduino hecha de la manera correcta: después de 1 año de operación exitosa en 2 ubicaciones diferentes, estoy compartiendo los planes del proyecto de mi estación meteorológica con energía solar y explicando cómo evolucionó a un sistema que realmente puede sobrevivir durante mucho tiempo períodos de energía solar. Si tu sigues
Estación meteorológica de bricolaje y estación de sensor WiFi: 7 pasos (con imágenes)
Estación meteorológica de bricolaje y estación de sensor WiFi: en este proyecto, le mostraré cómo crear una estación meteorológica junto con una estación de sensor WiFi. La estación de sensores mide los datos de temperatura y humedad locales y los envía, a través de WiFi, a la estación meteorológica. La estación meteorológica muestra t
Estación meteorológica de habitación con Arduino y BME280: 4 pasos
Estación meteorológica de la habitación con Arduino y BME280: anteriormente compartí una estación meteorológica simple que mostraba la temperatura y la humedad del área local. El problema era que llevaría tiempo actualizarlo y los datos no eran precisos. En este tutorial haremos un monitor meteorológico interior
Nike LED Swoosh! Esta es una gran decoración para una habitación. Este es el único proyecto que todos pueden repetir: 5 pasos
Nike LED Swoosh! Esta es una gran decoración para una habitación. Este es el único proyecto que todo el mundo puede repetir .: Herramientas -Cinta métrica-destornillador -soldador-sierra de capear-taladro eléctrico-papel de lija Consumibles -Tira de LED (RGB) 5m-Controlador LED -Fuente de alimentación 12V 4A-madera 50-50-1500 2x-madera 20-20-3000 2x-madera contrachapada 500-1000mm-tornillos (45mm) 150x-tornillos (35mm) 30x-scr
Estación meteorológica con Arduino, BME280 y pantalla para ver la tendencia en los últimos 1-2 días: 3 pasos (con imágenes)
Estación meteorológica con Arduino, BME280 y pantalla para ver la tendencia en los últimos 1-2 días: ¡Hola! Aquí en instructables, las estaciones meteorológicas ya se han introducido. Muestran la presión, la temperatura y la humedad actuales del aire. Lo que les faltaba hasta ahora era una presentación del curso en los últimos 1-2 días. Este proceso tendría el