Tabla de contenido:

Estación meteorológica de Internet Raspberry Pi: 5 pasos (con imágenes)
Estación meteorológica de Internet Raspberry Pi: 5 pasos (con imágenes)

Video: Estación meteorológica de Internet Raspberry Pi: 5 pasos (con imágenes)

Video: Estación meteorológica de Internet Raspberry Pi: 5 pasos (con imágenes)
Video: Raspberry Pi Pico W Introducción y Proyecto Estación Meteorológica por WiFi | Código en MicroPython 2024, Mes de julio
Anonim
Estación meteorológica de Internet Raspberry Pi
Estación meteorológica de Internet Raspberry Pi
Estación meteorológica de Internet Raspberry Pi
Estación meteorológica de Internet Raspberry Pi

*** Actualizar ***

Este Instructable está desactualizado. Los servicios meteorológicos para los datos meteorológicos, utilizados en este Instructable, ya no funcionan. SIN EMBARGO, hay un proyecto alternativo que hace básicamente lo mismo (solo que mejor: este Instructable siempre fue solo un truco). Así que aquí está el enlace que querrá seguir:

https://piweatherrock.technicalissues.us/

Muchas gracias a Gene Liverman de PiWeatherRock por asumir el mando de este proyecto.

Este Instructable le mostrará cómo construir una estación meteorológica basada en Internet Raspberry Pi realmente genial. En realidad, llamar a esta construcción una "estación meteorológica" es un poco subestimado. Esta construcción podría extenderse fácilmente para proporcionar mucho más que simplemente el clima. Sin embargo, es un buen comienzo y se ve muy bien en mi escritorio.

Nuestra familia (OK, principalmente yo) ha disfrutado tener el iPad familiar en la encimera de la cocina, cuando no está en uso, mostrando en silencio las condiciones climáticas exteriores actuales. Sin embargo, es complicado cargar y descargar el iPad dentro y fuera del estuche de la base de la sala de juegos. Además, justo cuando voy a mirar el clima, descubro que alguien ha tomado la pantalla del iPad / clima. Lo que se necesita es una pantalla de mostrador permanente que los niños no vayan a deslizar como el iPad.

Paso 1: Gen 1 - la estación meteorológica Lunchbox Pi

Gen 1 - la estación meteorológica Lunchbox Pi
Gen 1 - la estación meteorológica Lunchbox Pi
Gen 1 - la estación meteorológica Lunchbox Pi
Gen 1 - la estación meteorológica Lunchbox Pi

Mi primer pensamiento fue utilizar una pequeña pantalla de video compuesto. Recogí el de la imagen en Ebay por $ 22 dólares; simplemente busque "Monitor de coche con vista trasera de coche TFT LCD de 4,3 pulgadas". La pantalla tiene una resolución reportada de 656 por 416 píxeles, lo que desafíantemente hace que mostrar mucha información útil sea un desafío. La pantalla requiere 12Vcc como voltaje de suministro. La Raspberry Pi, por supuesto, necesita 5Vdc como voltaje de suministro. Para resolver esto, compré un cargador de coche USB barato de Amazon. Por alrededor de $ 6 dólares encontré un cambiador de coche de 5 V CC por 2 amperios. Por lo tanto, la lonchera tiene una fuente de alimentación externa para verrugas de pared de 12Vdc. El 12Vdc alimenta la pantalla directamente. El 12Vdc también va al cargador de coche USB que reduce el voltaje a 5Vdc regulados. Como truco final, soldé un par de cables directamente entre el cargador del coche y la Raspberry Pi, no es mi mejor idea.

Si bien todo funcionó, no estaba realmente satisfecho con la calidad del video en la pantalla compuesta. La fuente pequeña de la pantalla estaba más borrosa de lo que me gustaría. Además, si bien la lonchera al principio parecía linda, luego parecía un poco cursi.

Paso 2: Gen 2 - Monitor HDMI + Estuche Arcade de plexiglás cortado con láser

Gen 2 - Monitor HDMI + Estuche Arcade de plexiglás cortado con láser
Gen 2 - Monitor HDMI + Estuche Arcade de plexiglás cortado con láser
Gen 2 - Monitor HDMI + Estuche Arcade de plexiglás cortado con láser
Gen 2 - Monitor HDMI + Estuche Arcade de plexiglás cortado con láser
Gen 2 - Monitor HDMI + Estuche Arcade de plexiglás cortado con láser
Gen 2 - Monitor HDMI + Estuche Arcade de plexiglás cortado con láser

De vuelta en eBay encontré un monitor HDMI de marco abierto de $ 54 dólares con una resolución de 800x600. Por definición, cualquier cosa en un marco abierto necesita un marco para montar. Dado que la ternura de la lonchera había terminado, era hora de usar acrílico cortado con láser. Mi espacio de hackers local i3Detroit tiene un cortador de 150 vatios realmente agradable que puede hacer carne picada de acrílico de 4,5 mm.

Basé libremente mi caja de juegos en la caja de juegos de iPad. Si alguna vez hago un diseño Gen 3, definitivamente incluiría una bandeja extraíble / deslizable para el Pi. Resulta que es un gran dolor en el cuello tratar de enchufar y sacar cosas del Pi, ya que no hay mucho espacio entre el Pi y las paredes laterales.

El monitor HDMI también requiere una alimentación de 12Vcc. Entonces, utilicé el mismo truco de usar un cargador de automóvil USB nuevamente. Esta vez, sin embargo, corté un viejo cable USB para que no fueran necesarios cables soldados en el Pi.

Si alguien está interesado en el caso de arcade, publique un comentario a continuación y cargaré los archivos DXF. O los archivos están en mi sitio web en ph-elec.com.

Paso 3: Configuración de Pi

Configuración de Pi
Configuración de Pi

Configurar una nueva Raspberry Pi con el software necesario no es tan difícil. Todo el software está escrito en Python con solo un módulo de Python agregado. El módulo adicional de Python se llama "pywapi". Aquí hay un enlace donde puede descargar el módulo. Este módulo facilita la obtención del tiempo en tiempo real de Yahoo, Weather.com o NOAA.

Lo primero es lo primero, aquí hay una lista de verificación para configurar una Raspberry Pi sin procesar:

  1. Descargue la última versión de Raspbian (Debian Wheezy). Descomprima para obtener un archivo.img.
  2. Escriba en una tarjeta SD con "dd bs = 4M if = 2014-09-09-wheezy-raspbian.img of = / dev / sdb"
  3. El comando dd tarda unos cinco minutos. Cuando termine, ejecute "sincronizar" para limpiar las tuberías.
  4. Instale la tarjeta SD en el Pi y reinicie. Asegúrese de que haya una conexión Ethernet al Pi.
  5. Usando la página "Dispositivos conectados" en el enrutador, busque la dirección IP del nuevo Pi.
  6. Inicie sesión en Pi usando "ssh [email protected]. ???" dónde ??? es el número de IP de arriba. La contraseña será "frambuesa".
  7. En la Pi, use el comando "raspi-config" para configurar los valores predeterminados.

    1. Active el arranque automático en la GUI.
    2. Establezca el nombre de host en algo como "MyPi".
  8. Instale VNC en el Pi con "sudo apt-get install tightvncserver".

    Ejecute "tightvncserver" que establece la contraseña

  9. De vuelta en la caja grande de Linux, use "Escritorio remoto" para ver el escritorio de la GUI de Pi.

    1. Establezca el Protocolo en "VNC" y el número de IP en "192.168.1.???:1". Tenga en cuenta el ": 1" al final del número de IP.
    2. Presione el botón de conexión y proporcione la contraseña de VNC.
    3. ¡Bingo, escritorio remoto GUI Pi!

      Esto ahorra tener que arrastrar un monitor, un teclado y un mouse para conectarse al nuevo Pi

    4. En el escritorio, ejecute el icono de configuración de WiFi. Configure el nuevo Pi / USB WiFi para conectarse a la red.
    5. Cierre la conexión VNC; ahora hemos terminado con los escritorios remotos.
  10. De vuelta en la ventana de ssh, reinicie el Pi con "sudo reboot". Desconecte el cable Ethernet ya que el WiFi ahora está configurado.
  11. De vuelta en el enrutador doméstico, busque el nuevo número de IP que Pi está usando con WiFi.
  12. Con ssh, vuelva a iniciar sesión con el nuevo número de IP. Esta vez la conexión será a través de WiFi.
  13. Usando el Administrador de archivos en Linux, conéctese al Pi usando el comando "conectar al servidor".

    La dirección del servidor es "sftp: //192.168.1. ??? / home / pi"

  14. Configuración básica completa.

A continuación, es necesario descargar e instalar pywapi. Nuevamente, esto no es demasiado difícil con los siguientes pasos:

  1. Descargue la última versión desde aquí. Extraiga el archivo en un directorio nuevo.
  2. Usando File Manager, copie el directorio al directorio de inicio de Pi.
  3. Usando ssh, haga lo siguiente en la Pi:

    1. cd pywapi-0.3.8
    2. sudo python setup.py compilación
    3. sudo python setup.py instalar
  4. Hecho.

Actualización, olvidé que dos mencionan otras dos cosas:

  1. En el Pi, ejecute el siguiente comando:

    1. sudo apt-get install avahi-daemon

      Esto permite conectarse al Pi por su nombre. Entonces, en su computadora principal puede conectarse como "ssh [email protected]" en lugar de usar números de IP. Con múltiples Pi en la red, es fácil confundirlos a menos que los llamen por su nombre

    2. sudo raspi-config

      1. Busque y ejecute la cuarta opción llamada "Opciones de internacionalización" y configure su zona horaria.
      2. Con la zona horaria configurada y ntpd (demonio de protocolo de tiempo de red) en ejecución, el Pi siempre mostrará la hora correcta en un par de milisegundos. Voy a amarlo.
  2. Bien, ahora hemos terminado de nuevo.

Paso 4: código fuente

Código fuente
Código fuente

Todo el código fuente de esta pequeña pantalla meteorológica se basa en Python, PyGame y Pywapi. Todo el software de código abierto / gratuito.

PyGame se usa para hacer todas las cosas de la GUI. Cosas realmente asombrosas. Con PyGame, toda la pantalla se reconstruye una vez por segundo. Cerca de la parte superior de mi código fuente, encontrará una sección que permite ajustar para diferentes tamaños de pantalla. Hay una sección para la pequeña pantalla de video compuesto y una segunda sección para la pantalla HDMI más grande. Simplemente comento una de las dos secciones en función del tamaño de pantalla que necesito.

Para que mi código fuente se ejecute, simplemente descomprima el archivo adjunto y copie todo el directorio en la Pi usando File Manage. Una vez copiado, inicie el código utilizando los siguientes comandos ssh:

  1. cd tiempo
  2. sudo python weather.py

El comando sudo es necesario para que Python pueda controlar / leer los pines GPIO. Probablemente haya alguna forma de evitar esta restricción, pero se me escapa.

Una vez que todo funciona con ssh, es hora de que el tiempo se inicie automáticamente al reiniciar. Esto también es muy fácil de hacer.

  1. Usando ssh, ejecute "sudo vi /etc/rc.local"
  2. Justo antes de la última línea, que dice "salida 0", agregue lo siguiente a las líneas.

    1. cd / home / pi / Weather
    2. sudo python weather.py &> err.log

Esto iniciará automáticamente la aplicación meteorológica en la Pi después de reiniciar. Si más tarde desea desactivar esto, simplemente use ssh para editar el archivo y agregue el carácter de comentario "#" delante de ambas líneas y reinicie.

Tenga en cuenta que mi código fuente es un gran truco y no estoy muy orgulloso de él. Sin embargo, si esperaba hasta que estuviera presentable, nunca se presentaría. Entonces, tómalo o déjalo, simplemente no llores porque tengo la piel muy delgada.

Un par de otras cosas a tener en cuenta sobre mi código. Enterrado allí, notará un código para hablar con un dispositivo X10. Este fue mi intento de controlar mis postes de luces exteriores que están en la dirección A3. Simplemente quería que las lámparas se encendieran al anochecer y se apagasen al amanecer. Parece bastante fácil y pensé que lo tenía funcionando. Usando una llave USB a RS232 en el Pi, había conectado un módulo CM11A X10. El CM11A es un antiguo módulo de macro X10. El CM11A también tiene un puerto RS232 que permite el control sobre el bus X10. ¡Parece que todavía hay algunos errores porque las luces del poste de la lámpara no están captando el mensaje!

También es de destacar que en la pantalla más grande hay un bonito espacio abierto a lo largo del lado derecho de la pantalla. Mi plan es agregar algunas luces de estado en esa área. Estoy jugando con algunas radios IEEE802.15.4 y sus salidas algún día aparecerán en ese lugar abierto.

Para obtener las últimas y mejores actualizaciones, visite mi sitio web en ph-elec.com.

Bueno, avíseme en la sección de comentarios a continuación cualquier pregunta que pueda tener.

Gracias, Jim.

¡Ah, y no olvides votar por mí! Gracias de nuevo.

Por cierto: siempre hay más información en mi sitio web: www.ph-elec.com

Paso 5: Actualización de métricas

Se adjunta una nueva versión que permite la visualización del sistema métrico o imperial.

Espero que esto ayude, Jim

Recomendado: