Taula de continguts:

Estació meteorològica d'Internet Raspberry Pi: 5 passos (amb imatges)
Estació meteorològica d'Internet Raspberry Pi: 5 passos (amb imatges)

Vídeo: Estació meteorològica d'Internet Raspberry Pi: 5 passos (amb imatges)

Vídeo: Estació meteorològica d'Internet Raspberry Pi: 5 passos (amb imatges)
Vídeo: Радар дождя и панель погоды Raspberry Pi 2024, Juliol
Anonim
Estació meteorològica d'Internet Raspberry Pi
Estació meteorològica d'Internet Raspberry Pi
Estació meteorològica d'Internet Raspberry Pi
Estació meteorològica d'Internet Raspberry Pi

*** Actualització ***

Aquest instructable ha caducat. Els serveis meteorològics per a les dades meteorològiques, que s’utilitzen en aquest instructiu, ja no funcionen. Tanmateix, hi ha un projecte alternatiu que fa bàsicament el mateix (només millor: aquest instructable sempre va ser només un hack). Així que aquí teniu l’enllaç que voldreu seguir:

https://piweatherrock.technicalissues.us/

Moltes gràcies, aneu a Gene Liverman a PiWeatherRock per agafar el mantell d’aquest projecte.

Aquest instructiu us mostrarà com construir una estació meteorològica basada en Internet de Raspberry Pi. En realitat, anomenar aquesta construcció "estació meteorològica" és una declaració poc definida. Aquesta construcció es podria ampliar fàcilment per proporcionar molt més que el simple temps. Tanmateix, és un bon començament i a la meva taula sembla molt divertit.

A la nostra família (bé, sobretot a mi) li ha agradat tenir l’iPad familiar al taulell de la cuina quan no s’utilitzava, mostrant tranquil·lament les condicions meteorològiques exteriors actuals. Tot i això, és difícil carregar i descarregar l’iPad dins i fora de la funda arcade. A més, just quan vaig a mirar el temps, descobreixo que algú ha pres la pantalla iPad / meteorològica. El que cal és una pantalla de taulell permanent que els nens no llisquin com l'iPad.

Pas 1: generació 1: l'estació meteorològica Lunchbox Pi

Gen 1: l’estació meteorològica Lunchbox Pi
Gen 1: l’estació meteorològica Lunchbox Pi
Gen 1: l’estació meteorològica Lunchbox Pi
Gen 1: l’estació meteorològica Lunchbox Pi

El meu primer pensament va ser utilitzar una petita pantalla de vídeo composta. Vaig agafar el que apareix a la imatge a Ebay per 22 dòlars; només cal que cerqueu "Monitor de cotxe TFT LCD de 4,3 polzades Monitor de vista posterior del cotxe". La pantalla té una resolució de 656 per 416 píxels, cosa que fa que desafiant mostrar molta informació útil sigui un repte. La pantalla requereix 12Vdc com a tensió d'alimentació. El Raspberry Pi, per descomptat, necessita 5Vdc com a tensió d’alimentació. Per solucionar-ho, vaig comprar un carregador de cotxe USB barat d’Amazon. Per uns $ 6 dòlars vaig trobar un canviador de cotxes de 5 Vcc per 2 Amp. Per tant, la carmanyola té una font d'alimentació externa de berrugues de paret de 12Vdc. El 12Vdc alimenta la pantalla directament. El 12Vdc també va al carregador de cotxe USB que baixa el voltatge fins a un 5Vdc regulat. Com a pirateig final, vaig soldar un parell de cables directament entre el carregador del cotxe i el Raspberry Pi, no la meva millor idea.

Tot i que tot funcionava, no em sentia molt satisfet amb la qualitat del vídeo a la pantalla composta. El tipus de lletra petit a la pantalla era més difús del que voldria. A més, mentre que la carmanyola al principi semblava bonica després, semblava una mica cursi.

Pas 2: generació 2: monitor HDMI + estoig de plexiglàs tallat amb làser

Gen 2 - Monitor HDMI + Funda Arcade en plexiglàs tallat amb làser
Gen 2 - Monitor HDMI + Funda Arcade en plexiglàs tallat amb làser
Gen 2 - Monitor HDMI + Funda Arcade en plexiglàs tallat amb làser
Gen 2 - Monitor HDMI + Funda Arcade en plexiglàs tallat amb làser
Gen 2 - Monitor HDMI + Funda Arcade en plexiglàs tallat amb làser
Gen 2 - Monitor HDMI + Funda Arcade en plexiglàs tallat amb làser

