Sommario:
- Fase 1: Gen 1 - la stazione meteo Lunchbox Pi
- Passaggio 2: Gen 2 - Monitor HDMI + Custodia Arcade in plexiglass tagliata al laser
- Passaggio 3: configurazione Pi
- Passaggio 4: codice sorgente
- Passaggio 5: aggiornamento della metrica
Video: Stazione meteo Internet Raspberry Pi: 5 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:00
*** 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
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
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
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:
- Scarica l'ultima versione di Raspbian (Debian Wheezy). Decomprimi per ottenere un file.img.
- Scrivi su una scheda SD con "dd bs=4M if=2014-09-09-wheezy-raspbian.img of=/dev/sdb"
- Il comando dd impiega circa cinque minuti. Al termine, eseguire "sync" per lavare i tubi.
- Installa la scheda SD nel Pi e riavvia. Assicurati che ci sia una connessione Ethernet al Pi.
- Utilizzando la pagina "Dispositivi collegati" sul router, trova l'indirizzo IP del nuovo Pi.
- Accedi al Pi usando "ssh [email protected].???" dove ??? è il numero IP dall'alto. La password sarà "lampone".
-
Sul Pi, usa il comando "raspi-config" per impostare i valori predefiniti.
- Attiva l'avvio automatico nella GUI.
- Imposta il nome host su qualcosa come "MyPi".
-
Installa VNC sul Pi con "sudo apt-get install tightvncserver".
Esegui "tightvncserver" che imposta la password
-
Torna sulla grande scatola Linux, usa "Desktop remoto" per visualizzare il desktop della GUI Pi.
- Impostare il protocollo su "VNC" e il numero IP su "192.168.1.???:1". Nota ":1" alla fine del numero IP.
- Premi il pulsante di connessione e fornisci la password VNC.
-
Bingo, desktop remoto con GUI Pi!
Ciò evita di trascinare un monitor, una tastiera e un mouse per connettersi al nuovo Pi
- Sul desktop, esegui l'icona di configurazione WiFi. Configura il nuovo Pi/USB WiFi per connetterti alla rete.
- Chiudi la connessione VNC: ora abbiamo finito con i desktop remoti.
- Torna nella finestra ssh, riavvia il Pi con "sudo reboot". Scollegare il cavo Ethernet poiché il WiFi è ora configurato.
- Torna sul router di casa, trova il nuovo numero IP che il Pi sta utilizzando con il WiFi.
- Utilizzando ssh, accedi nuovamente utilizzando il nuovo numero IP. Questa volta la connessione avverrà tramite WiFi.
-
Usando Files Manager su Linux, connettiti al Pi usando il comando "connect to server".
L'indirizzo del server è "sftp://192.168.1.???/home/pi"
- Configurazione di base completata.
Successivamente, pywapi deve essere scaricato e installato. Ancora una volta, questo non è troppo difficile con i seguenti passaggi:
- Scarica l'ultima da qui. Estrarre l'archivio in una nuova directory.
- Usando File Manager, copia la directory nella directory principale di Pi.
-
Usando ssh, esegui le seguenti operazioni sul Pi:
- cd pywapi-0.3.8
- sudo python setup.py build
- sudo python setup.py install
- Fatto.
Aggiornamento, ho dimenticato due menzionare altre due cose:
-
Sul Pi esegui il seguente comando:
-
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
-
sudo raspi-config
- Cerca ed esegui la quarta opzione chiamata "Opzioni di internazionalizzazione" e imposta il tuo fuso orario.
- 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.
-
- OK, ora abbiamo finito di nuovo.
Passaggio 4: 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:
- cd Meteo
- 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.
- Usando ssh, esegui "sudo vi /etc/rc.local"
-
Appena prima dell'ultima riga, che dice "exit 0", aggiungi quanto segue alle righe.
- cd /home/pi/Meteo
- 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:
Stazione meteo online (NodeMCU): 7 passaggi (con immagini)
Stazione meteo online (NodeMCU): Ehi ragazzi! Spero che ti sia già piaciuto il mio precedente tutorial "Arduino Robot 4WR" e sei pronto per uno nuovo, come al solito ho realizzato questo tutorial per guidarti passo dopo passo mentre realizzi il tuo progetto elettronico. Durante la realizzazione di questo
Tweeting stazione meteo: 8 passaggi (con immagini)
Tweeting Weather Station: Hai mai desiderato monitorare le condizioni meteorologiche attuali della tua città, l'impronta di carbonio, i livelli di rumore e inquinamento? Vuoi essere un crociato del cambiamento climatico o impostare la tua stazione meteorologica di tweeting e condividere le condizioni meteorologiche locali con il wo
Stazione meteo fai-da-te e stazione sensore WiFi: 7 passaggi (con immagini)
Stazione meteo fai-da-te e stazione sensore WiFi: in questo progetto ti mostrerò come creare una stazione meteo insieme a una stazione sensore WiFi. La stazione sensore misura i dati di temperatura e umidità locali e li invia, tramite WiFi, alla stazione meteorologica. La stazione meteorologica visualizza quindi t
Orologio WiFi, timer e stazione meteo, controllato da Blynk: 5 passaggi (con immagini)
Orologio WiFi, timer e stazione meteo, controllato da Blynk: questo è un orologio digitale Morphing (grazie a Hari Wiguna per il concetto e il codice morphing), è anche un orologio analogico, una stazione meteorologica e un timer da cucina. È controllato interamente da un App Blynk sul tuo smartphone tramite WiFi. L'app ti consente
Stazione meteo WiFi ESP32 con sensore BME280: 7 passaggi (con immagini)
Stazione meteo WiFi ESP32 con un sensore BME280: cari amici benvenuti in un altro tutorial! In questo tutorial costruiremo un progetto di stazione meteorologica abilitata al WiFi! Useremo per la prima volta il nuovo, impressionante chip ESP32 insieme a un display Nextion. In questo video andiamo