Construir um indicador LED com um Raspberry Pi (para e-mail, clima ou qualquer coisa)

Oct 30, 2025
Hardware
CONTEÚDO NÃO CHEGADO

O Raspberry Pi é uma boa plataforma compacta para anexar uma luz indicadora para todos os tipos de projetos - notificação do tempo, novos e-mails, etc. Continue lendo enquanto mostramos como conectar um módulo LED ao seu Pi e configurar algumas notificações básicas .

Por que eu quero fazer isso?

Porque é divertido. Ao contrário de muitos de nossos tutoriais em que incluímos uma pequena sinopse no topo descrevendo exatamente qual benefício você obterá do projeto, a sinopse é bem curta neste caso, porque o benefício é simplesmente se divertir.

O Raspberry Pi é um dispositivo perfeito para brincar, experimentar com a eletrônica e aprender um pouco de programação. Ninguém necessidades um indicador de chuva ambiente em sua cozinha, por exemplo, mas construir um é um exercício divertido e um ótimo lembrete para trazer seu guarda-chuva com você em dias de tempestade.

O que eu preciso?

Para acompanhar nosso tutorial, você precisará de algumas coisas. Primeiro, presumimos que você já seguiu nosso tutorial anterior: O guia HTG para começar a usar Raspberry Pi (e, portanto, tenha o básico coberto para instalar o Raspbian em nosso Raspberry Pi).

Se você está procurando fazer este projeto dentro do orçamento, podemos dizer com segurança que o modelo mais novo Raspberry Pi é um exagero significativo para o trabalho e nós o encorajamos a soprar a poeira de um velho Raspberry Pi que você empurrou no armário ou compre um barato usado no eBay ou algo parecido. Em termos de orçamento, um Raspberry Pi 1 Modelo A ou Modelo B roubado do eBay por US $ 10-15 é um ajuste perfeito para este projeto em vez de comprar um novo Pi de US $ 35 da geração atual.

Além de ter uma unidade Pi funcional com Raspbian instalado, você precisará do seguinte:

Nota: A caixa transparente / fosca para Pi é totalmente opcional, mas se você estiver usando uma caixa opaca, seu indicador LED ficará escondido dentro. Você precisará abrir um orifício em sua caixa para deixar a luz sair ou usar um cabo de extensão GPIO com um kit de fuga, como este da Adafruit Industries - para conectar o LedBorg ao seu Raspberry Pi. Embora o uso do cabo breakout acrescente cerca de US $ 8 às despesas do projeto, ele oferece mais potencial para personalizar o produto final, pois você pode colocar o LED com mais facilidade dentro das coisas ou sob algo que deseja iluminar.

Instalando o LedBorg

Embora você certamente pudesse construir um indicador LED completamente do zero (e uma pesquisa de mecanismo de pesquisa mostrará muitas pessoas que o fizeram), a organização Piborg produz um módulo LED tão compacto e barato, o LedBorg, que não poderíamos Não resisto em usá-lo como base para nosso projeto de indicador LED Raspberry Pi.

A instalação do módulo é fácil, pois ele é projetado para caber diretamente sobre os pinos GPIO no Pi. Primeiro, desligue seu Pi e abra a caixa.

A parte mais importante do processo de instalação é que você oriente o módulo de forma que o ícone LedBorg fique mais próximo do módulo RCA na placa Raspberry Pi (e, portanto, a borda do LedBorg está alinhada com as bordas da placa Pi com a saliência parte do LedBorg pendurada sobre a placa de Pi e não fora da borda). Veja a foto acima.

Enquanto você tem a placa Pi aberta, agora seria um excelente momento para cobrir os indicadores LED on-board (ao lado das portas USB), especialmente se você estiver usando uma caixa transparente. Você não quer que seja confuso ler o indicador LedBorg porque as luzes indicadoras de energia e rede são muito brilhantes.

Cobrimos o nosso com uma camada de fita isolante branca. Isso os esmaeceu o suficiente para que ainda pudéssemos referenciá-los, mas eles eram muito mais escuros do que o LedBorg que não era mais uma distração.

Depois de instalar o LedBorg e, opcionalmente, cobrir os indicadores LED do Pi com fita isolante, é hora de fechar o gabinete novamente. Inicialize seu Pi antes de passar para a próxima fase do tutorial.

Instalando o software LedBorg

O PiBorg oferece um ótimo pacote de software para o LedBorg que inclui um controlador GUI e drivers para acessar o LedBorg a partir da linha de comando.

Antes de começarmos, você precisa ter certeza de que está pegando o pacote certo para a sua versão do Rasbian e o número de revisão da sua placa Raspberry Pi.

Se a sua placa Raspberry Pi não tiver orifícios de montagem, é a Revisão 1. Se o seu Raspberry Pi tem orifícios de montagem (localizados nas portas USB e entre a alimentação e a porta HDMI), então é a Revisão 2. Você também precisa saber a versão do kernel de sua instalação Rasbian. Abra o terminal e digite o seguinte comando para verificar:

uname -r

Depois de ter o número da revisão e o número do kernel, você pode visite a seção Pacotes aqui para pegar o link do seu pacote. Em nosso caso, estamos usando uma placa de Revisão 1 com o kernel 3.6.11, então pegaríamos o arquivo raspbian-2013-02-09-rev1.zip.

Para instalar todos os goodies, precisamos abrir o terminal no Pi. e, em seguida, insira os seguintes comandos para instalar o pacote LedBorg.

Nota: Você deve substituir o URL no terceiro comando pelo URL do pacote para sua combinação placa / kernel.

mkdir ~ / ledborg-setup
cd ~/ledborg-setup
wget -O setup.zip http://www.piborg.org/downloads/ledborg/raspbian-2013-02-09-rev1.zip
descompacte setup.zip
chmod + x install.sh
./install.sh

Neste ponto, agora você tem o invólucro da GUI para os drivers LedBorg e os próprios drivers instalados. Na área de trabalho do Raspbian, você verá um ícone para o invólucro da GUI:

Vá em frente e clique no ícone LedBorg para iniciar o invólucro da GUI. Você será tratado com a interface do seletor de cores assim:

Agora é o momento perfeito para garantir que seu módulo esteja funcionando. Escolha qualquer cor, exceto o preto, para experimentar. Vamos testá-lo escolhendo algumas cores:

Parece bom! É brilhante e o plástico fosco da caixa que pedimos para o projeto oferece difusão moderada. Se você quiser brincar mais com o módulo LED antes de prosseguir, clique em Modo de demonstração:

No modo de demonstração, você pode percorrer todas as cores em várias velocidades, verificar a saída alta / baixa e, de outra forma, testar o módulo de LED.

É aqui na seção Modo de demonstração que você também pode transformar seu LedBorg no primeiro de muitos indicadores. Ao selecionar CPU na seção Cores, o LED começará a mudar de verde para amarelo para vermelho para indicar a carga no processador ARM do Raspberry Pi. Sugerimos alterar a velocidade para lenta enquanto você está nisso — Fast atualiza o LED muito rapidamente e torna o indicador da CPU uma distração em vez de útil.

Além de usar a interface GUI para selecionar cores, você pode escolher cores do terminal usando valores RGB. Abra o terminal e digite o seguinte comando para desligar o LED:

echo "000"> / dev / ledborg

A maneira como o LedBorg lida com os valores RGB é que 0 significa que o canal está desligado, 1 significa que o canal está com metade da potência e 2 significa que o canal está com potência total. Assim, por exemplo, 001 definiria o canal Vermelho em 0%, o canal Verde em 0% e o canal Azul em 50% da potência.

Altere o valor para 002 e a saída do LED permanecerá azul, mas ficará mais brilhante porque o canal Azul está agora em 100% da saída. Altere o valor para 202 e o vermelho e o azul na potência máxima se combinam para formar uma cor magenta.

Agora que sabemos como manipular o LED manualmente, vamos examinar o uso de scripts para transformar nosso LED de uma luz simples em um indicador real.

Configurando seu LedBorg como um indicador de chuva

Para esta parte do tutorial, estaremos combinando várias coisas para transformar nosso módulo LED LedBorg em um indicador de chuva com base na previsão do tempo para nossa localização. Usaremos um script Python para chamar uma API de clima que, por sua vez, lerá a chance de chuva durante o dia e, em seguida, alternará o LED de desligado para azul brilhante para indicar a previsão de chuva.

Primeiro, precisamos obter uma chave de acesso API para Weather Underground. Para uso pessoal e pequenos projetos de desenvolvimento, a API é gratuita. Visite a página de inscrição da API do tempo aqui e inscreva-se para obter uma chave API.

Depois de obter sua chave API, visite o Weather Underground e pesquise a cidade que deseja monitorar. Em nosso caso, vamos monitorar San Fransisco, CA. O URL da página de previsão de São Francisco é:

http://www.wunderground.com/US/CA/San_Francisco.html

A parte importante para nossos objetivos é a última parte da URL: /CA/San_Francisco.html. Usaremos isso para editar o URL de previsão para a ferramenta API. O URL base é:

http://api.wunderground.com/api/SUA CHAVE DE API / forecast / q / STATE / CITY.json

Você pode gerar a previsão para qualquer cidade dos EUA inserindo sua chave API, o código de estado de duas letras e o nome da cidade a partir do URL obtido nos resultados de pesquisa do Weather Underground.

Depois de inserir o URL da API com sua chave de API e estado / cidade, você pode editar o seguinte script Python criando um novo documento de texto em seu Pi usando Leafpad e colando o seguinte código nele:

de urllib2 import urlopen
import json

req = urlopen ('http://api.wunderground.com/api/ SUA CHAVE API / forecast / q / STATE / CITY.json ')
parsed_json = json.load (req)
pop = int (parsed_json['forecast']['txt_forecast']['forecastday'][0]['pop'])

# O seguinte é um valor de depuração.
# Edite o hash e mude
# o inteiro para 0-100 para testar
# a resposta do LED.

# pop = 0

print 'A chance atual de precipitação é {}.'. format (pop)

# A configuração padrão é ligar o LED
# para qualquer chance de chuva acima de 20%. Você pode ajustar
# o valor em "if pop> 20:" como desejar.

se pop> 20:
LedBorg = open ('/ dev / ledborg', 'w')
LedBorg.write ('002')
por LedBorg
imprimir ('Chuva!')
outro:
LedBorg = open ('/ dev / ledborg', 'w')
LedBorg.write ('000')
por LedBorg
imprimir ('Sem chuva!')

Salve o arquivo como wunderground.py no diretório / home / pi /. Abra o terminal e digite o seguinte comando:

python wunderground.py

Se você inseriu sua chave de API e seus códigos de estado / cidade corretamente, ele deverá gerar uma resposta semelhante a:

Se a precipitação for prevista para sua área, sua produção LedBorg deve ser semelhante a:

Agora, esperar por um dia chuvoso para testar adequadamente o script seria entediante. Se não houver chance de chuva na sua área hoje e você quiser ver o LED aceso, edite o script wunderground.py e substitua o valor de passagem “pop = pop” na linha 13 por um valor maior que 20, como 60 que nossa previsão retornou. Apenas lembre-se de alterar a linha de volta para “pop = pop” quando terminar.

A etapa final é configurar um cron job para executar automaticamente o script que acabamos de salvar em um intervalo regular para manter o indicador LED atualizado. Como essa tarefa é necessária para este script e o indicador de e-mail a seguir, abordaremos a configuração de um cron job depois de mostrar como configurar o outro script.

Configurando seu LedBorg como um indicador do Gmail

Quem não gosta da correção de dopamina que vem ao ver novos e-mails em sua caixa de entrada? Nesta parte do tutorial, mostraremos como usar o LedBorg como um novo indicador do Gmail. Assim como da última vez, vamos combinar uma entrada externa (neste caso, um feed Atom em vez de uma API) e um script simples para acionar nosso LED.

Precisamos expandir um pouco a funcionalidade de nossa instalação Python, instalando FeedParser , uma ferramenta de leitura de feed RSS / Atom do Python. Abra o terminal e digite o seguinte comando:

sudo easy_install feedparser

Assim que a instalação for concluída, podemos começar a trabalhar criando nosso script de verificação do Gmail. Novamente, usando o Leafpad, cole o seguinte texto no editor. Altere o nome de usuário e a senha para corresponder ao nome de usuário e senha da conta do Gmail que deseja verificar.

importar feedparser

# Digite seu nome de usuário do Gmail
# e senha. Não inclui
# a parte @ gmail.com de
# seu nome de usuário.

username = "username"
senha = "senha"

mail = int (feedparser.parse ("https: //" + nome de usuário + ":" + senha + "@ mail.google.com/gmail/feed/atom")["feed"]["fullcount"])

# O seguinte é um valor de depuração.
# Edite o hash e mude
# o inteiro para 0 ou 1 para testar
# a resposta do LED.

# mail = 0

se mail> 0:
LedBorg = open ('/ dev / ledborg', 'w')
LedBorg.write ('020')
por LedBorg
print ('Mail!')
outro:
LedBorg = open ('/ dev / ledborg', 'w')
LedBorg.write ('000')
por LedBorg
print ('No mail!')

Salve o script como gmailcheck.py. Abra o terminal e digite o seguinte comando:

python gmailcheck.py

Se você tiver um e-mail na caixa de entrada do Gmail, o LED ficará verde e você receberá uma resposta como esta:

Se você tiver correio na caixa de entrada do Gmail, seu LedBorg será assim:

Assim como o script de verificação de chuva, incluímos um valor de depuração. Se você não tiver nenhum novo e-mail, poderá enviar a si mesmo um e-mail para aumentar a contagem da sua caixa de entrada para 1 ou editar o hash do comentário e alterar a linha de depuração para “mail = 1” para testar o script. Lembre-se de reverter a linha quando terminar o teste.

Pule para a próxima seção do tutorial para definir o script do Gmail para ser executado em uma programação.

Configurando um Cron Job para executar seu script

Agora que temos dois scripts para brincar, precisamos configurar um cron job para executá-los ao longo do dia para manter o indicador LED atualizado.

A primeira coisa que queremos fazer é desligar o LED se ele estiver aceso em nossos experimentos anteriores. No tipo de terminal:

echo “000”> / dev / ledborg

Enquanto você ainda está na linha de comando, você pode abrir o editor cron. Se você nunca configurou um cron job antes, sugerimos fortemente verificando nosso guia para usá-lo aqui . Dito isso, vamos orientá-lo na configuração de uma programação básica aqui.

No tipo de terminal:

sudo crontab –e

Isso abrirá a tabela cron Raspbian no editor de texto Nano. Use as setas do teclado para rolar até o final. É aqui que vamos configurar o cron job recorrente para nossos scripts Python.

Se você deseja configurar o script de chuva, insira a seguinte linha na tabela cron:

* / 5 * * * * python /home/pi/wunderground.py

Pressione CTRL + X para sair; selecione sim para salvar e sobrescrever a tabela cron existente. O valor que inserimos na tabela cron “* / 5 * * * *” configura o script para ser executado a cada 5 minutos, para sempre.

A cada 5 minutos é um bom intervalo de tempo para um script que verifica a previsão de chuva - você pode até argumentar que é um pouco agressivo demais - mas se você está tentando manter o controle do seu e-mail, é um período um pouco longo para notificação . Se você estiver configurando a programação do script de notificação do Gmail, digite a seguinte linha na tabela cron:

* / 1 * * * * python /home/pi/wunderground.py

Essa entrada executa o script gmailcheck.py a cada minuto para uma notificação de atualização muito mais rápida.


Isso é tudo que há para fazer! Você pode experimentar seus próprios scripts Python retirando as instruções if / else das nossas e testando-as com variáveis ​​totalmente novas. Se você puder encontrar uma fonte de entrada para os dados, pode transformá-la em uma variável em seu script Python - médias do mercado de ações, contagens de pólen, o Twitter menciona; se houver uma API para ela, você pode transformá-la em um indicador LED ambiente.

Por fim, quero agradecer a todos os excelentes recursos que usei para trabalhar neste projeto. Já se passou um pouco mais de uma década desde que comecei a escrever programas ativamente e levei algumas pancadas para tirar a poeira e a ferrugem. Os contribuidores em /r/LearnPython me ajudou a mexer na saída da API para Weather Underground, estudando como Michael na Mitch Tech lidou com o feed Atom do Gmail facilitou a análise para o LedBorg e estudando os módulos de aprendizagem Python na Code Academy foi uma ótima maneira de aprender a sintaxe e a estrutura básicas de uma linguagem que eu nunca usei antes.

Raspberry Pi Email Tutorial (Sending & Receiving With SendGrid)

Raspberry Pi Tutorial - Gmail LED Email Notifier

#255 Node-Red, InfluxDB, And Grafana Tutorial On A Raspberry Pi

Raspberry Pi Project: Online Weather Data Log With MySQL And PHP With Sense Hat.

Raspberry Pi: How To Turn On A Light With Your Phone

Raspberry Pi IoT Tutorial Series Part-3

Make A Raspberry Pi Gmail Notification Light

Top 5 Raspberry Pi DIY Projects Of All Time

Raspberry Pi DHT11 DHT22 Temperature And Humidity Sensor

5 Arduino Project Ideas That Could Be Used As Raspberry Pi Project Ideas


Hardware - Artigos mais populares

Como descobrir qual modelo de telefone Android você possui

Hardware Apr 12, 2025

Devido ao grande número de telefones Android por aí, pode ser um desafio descobrir (ou lembrar) qual aparelho você possui. Veja como você pode descobrir. Pr..


Como transmitir TV ao vivo do NextPVR para qualquer computador da casa

Hardware Oct 25, 2025

CONTEÚDO NÃO CHEGADO Mesmo se você tiver vários computadores, só precisará de uma placa sintonizadora de TV para assistir à TV em todos eles. Se você tem configura..


Seis maneiras de obter o máximo de sua GoPro

Hardware Sep 14, 2025

CONTEÚDO NÃO CHEGADO Esteja você de férias ou apenas passando uma tarde divertida no parque, um GoPro pode transformar qualquer atividade em uma história inter..


Como operar manualmente o ventilador HVAC usando o termostato Nest

Hardware May 27, 2025

Se você não quiser ligar o A / C em sua casa, mas quiser pelo menos manter o fluxo de ar um pouco para reduzir o entupimento, veja como usar o Termostato Nest para acionar manualm..


Como adicionar serviços de streaming ao seu reprodutor Sonos

Hardware Apr 12, 2025

CONTEÚDO NÃO CHEGADO Quando você comprou seu novo player Sonos, provavelmente o encontrou fácil de configurar . Ele ainda oferece a verificação automática de..


Como configurar um servidor de mídia e arquivo com Linksys Smart Wi-Fi

Hardware Mar 3, 2025

CONTEÚDO NÃO CHEGADO Os roteadores Linksys mais recentes têm um recurso de servidor de arquivos que permite que você conecte uma unidade USB e acesse seus arquivos de qualquer..


Como responder a e-mails no seu Apple Watch

Hardware Dec 22, 2024

CONTEÚDO NÃO CHEGADO Até o watchOS 2, o aplicativo “Mail” só podia mostrar notificações e exibir e-mails recebidos. Agora, você pode responder a mensagens de e-mail no ..


Como fazer o Kindle Fire Silk Browser * na verdade * rápido!

Hardware Nov 17, 2024

Não faz muito tempo, analisamos o Kindle Fire , e uma de nossas maiores reclamações é o quão ruim é o navegador, mas descobrimos o truque para torná-lo realmen..


Categorias