De tornada a eBay, vaig trobar un bonic monitor de marc obert HDMI de 54 dòlars amb una resolució de 800x600. Per definició, qualsevol marc obert necessita un marc per muntar-hi. Atès que la tendresa de la carmanyola era molt llarga, era hora que es fessin acrílics tallats amb làser. El meu espai local de pirates informàtics i3Detroit té un tallador de 150 watts que pot fer carn picada d’acrílic de 4,5 mm.

Vaig basar lliurement el meu recinte arcade al quadre arcade de l'iPad. Si alguna vegada faig un disseny Gen 3 inclouria desafiant una safata extraïble / lliscant per al Pi. Resulta que és un dolor important al coll intentar endollar i sortir del Pi, ja que no hi ha molt espai entre el Pi i les parets laterals.

El monitor HDMI també requereix un aliment de 12Vdc. Per tant, he fet servir el mateix truc d’utilitzar de nou un carregador de cotxe USB. Aquesta vegada, però, he tallat un vell cable USB, de manera que no calen cables soldats al Pi.

Si algú està interessat en el cas arcade, publiqueu un comentari a continuació i penjaré els fitxers DXF. O bé, els fitxers es troben al meu lloc web a ph-elec.com.

Pas 3: Configuració del Pi

Configuració del Pi
Configuració del Pi

No és tan difícil configurar un nou Raspberry Pi amb el programari necessari. Tot el programari està escrit en Python amb només un mòdul Python afegit. El mòdul Python addicional s'anomena "pywapi". Aquí teniu un enllaç on podeu descarregar el mòdul. Aquest mòdul facilita obtenir temps en temps real de Yahoo, Weather.com o NOAA.

Primer de tot, aquí teniu una llista de comprovació per configurar un Raspberry Pi en brut:

  1. Descarregueu la versió més recent de Raspbian (Debian Wheezy). Descomprimiu per obtenir un fitxer.img.
  2. Escriviu a una targeta SD amb "dd bs = 4M if = 09-09-2014-wheezy-raspbian.img de = / dev / sdb"
  3. L'ordre dd triga uns cinc minuts. Quan s'hagi completat, executeu "sync" per rentar les canonades.
  4. Instal·leu la targeta SD al Pi i reinicieu. Assegureu-vos que hi hagi una connexió Ethernet al Pi.
  5. Amb la pàgina "Dispositius connectats" del router, cerqueu l'adreça IP del nou Pi.
  6. Inicieu la sessió al Pi mitjançant "ssh [email protected]. ???" on ??? és el número IP de dalt. La contrasenya serà "gerd".
  7. Al Pi, utilitzeu l'ordre "raspi-config" per configurar els valors predeterminats.

    1. Activeu l'arrencada automàtica a la GUI.
    2. Establiu el nom de l'amfitrió com a "MyPi".
  8. Instal·leu VNC al Pi amb "sudo apt-get install tightvncserver".

    Executeu "tightvncserver" que estableix la contrasenya

  9. De nou a la gran caixa de Linux, utilitzeu "Escriptori remot" per veure l'escriptori Pi GUI.

    1. Establiu el protocol a "VNC" i el número IP a "192.168.1.???:1". Tingueu en compte el ": 1" al final del número IP.
    2. Feu clic al botó de connexió i proporcioneu la contrasenya VNC.
    3. Bingo, escriptori GUI Pi remot!

      Això estalvia arrossegar un monitor, un teclat i un ratolí per connectar-se al nou Pi

    4. A l’escriptori, executeu la icona de configuració del WiFi. Configureu el nou WiFi Pi / USB per connectar-vos a la xarxa.
    5. Tanqueu la connexió VNC: ara hem acabat amb els escriptoris remots.
  10. De nou a la finestra ssh, reinicieu el Pi amb "sudo reboot". Desconnecteu el cable Ethernet ja que el WiFi està configurat.
  11. De nou al router local, cerqueu el nou número IP que el Pi utilitza amb WiFi.
  12. Amb ssh, torneu a iniciar la sessió amb el nou número IP. Aquesta vegada la connexió serà per WiFi.
  13. Amb el Gestor de fitxers a Linux, connecteu-vos al Pi mitjançant l'ordre "connectar al servidor".

    L'adreça del servidor és "sftp: //192.168.1. ??? / home / pi"

  14. S'ha completat la configuració bàsica.

A continuació, cal descarregar i instal·lar el pywapi. Una vegada més, això no és massa difícil amb els passos següents:

  1. Descarregueu les últimes novetats des d’aquí. Extraieu l'arxiu en un directori nou.
  2. Amb File Manger, copieu el directori al directori inicial de Pi.
  3. Amb ssh, feu el següent al Pi:

    1. cd pywapi-0.3.8
    2. sudo python setup.py build
    3. sudo python setup.py install
  4. Fet.

Actualització, he oblidat dos esmentar dues coses més:

  1. Al Pi, executeu l'ordre següent:

    1. sudo apt-get install avahi-daemon

      Això permet connectar-se al Pi per nom. Per tant, al vostre equip principal podeu connectar-vos com a "ssh [email protected]" en lloc d'utilitzar números IP. Amb diversos Pi a la xarxa és fàcil confondre’ls a menys que els cridi pel seu nom

    2. sudo raspi-config

      1. Cerqueu i executeu la quarta opció anomenada "Opcions d'internacionalització" i configureu la vostra zona horària.
      2. Amb el fus horari establert i ntpd (dimoni de protocol de temps de xarxa) en execució, el Pi sempre mostrarà l'hora correcta en un parell de mil·lisegons. M’ha d’encantar.
  2. D'acord, ara hem acabat de nou.

Pas 4: Codi font

Codi font
Codi font

Tot el codi font d'aquesta petita visualització meteorològica es basa en Python, PyGame i Pywapi. Tot el programari lliure / de codi obert.

PyGame s'utilitza per fer totes les coses de la GUI. Coses realment increïbles. Mitjançant PyGame, tota la pantalla es reconstrueix un cop per segon. Prop de la part superior del meu codi font trobareu una secció que permet modificar diferents mides de visualització. Hi ha una secció per a la pantalla de vídeo composta petita i una segona secció per a la pantalla HDMI més gran. Simplement comento una de les dues seccions en funció de la mida de pantalla que necessito.

Per fer funcionar el meu codi font, només heu de descomprimir el fitxer adjunt i copiar tot el directori al Pi mitjançant File Gestionar. Un cop copiat, inicieu el codi amb les ordres ssh següents:

  1. cd Temps
  2. sudo python weather.py

Cal l'ordre sudo perquè Python pugui controlar / llegir els pins GPIO. Probablement hi ha alguna manera d’evitar aquesta restricció, però m’escapa.

Un cop tot funciona amb ssh, és hora que el temps comenci automàticament en reiniciar. Això també és molt fàcil de fer.

  1. Amb ssh, executeu "sudo vi /etc/rc.local"
  2. Just abans de l'última línia, que diu "sortida 0", afegiu el següent a les línies.

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

Això iniciarà automàticament l'aplicació meteorològica al Pi després d'un reinici. Si més endavant voleu desactivar això, només cal que utilitzeu ssh per editar el fitxer i afegir el caràcter de comentari "#" davant de les dues línies i reiniciar.

Tingueu en compte que el meu codi font és un gran hack i no n’estic molt orgullós. Tanmateix, si esperava fins que es presentés, mai no es presentaria. Per tant, preneu-lo o deixeu-lo, no ploreu, ja que tinc la pell molt prima.

Un parell d’altres coses a destacar sobre el meu codi. Enterrat aquí, notareu algun codi per parlar amb un dispositiu X10. Aquest va ser el meu intent de controlar els meus llums externs del pal que es troben a l'adreça A3. Simplement volia que els llums s’encenguessin al capvespre i que s’apaguessin a la matinada. Sembla prou fàcil i vaig pensar que el funcionaria. Amb un dongle USB-a-RS232 al Pi, havia connectat un mòdul CM11A X10. El CM11A és un antic mòdul de macro X10. El CM11A també té un port RS232 que permet controlar el bus X10. Sembla que encara hi ha alguns errors perquè els llums dels pals de la llum no reben el missatge.

També cal destacar que a la pantalla més gran hi ha un buit buit al costat dret de la pantalla. El meu pla és afegir algunes làmpades d'estat en aquesta zona. Estic jugant amb algunes ràdios IEEE802.15.4 i les seves sortides apareixeran un dia en aquest lloc obert.

Per obtenir les actualitzacions més recents i més recents, visiteu el meu lloc web a ph-elec.com.

Bé, feu-me saber a la secció de comentaris que hi ha a sota de qualsevol pregunta que pugueu tenir.

Gràcies, Jim.

Ah, i no us oblideu de votar-me! Gràcies de nou.

BTW: Sempre hi ha més informació al meu lloc web: www.ph-elec.com

Pas 5: actualització de la mètrica

Adjunta una nova versió que permet la visualització de mètriques o imperials.

Espero que això ajudi, Jim

Recomanat: