Índice:

Exibição simples do clima usando Raspberry PI e Cyntech WeatherHAT: 4 etapas
Exibição simples do clima usando Raspberry PI e Cyntech WeatherHAT: 4 etapas

Vídeo: Exibição simples do clima usando Raspberry PI e Cyntech WeatherHAT: 4 etapas

Vídeo: Exibição simples do clima usando Raspberry PI e Cyntech WeatherHAT: 4 etapas
Vídeo: Sonoff NSPanel - интерактивная панель для управления умным домом 2024, Junho
Anonim
Exibição simples do clima usando Raspberry PI e Cyntech WeatherHAT
Exibição simples do clima usando Raspberry PI e Cyntech WeatherHAT
Exibição simples do clima usando Raspberry PI e Cyntech WeatherHAT
Exibição simples do clima usando Raspberry PI e Cyntech WeatherHAT

* Em 2019 o Yahoo mudou sua API, e isso parou de funcionar. Eu não sabia da mudança. Em setembro de 2020, este projeto foi atualizado para usar a API OPENWEATHERMAP. Veja a seção atualizada abaixo, o restante desta informação ainda é bom. Obrigado por olhar e por me informar sobre a mudança no Yahoo. *

Recentemente adquiri um Cyntech WeatherHAT, mas fiquei um pouco decepcionado com a falta de software para ele.

O HAT parece ser bem construído, com 6 LEDs azuis em forma de gotas de chuva, 6 LEDs laranja em forma de raio, 6 LEDs brancos em forma de nuvem. 1 (O que eu acredito é um LED RGB) para o SUN - ele exibe laranja (então posso estar errado sobre ser um RGB). E 6 LEDs WS2812 (RGB:-))

A Cyntech tem um guia de primeiros passos, e mesmo isso é bom - é fácil de instalar e usar o HAT.

Então, fiquei surpreso por não ver realmente nenhum software (além do demo fornecido pela Cyntech). Fiquei igualmente surpreso ao não encontrar ninguém realmente usando isso - talvez as pessoas queiram um display "chique" com temperaturas e todo esse tipo de informação. Para mim, é bom apenas olhar alguns LEDs e saber - está chovendo, ou trovoada ou nublado - nesse ponto, se eu precisar de mais informações, posso olhar para meu tablet ou telefone.:-)

Um pouco mais - esta é realmente a minha primeira vez usando python, de forma alguma sou bom nisso. E tenho certeza de que as pessoas que realmente conhecem o python me dirão a melhor maneira de fazer isso.

Vamos começar:

Precisamos de um cartão SD (pelo menos 8 GB)

Um Raspberry PI (estou usando um Zero W) precisa ter acesso à internet.

e precisamos do Cyntech weatherHAT

Se você usar um Raspberry PI Zero W, também precisará soldar um conjunto de cabeçotes à placa.

Caso contrário, as habilidades necessárias são a capacidade de usar o software e configurar o cartão SD.

Etapa 1: definir o cartão SD e o Raspberry PI

Defina o cartão SD e o Raspberry PI
Defina o cartão SD e o Raspberry PI
Defina o cartão SD e o Raspberry PI
Defina o cartão SD e o Raspberry PI

Você precisará baixar o Raspbian mais recente (no momento deste instrutível que é Raspbian Stretch março de 2018 (2018-03-13))

www.raspberrypi.org/downloads/raspbian/

Eu usei a edição desktop, embora eu esteja executando minha configuração headless e fazendo a maioria das coisas a partir da CLI (interface de linha de comando) sobre ssh.

Siga o guia de configuração encontrado aqui:

www.raspberrypi.org/documentation/installa…

Depois que o Etcher estiver pronto, remova o cartão SD e reinsira-o no computador.

* Você realmente só precisa seguir esta etapa abaixo se planeja fazer uma instalação sem cabeça

Precisamos configurar SSH e WIFI antes de usar o cartão SD no Raspberry PI. Na partição BOOT do cartão, crie um arquivo chamado "ssh" sem as aspas. nada precisa estar naquele arquivo. Quando o PI for inicializado, ele verá esse arquivo e ligará o SSH.

Também precisamos criar um arquivo chamado "wpa_supplicant.conf". Precisamos editar este arquivo com suas configurações de wi-fi.

Deve ser parecido com isto:

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

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

* Você realmente só precisa fazer isso se planeja fazer uma instalação sem cabeça

Feito isso, remova com segurança o cartão SD e coloque o Raspberry PI (certifique-se de que o PI não esteja ligado).

Coloque o weatherHAT e ligue o Raspberry PI.

Etapa 2: configurar as bibliotecas WeatherHAT

Configure as Bibliotecas WeatherHAT
Configure as Bibliotecas WeatherHAT
Configure as Bibliotecas WeatherHAT
Configure as Bibliotecas WeatherHAT

Para esta etapa, seguiremos o Guia de primeiros passos encontrado

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

SE você estiver fazendo uma instalação sem comando, você desejará ssh [email protected]

Se você não tem um cliente ssh - PUTTY é um bom cliente.

Se você estiver usando um teclado e monitor - o guia acima é bom para seguir, ele inicia em uma área de trabalho GUI.

As etapas importantes aqui são instalar a biblioteca WS281x e as bibliotecas WeatherHAT, junto com a dependência de cada uma.

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

Agora precisamos ter certeza de que o I2C está ligado.

sudo raspi-config

O guia foi escrito para uma versão mais antiga do raspi-config e diz para ir para "Opções avançadas", que foi substituído por "Interfaces"

Depois de ligar o I2C, você terá que reiniciar.

Agora é hora de testar o HAT

cd WeatherHAT

sudo python cycle.py

Se tudo correr bem, você verá todos os recursos e um arco-íris.

ctrl-z irá parar o programa.

* Notas Especiais: Aprendi que os tempos do Raspberry PI 3 são diferentes e o arco-íris pode não funcionar corretamente. SE você tiver esse problema, aqui está como corrigi-lo.

github.com/CyntechUK/WeatherHAT/issues/3

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

Depois que tudo estiver funcionando, podemos prosseguir para a próxima etapa.

Atualização: (6 de outubro de 2020) Este repositório agora contém meu script getWeather.py, isso é uma ótima notícia, pois o interesse despertou novamente e coisas novas estão prestes a acontecer.

Etapa 3: Instalando Weather-api e GetWeather Script

Instalando Weather-api e GetWeather Script
Instalando Weather-api e GetWeather Script
Instalando Weather-api e GetWeather Script
Instalando Weather-api e GetWeather Script
Instalando Weather-api e GetWeather Script
Instalando Weather-api e GetWeather Script
Instalando Weather-api e GetWeather Script
Instalando Weather-api e GetWeather Script

Então, eu coloquei uma solicitação PULL para CyntechUK para meu script - espero que eles aceitem a solicitação, e você pode pular o download do meu repositório. (eles podem não querer incluir meu código tu)

(6 de outubro de 2020) A solicitação PULL foi aprovada, meu script getWeather agora está incluído no repositório Weatherhat.

********* Você ainda pode usar essas informações se desejar, no entanto getWeather.py foi incluído no repositório do weatherhat agora ******************** *****************

Meu repositório pode ser encontrado aqui:

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

e meu script se chama getWeather.py

SE eles aceitarem a solicitação pull, você já terá este script - caso contrário, você precisará clonar o repositório.

em seu diretório inicial (/ home / pi) digite:

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

isso irá clonar o repositório em um diretório chamado getWeather, em seguida, precisamos verificar o branch getWeather.

cd getWeather

git checkout getWeather

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

Você precisará fazer o cd no diretório weatherHAT que foi clonado anteriormente e

Precisamos editar o script getWeather.py para seu local.

nano getWeather.py

Você deve ver uma linha que começa com

localização e termina com pesquisa (45042) - Este é o meu código postal, descobri que não funciona tão bem quanto você imagina

e a linha logo acima dela que está comentada funciona melhor com o nome de uma cidade. Esse é o que você provavelmente deseja usar. Então, comente a linha do código postal (#) e descomente e altere o nome da sua cidade.

*********** INFORMAÇÕES ANTIGAS DE YAHOO - Não é mais necessário ***********

Precisamos instalar mais uma biblioteca para que isso funcione, weather-api, que é um wrapper para a API de clima do Yahoo.

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

A instalação é fácil -

pip install weather-api

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

Agora podemos executar o script:

sudo python getWeather.py &

O & permitirá que o script seja executado em segundo plano. O script fica suspenso por cerca de 5 minutos e, em seguida, verifica o Yahoo Weather se algo mudou - se for o caso, ele atualiza a exibição. O tempo de 5 minutos pode ser alterado, está próximo ao final do script.

dormir (60 * 5)

Você pode configurar um trabalho crontab (lembre-se de que ele precisa ser executado como root) que iniciará o script a cada inicialização.

usar:

sudo crontab -e

digitar:

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

Acho que deve funcionar - ainda não configurei o cron no meu sistema.

É basicamente isso -

Como afirmei, este é um dos meus primeiros programas em Python, e tenho certeza de que alguém que sabe mais verá uma maneira melhor de fazer isso.

Eu só fiz testes limitados nisso - vi "Neve", "Chuva" e "Tempestade de trovões" funcionarem até agora, Existem algumas condições que ainda não tenho certeza de como lidar - eu aceito ideias.

Etapa 4: informações atualizadas para: API Openweathermap

Em setembro de 2020, atualizei o script para usar a API

NOTA: Esta foi uma solução "rápida" para mim e testada de forma limitada - (Está nublado nos últimos dias e tudo o que vejo é a exibição de nuvens e chuva) - Embora eu acredite que peguei todas as condições que são fáceis de tela, é possível que eu tenha esquecido alguns por causa da "rapidez" com que essa correção foi feita. Dito isso, se você acha que há um problema, deixe um comentário e, se houver tempo, irei analisá-lo - ou tente apontar a direção certa. *

Você precisará se inscrever para uma chave de API usando o link acima; ao editar o script para colocar sua cidade, você verá um local para a chave. Basta copiar e colar, e você deve estar bem.

Outras notas:

Este script agora usa a "API de dados meteorológicos atuais", as informações sobre essa API podem ser encontradas aqui:

openweathermap.org/current Uma coisa a observar é que você pode usar uma cidade, estado e país.

IE: a cidade "Dayton" torna-se "Dayton, OH, US" observe como os códigos do estado e do país estão ambos em maiúsculas, isso é obrigatório. A API diz que pode usar apenas "Dayton, OH", mas recebi erros no script quando fiz isso - e, como foi uma solução rápida, não investiguei o porquê. Então, eu recomendo usar "cidade, estado, país"

SE, por algum motivo, você não obtiver boas informações usando o nome de uma cidade, também pode pesquisar o ID da cidade ou usar a latitude e longitude ou o código postal. Em cada caso, o URL precisará ser alterado, se você clicar no link do lado direito do site da API, ele dará um exemplo de como deve ser o URL.

Você também precisa alterar o URL no script.

Ainda mais notas: 3 de outubro de 2020

@Itsmedoofer apontou que eles precisavam instalar a biblioteca python-requests com a nova atualização. Não tenho certeza se precisava disso (também é possível que eu o tivesse instalado há anos, ou versões diferentes do python instalem bibliotecas diferentes por padrão). Portanto, se o script fornece um erro sobre solicitações de python, é simples de consertar.

digite este comando na CLI: solicitações de instalação de python -m pip

e você deve ser bom.

Espero que isso aconteça desde então, esta foi uma solução rápida, e talvez um dia, se o tempo permitir, eu possa trabalhar para limpá-la um pouco melhor.

Atualização (6 de outubro de 2020) A solicitação de pull do github foi aceita, o repositório original do CyntechUK agora inclui este script. https://github.com/CyntechUK/WeatherHAT O usuário Boeerb tem algumas idéias sobre como exibir algumas das condições que atualmente não são exibidas, bem como algumas outras idéias para uso. Portanto, fique de olho nesse repositório. E espero que as coisas estejam acontecendo.

Atualização: (8 de outubro de 2020) Open Weather Map tem um breve tutorial sobre como configurar e usar a API, https://openweathermap.org/appid Um bom lugar para começar.

Recomendado: