Sommario:

Visualizzazione semplice del tempo utilizzando Raspberry PI e Cyntech WeatherHAT: 4 passaggi
Visualizzazione semplice del tempo utilizzando Raspberry PI e Cyntech WeatherHAT: 4 passaggi

Video: Visualizzazione semplice del tempo utilizzando Raspberry PI e Cyntech WeatherHAT: 4 passaggi

Video: Visualizzazione semplice del tempo utilizzando Raspberry PI e Cyntech WeatherHAT: 4 passaggi
Video: Raspberry Pi: installare il sistema operativo e configurare la scheda 2024, Dicembre
Anonim
Visualizzazione semplice del tempo utilizzando Raspberry PI e Cyntech WeatherHAT
Visualizzazione semplice del tempo utilizzando Raspberry PI e Cyntech WeatherHAT
Visualizzazione semplice del tempo utilizzando Raspberry PI e Cyntech WeatherHAT
Visualizzazione semplice del tempo utilizzando Raspberry PI e Cyntech WeatherHAT

* Nel 2019 Yahoo ha cambiato la sua API e questo ha smesso di funzionare. Non ero a conoscenza del cambiamento. A settembre del 2020 questo progetto è stato aggiornato per utilizzare l'API OPENWEATHERMAP Vedi la sezione aggiornata di seguito, il resto di queste informazioni è comunque valido. Grazie per la ricerca e grazie per avermi informato del cambiamento di Yahoo. *

Recentemente ho acquistato un Cyntech WeatherHAT, ma sono rimasto un po' deluso dalla mancanza di software.

Il HAT in sé sembra essere ben costruito, con 6 LED blu a forma di gocce di pioggia, 6 LED arancioni a forma di fulmine, 6 LED bianchi a forma di nuvola. 1 (Quello che credo sia un LED RGB) per il SOLE: viene visualizzato in arancione (quindi potrei sbagliarmi sul fatto che sia un RGB). E 6 LED WS2812 (questi sono RGB:-))

Cyntech ha una guida introduttiva, e anche questo è positivo: è facile da installare e utilizzare HAT.

Quindi sono stato semplicemente sorpreso di non vedere alcun software (a parte la demo fornita da Cyntech). Sono stato ugualmente sorpreso di non trovare nessuno che lo utilizzasse davvero - Forse le persone vogliono un display "fantasioso" con temperature e tutto quel tipo di informazioni. Per me è bello guardare solo alcuni LED e sapere - sta piovendo, o temporale o nuvoloso - a quel punto se ho bisogno di maggiori informazioni posso guardare il mio tablet o telefono.:-)

Un po 'di più: questa è davvero la mia prima volta che uso Python, non sono affatto bravo a farlo. E sono sicuro che le persone che conoscono davvero Python mi diranno un modo migliore per farlo.

Iniziamo:

Abbiamo bisogno di una scheda SD (almeno 8 GB)

Un Raspberry PI (sto usando uno Zero W) deve avere accesso a Internet.

e abbiamo bisogno del weatherHAT Cyntech

Se usi un Raspberry PI Zero W dovrai anche essere in grado di saldare una serie di intestazioni alla scheda.

Altrimenti le competenze necessarie sono la capacità di utilizzare il software e configurare la scheda SD.

Passaggio 1: imposta la scheda SD e Raspberry PI

Imposta la scheda SD e Raspberry PI
Imposta la scheda SD e Raspberry PI
Imposta la scheda SD e Raspberry PI
Imposta la scheda SD e Raspberry PI

Dovrai scaricare l'ultimo Raspbian (al momento di questo istruibile che è Raspbian Stretch marzo 2018 (2018-03-13))

www.raspberrypi.org/downloads/raspbian/

Ho usato l'edizione desktop, anche se sto eseguendo la mia configurazione senza testa e facendo la maggior parte delle cose dalla CLI (interfaccia a riga di comando) su ssh.

Segui la guida alla configurazione che trovi qui:

www.raspberrypi.org/documentation/installa…

Al termine di Etcher, rimuovere la scheda SD e reinserirla nel computer.

* Hai davvero solo bisogno di fare questo passaggio qui sotto se hai intenzione di fare un'installazione senza testa

Dobbiamo configurare SSH e WIFI prima di utilizzare la scheda SD nel Raspberry PI. Nella partizione BOOT della scheda, crea un file chiamato "ssh" senza le virgolette. nulla deve essere in quel file. Quando il PI si avvia vedrà quel file e attiverà SSH.

Dobbiamo anche creare un file chiamato "wpa_supplicant.conf". Dobbiamo modificare questo file con le tue impostazioni Wi-Fi.

Dovrebbe assomigliare a questo:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

update_config=1 rete={ ssid="yourwifiSSID" psk="yourwifipassword" scan_ssid=1 }

* Hai davvero bisogno di farlo solo se hai intenzione di fare un'installazione senza testa

Una volta fatto, rimuovi in sicurezza la scheda SD e inserisci il Raspberry PI (assicurati che non ci sia alimentazione sul PI).

Attacca il weatherHAT e accendi il Raspberry PI.

Passaggio 2: configurare le librerie WeatherHAT

Configura le librerie WeatherHAT
Configura le librerie WeatherHAT
Configura le librerie WeatherHAT
Configura le librerie WeatherHAT

Per questo passaggio seguiremo la Guida introduttiva trovata

guides.cyntech.co.uk/weatherhat/getting-sta…

SE stai eseguendo un'installazione headless, ti consigliamo di ssh [email protected]

Se non hai un client ssh, PUTTY è buono.

Se stai usando una tastiera e un monitor, la guida sopra è buona da seguire, ti avvia su un desktop con GUI.

I passaggi importanti qui sono installare la libreria WS281x e le librerie WeatherHAT, insieme alla dipendenza per ciascuna.

sudo apt-get update

sudo apt-get upgrade -y sudo apt-get install build-essential python-dev git scons swig python-smbus git clone https://github.com/jgarff/rpi_ws281x.git > git clone https://github.com/ jgarff/rpi_ws281x.git > cd rpi_ws281x scons cd python sudo python setup.py install

Ora dobbiamo assicurarci che I2C sia acceso.

sudo raspi-config

La guida è scritta per una versione precedente di raspi-config e dice di andare a "Opzioni avanzate" che è stato sostituito da credo "Interfacce"

Una volta attivato I2C, dovrai riavviare.

Ora è il momento di testare il HAT

cd WeatherHAT

sudo python cycle.py

Se tutto è andato bene dovresti vedere tutte le caratteristiche e un arcobaleno.

ctrl-z fermerà il programma.

*Note speciali: ho appreso che i tempi del Raspberry PI 3 sono diversi e che l'arcobaleno potrebbe non funzionare correttamente. Se hai questo problema, ecco come risolverlo.

github.com/CyntechUK/WeatherHAT/issues/3

guides.cyntech.co.uk/raspberry-pi/assemblin…

Una volta che tutto funziona, possiamo continuare con il passaggio successivo.

Aggiornamento: (6 ottobre 2020) Questo repository ora contiene il mio script getWeather.py, questa è un'ottima notizia, poiché l'interesse è rinato e nuove cose sono destinate a succedere.

Passaggio 3: installazione di Weather-api e GetWeather Script

Installazione di Weather-api e GetWeather Script
Installazione di Weather-api e GetWeather Script
Installazione di Weather-api e GetWeather Script
Installazione di Weather-api e GetWeather Script
Installazione di Weather-api e GetWeather Script
Installazione di Weather-api e GetWeather Script
Installazione di Weather-api e GetWeather Script
Installazione di Weather-api e GetWeather Script

Quindi, ho inserito una richiesta PULL a CyntechUK per il mio script - si spera che accettino la richiesta e che tu possa saltare il download del mio repository. (potrebbero non voler includere il mio codice tu)

(6 ottobre 2020) La richiesta PULL è stata approvata, il mio script getWeather è ora incluso nel repository Weatherhat.

********* Puoi ancora utilizzare queste informazioni se lo desideri, tuttavia getWeather.py è stato incluso nel repository weatherhat ora ***************** ****************

Il mio repository può essere trovato qui:

github.com/kd8bxp/WeatherHAT/tree/getWeath…

e il mio script si chiama getWeather.py

SE accettano la richiesta pull, avrai già questo script, altrimenti dovrai clonare il repository.

nella tua home directory (/home/pi) digita:

git clone https://github.com/kd8bxp/WeatherHAT.git getWeather

questo clonerà il repository in una directory chiamata getWeather, quindi dobbiamo controllare il ramo getWeather.

cd getWeather

git checkout getWeather

**********************************************************************

Dovrai inserire un cd nella directory weatherHAT che è stata clonata in precedenza e

Dobbiamo modificare lo script getWeather.py per la tua posizione.

nano getWeather.py

Dovresti vedere una riga che inizia con

location e termina con lookup(45042) - Questo è il mio codice postale, ho scoperto che non funziona come pensi

e la riga appena sopra commentata funziona meglio con il nome di una città. Questo è quello che probabilmente vorrai usare. Quindi commenta la riga del codice postale (#) e decommenta e cambia il nome della tua città.

*********** INFORMAZIONI SUL VECCHIO YAHOO - Non più richiesto ***********

Dobbiamo installare un'altra libreria affinché funzioni, weather-api che è un wrapper per l'API meteo di Yahoo.

pypi.python.org/pypi/weather-api/0.0.5

L'installazione è facile -

pip install weather-api

***********************************************************************************

Ora possiamo eseguire lo script:

sudo python getWeather.py &

Il & consentirà l'esecuzione dello script in background. Lo script dorme per circa 5 minuti, quindi controlla Yahoo Weather se qualcosa è cambiato, in tal caso aggiorna il display. Il tempo di 5 minuti può essere modificato, è vicino alla fine dello script.

dormire (60 * 5)

Potresti impostare un crontab job (ricorda che deve essere eseguito come root) che avvierà lo script ad ogni avvio.

utilizzo:

sudo crontab -e

accedere:

@reboot python /home/pi/weatherHAT/getWeather.py

Penso che dovrebbe funzionare: non ho ancora configurato cron sul mio sistema.

È praticamente tutto -

Come ho affermato, questo è uno dei miei primi programmi Python e sono sicuro che qualcuno che ne sa di più vedrà un modo migliore per farlo.

Ho fatto solo test limitati su questo - ho visto "Snow" "Rain" e "Thunderstorm" funzionare finora, Ci sono alcune condizioni che non sono ancora sicuro di come gestire: accolgo con favore le idee.

Passaggio 4: informazioni aggiornate per: API Openweathermap

A settembre 2020, ho aggiornato lo script per utilizzare l'API

NOTA: questa è stata una soluzione "rapida" per me e testata in modo limitato - (è stato nuvoloso negli ultimi giorni e tutto ciò che vedo è il display di nuvole e pioggia) - Mentre credo di aver catturato tutte le condizioni che sono facili da display, è possibile che me ne siano persi un paio a causa della "velocità" di questa correzione. Detto questo, se pensi che ci sia un problema per favore lascia un commento e tempo permettendo lo esaminerò - o cercherò di indirizzarti nella giusta direzione. *

Dovrai registrarti per una chiave API utilizzando il link sopra, quando modifichi lo script per posizionare la tua città, vedrai un posto per la chiave. Basta copiarlo e incollarlo e dovresti essere a posto.

Altre note:

Questo script ora utilizza le informazioni "API dei dati meteorologici attuali" su tale API possono essere trovate qui:

openweathermap.org/current Una cosa da notare è che puoi usare una città, uno stato e un paese.

IE: la città "Dayton" diventa "Dayton, OH, US" notare come i codici dello stato e del paese sono entrambi maiuscoli, questo è obbligatorio. L'API dice che può usare solo "Dayton, OH" ma ho ricevuto errori dallo script quando l'ho fatto - e poiché si trattava di una soluzione rapida, non ho esaminato il motivo. Quindi, consiglio di utilizzare "città, stato, paese"

Se per qualche motivo non ottieni buone informazioni utilizzando il nome di una città, puoi anche cercare l'ID della città o utilizzare latitudine e longitudine o il codice postale. In ogni caso l'URL dovrà essere modificato, se si fa clic sul collegamento sul lato destro del sito Web dell'API, verrà fornito un esempio di come dovrebbe essere l'URL.

È necessario modificare anche l'URL nello script.

Ancora più note: 3 ottobre 2020

@Itsmedoofer ha sottolineato che avevano bisogno di installare la libreria python-requests con il nuovo aggiornamento. Non sono sicuro di averne bisogno (è anche possibile che l'abbia installato anni fa o che versioni diverse di Python installino librerie diverse per impostazione predefinita). Quindi, se lo script fornisce un errore sulle richieste di Python, è semplice da risolvere.

digita questo comando nella CLI: python -m pip install request

e dovresti essere bravo

Spero che questo renda da allora, questa è stata una soluzione rapida, e forse un giorno, permettendomi di lavorare per ripulirlo un po' meglio.

Aggiornamento (6 ottobre 2020) La richiesta pull github è stata accettata, il repository originale CyntechUK originale ora include questo script. https://github.com/CyntechUK/WeatherHAT L'utente Boeerb ha alcune idee su come visualizzare alcune delle condizioni che attualmente non sono visualizzate, così come alcune altre idee per l'uso. Quindi tieni d'occhio quel repository. E si spera che le cose accadano.

Aggiornamento: (8 ottobre 2020) Open Weather Map ha un breve tutorial sulla configurazione e l'utilizzo dell'API, https://openweathermap.org/appid Un buon punto di partenza.

Consigliato: