Sommario:

Stazione meteo Internet Raspberry Pi: 5 passaggi (con immagini)
Stazione meteo Internet Raspberry Pi: 5 passaggi (con immagini)

Video: Stazione meteo Internet Raspberry Pi: 5 passaggi (con immagini)

Video: Stazione meteo Internet Raspberry Pi: 5 passaggi (con immagini)
Video: Raspberry Pi Rain Radar & Weather Dashboard 2024, Dicembre
Anonim
Stazione meteo Internet Raspberry Pi
Stazione meteo Internet Raspberry Pi
Stazione meteo Internet Raspberry Pi
Stazione meteo Internet Raspberry Pi

*** Aggiornare ***

Questo Instructable non è aggiornato. I servizi meteo per i dati meteo, utilizzati in questo Instructable, non funzionano più. TUTTAVIA, esiste un progetto alternativo che fa sostanzialmente la stessa cosa (solo meglio - questo Instructable è sempre stato solo un hack). Quindi ecco il link che vorrai seguire:

https://piweatherrock.technicalissues.us/

Grazie mille a Gene Liverman di PiWeatherRock per aver preso il testimone di questo progetto.

Questo Instructable ti mostrerà come costruire una stazione meteo basata su Internet Raspberry Pi davvero interessante. In realtà, chiamare questa build una "stazione meteorologica" è un po' un'affermazione sottotono. Questa build potrebbe essere facilmente estesa per fornire molto di più del semplice meteo. Tuttavia, è un buon inizio e sembra davvero fantastico sulla mia scrivania.

La nostra famiglia (OK, soprattutto io) si è divertita ad avere l'iPad di famiglia sul bancone della cucina, quando non è in uso, che mostra silenziosamente le attuali condizioni meteorologiche esterne. Tuttavia, è una seccatura caricare e scaricare l'iPad dentro e fuori dalla custodia della culla arcade. Inoltre, proprio quando vado a guardare il meteo, scopro che qualcuno ha preso l'iPad/il display meteo. Quello che serve è un display da banco permanente che i bambini non possano scorrere come l'iPad.

Fase 1: Gen 1 - la stazione meteo Lunchbox Pi

Gen 1 - la stazione meteo Lunchbox Pi
Gen 1 - la stazione meteo Lunchbox Pi
Gen 1 - la stazione meteo Lunchbox Pi
Gen 1 - la stazione meteo Lunchbox Pi

Il mio primo pensiero è stato quello di utilizzare un piccolo display video composito. Ho preso quello nella foto su Ebay per $ 22 dollari: cerca semplicemente "Monitor per auto con monitor retrovisore per auto LCD TFT da 4,3 pollici". Il display ha una risoluzione riportata di 656 per 416 pixel che rende provocatoriamente la visualizzazione di molte informazioni utili una sfida! Il display richiede 12Vdc come tensione di alimentazione. Il Raspberry Pi, ovviamente, necessita di 5Vdc come tensione di alimentazione. Per risolvere questo problema, ho acquistato un caricabatterie USB per auto economico da Amazon. Per circa $6 dollari ho trovato un cambia auto da 5Vdc da 2 Amp. Pertanto, il lunchbox ha un alimentatore esterno da parete a 12Vdc. Il 12Vdc alimenta direttamente il display. Il 12Vdc va anche al caricatore USB per auto che riduce la tensione a 5Vdc regolati. Come ultimo trucco, ho saldato un paio di fili direttamente tra il caricabatterie per auto e il Raspberry Pi, non la mia migliore idea.

Anche se tutto funzionava, non ero molto soddisfatto della qualità del video sul display composito. Il carattere piccolo sul display era più sfocato di quanto avrei voluto. Inoltre, mentre il pranzo al sacco all'inizio sembrava carino, in seguito sembrava un po' scadente.

Passaggio 2: Gen 2 - Monitor HDMI + Custodia Arcade in plexiglass tagliata al laser

Gen 2 - Monitor HDMI + Custodia Arcade in plexiglass tagliata al laser
Gen 2 - Monitor HDMI + Custodia Arcade in plexiglass tagliata al laser
Gen 2 - Monitor HDMI + Custodia Arcade in plexiglass tagliata al laser
Gen 2 - Monitor HDMI + Custodia Arcade in plexiglass tagliata al laser
Gen 2 - Monitor HDMI + Custodia Arcade in plexiglass tagliata al laser
Gen 2 - Monitor HDMI + Custodia Arcade in plexiglass tagliata al laser

Di nuovo su eBay ho trovato un bel monitor HDMI open frame da $ 54 con una risoluzione di 800x600. Per definizione, una struttura aperta ha bisogno di una cornice per il montaggio. Dato che la carineria del portavivande era finita da tempo, era giunto il momento per un po' di acrilico tagliato al laser. Il mio spazio hacker locale i3Detroit ha un cutter da 150 watt davvero carino che può tritare carne di acrilico da 4,5 mm.

Ho liberamente basato il mio recinto arcade sulla scatola arcade dell'iPad. Se mai realizzo un design di terza generazione, includerebbe in modo provocatorio un vassoio rimovibile / estraibile per il Pi. Si scopre che è un grande dolore al collo cercare di collegare le cose dentro e fuori dal Pi poiché non c'è molto spazio tra il Pi e le pareti laterali.

Il monitor HDMI richiede anche un'alimentazione a 12Vdc. Quindi, ho usato lo stesso trucco di usare di nuovo un caricabatterie per auto USB. Questa volta, tuttavia, ho tagliato un vecchio cavo USB in modo che i fili saldati sul Pi non fossero necessari.

Se qualcuno è interessato al caso arcade posta un commento qui sotto e caricherò i file DXF. Oppure, i file sono sul mio sito Web all'indirizzo ph-elec.com.

Passaggio 3: configurazione Pi

Configurazione Pi
Configurazione Pi

Configurare un nuovo Raspberry Pi con il software necessario non è così difficile. Tutto il software è scritto in Python con un solo modulo Python aggiunto. Il modulo aggiuntivo Python si chiama "pywapi". Ecco un link dove è possibile scaricare il modulo. Questo modulo consente di ottenere facilmente il meteo in tempo reale da Yahoo, Weather.com o NOAA.

Per prima cosa, ecco una lista di controllo per configurare un Raspberry Pi grezzo:

  1. Scarica l'ultima versione di Raspbian (Debian Wheezy). Decomprimi per ottenere un file.img.
  2. Scrivi su una scheda SD con "dd bs=4M if=2014-09-09-wheezy-raspbian.img of=/dev/sdb"
  3. Il comando dd impiega circa cinque minuti. Al termine, eseguire "sync" per lavare i tubi.
  4. Installa la scheda SD nel Pi e riavvia. Assicurati che ci sia una connessione Ethernet al Pi.
  5. Utilizzando la pagina "Dispositivi collegati" sul router, trova l'indirizzo IP del nuovo Pi.
  6. Accedi al Pi usando "ssh [email protected].???" dove ??? è il numero IP dall'alto. La password sarà "lampone".
  7. Sul Pi, usa il comando "raspi-config" per impostare i valori predefiniti.

    1. Attiva l'avvio automatico nella GUI.
    2. Imposta il nome host su qualcosa come "MyPi".
  8. Installa VNC sul Pi con "sudo apt-get install tightvncserver".

    Esegui "tightvncserver" che imposta la password

  9. Torna sulla grande scatola Linux, usa "Desktop remoto" per visualizzare il desktop della GUI Pi.

    1. Impostare il protocollo su "VNC" e il numero IP su "192.168.1.???:1". Nota ":1" alla fine del numero IP.
    2. Premi il pulsante di connessione e fornisci la password VNC.
    3. Bingo, desktop remoto con GUI Pi!

      Ciò evita di trascinare un monitor, una tastiera e un mouse per connettersi al nuovo Pi

    4. Sul desktop, esegui l'icona di configurazione WiFi. Configura il nuovo Pi/USB WiFi per connetterti alla rete.
    5. Chiudi la connessione VNC: ora abbiamo finito con i desktop remoti.
  10. Torna nella finestra ssh, riavvia il Pi con "sudo reboot". Scollegare il cavo Ethernet poiché il WiFi è ora configurato.
  11. Torna sul router di casa, trova il nuovo numero IP che il Pi sta utilizzando con il WiFi.
  12. Utilizzando ssh, accedi nuovamente utilizzando il nuovo numero IP. Questa volta la connessione avverrà tramite WiFi.
  13. Usando Files Manager su Linux, connettiti al Pi usando il comando "connect to server".

    L'indirizzo del server è "sftp://192.168.1.???/home/pi"

  14. Configurazione di base completata.

Successivamente, pywapi deve essere scaricato e installato. Ancora una volta, questo non è troppo difficile con i seguenti passaggi:

  1. Scarica l'ultima da qui. Estrarre l'archivio in una nuova directory.
  2. Usando File Manager, copia la directory nella directory principale di Pi.
  3. Usando ssh, esegui le seguenti operazioni sul Pi:

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

Aggiornamento, ho dimenticato due menzionare altre due cose:

  1. Sul Pi esegui il seguente comando:

    1. sudo apt-get install avahi-daemon

      Ciò consente la connessione al Pi per nome. Quindi, sul tuo computer principale puoi connetterti come "ssh [email protected]" invece di usare i numeri IP. Con più Pi sulla rete è facile confonderli a meno che non vengano chiamati per nome

    2. sudo raspi-config

      1. Cerca ed esegui la quarta opzione chiamata "Opzioni di internazionalizzazione" e imposta il tuo fuso orario.
      2. Con il fuso orario impostato e ntpd (demone del protocollo orario di rete) in esecuzione, il Pi visualizzerà sempre l'ora corretta entro un paio di millisecondi! Devi amarlo.
  2. OK, ora abbiamo finito di nuovo.

Passaggio 4: codice sorgente

Codice sorgente
Codice sorgente

Tutto il codice sorgente per questo piccolo display meteo è basato su Python, PyGame e Pywapi. Tutto il software open source / gratuito.

PyGame è usato per fare tutte le cose della GUI. Roba davvero incredibile. Usando PyGame, l'intero display viene ricostruito una volta al secondo. Nella parte superiore del mio codice sorgente troverai una sezione che consente di modificare le diverse dimensioni del display. C'è una sezione per il piccolo display video composito e una seconda sezione per il display HDMI più grande. Commento semplicemente una delle due sezioni in base alle dimensioni del display di cui ho bisogno.

Per far funzionare il mio codice sorgente, decomprimi l'allegato e copia l'intera directory sul Pi usando Gestione file. Una volta copiato, avvia il codice utilizzando i seguenti comandi ssh:

  1. cd Meteo
  2. sudo python meteo.py

Il comando sudo è necessario affinché Python possa controllare/leggere i pin GPIO. Probabilmente c'è un modo per aggirare questa restrizione, ma mi sfugge.

Una volta che tutto funziona utilizzando ssh, è ora che il meteo si avvii automaticamente al riavvio. Anche questo è davvero facile da fare.

  1. Usando ssh, esegui "sudo vi /etc/rc.local"
  2. Appena prima dell'ultima riga, che dice "exit 0", aggiungi quanto segue alle righe.

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

Questo avvierà automaticamente l'applicazione meteo sul Pi dopo un riavvio. Se in seguito vuoi disattivarlo, usa ssh per modificare il file e aggiungi il carattere di commento "#" davanti a entrambe le righe e riavvia.

Nota, il mio codice sorgente è un grosso hack e non ne vado molto orgoglioso. Tuttavia, se avessi aspettato che fosse presentabile, non sarebbe mai stato presentato. Quindi, prendere o lasciare, non piangere perché ho la pelle molto sottile.

Un paio di altre cose da notare sul mio codice. Sepolto lì dentro noterai del codice per parlare con un dispositivo X10. Questo è stato il mio tentativo di controllare le luci del palo esterno che si trovano all'indirizzo A3. Volevo semplicemente che le lampade fossero accese al tramonto e spente all'alba. Sembra abbastanza facile e pensavo di averlo fatto funzionare. Utilizzando un dongle da USB a RS232 sul Pi avevo collegato un modulo CM11A X10. Il CM11A è un vecchio modulo macro X10. Il CM11A dispone anche di una porta RS232 che consente il controllo sul bus X10. Sembra che ci siano ancora alcuni bug perché le luci del palo della lampada non ricevono il messaggio!

Da notare anche che sul display più grande c'è una bella fessura aperta lungo il lato destro del display. Il mio piano è aggiungere alcune spie di stato in quella zona. Sto giocando con alcune radio IEEE802.15.4 e le loro uscite un giorno appariranno in quel punto aperto.

Per gli ultimi e migliori aggiornamenti, visitare il mio sito Web all'indirizzo ph-elec.com.

Bene, fammi sapere nella sezione commenti qui sotto qualsiasi domanda tu possa avere.

Grazie, Jim.

Oh, e non dimenticare di votare per me! Grazie ancora.

A proposito: ci sono sempre più informazioni sul mio sito web: www.ph-elec.com

Passaggio 5: aggiornamento della metrica

In allegato è una nuova versione che consente la visualizzazione sia metrica che imperiale.

Spero questo sia di aiuto, Jim

Consigliato: