Zbuduj wskaźnik LED za pomocą Raspberry Pi (na e-mail, pogodę lub cokolwiek)

Oct 30, 2025
Sprzęt komputerowy
TREŚĆ NIENARUSZONA

Raspberry Pi tworzy ładną, kompaktową platformę do podłączenia lampki kontrolnej do wszelkiego rodzaju projektów - powiadomień pogodowych, nowych e-maili itp. Czytaj dalej, ponieważ pokazujemy, jak podłączyć moduł LED do twojego Pi i ustawić kilka podstawowych powiadomień .

Dlaczego chcę to zrobić?

Bo to zabawne. W przeciwieństwie do wielu naszych samouczków, w których u góry zamieszczamy krótką notkę opisującą dokładnie, jakie korzyści odniesiesz z projektu, notka jest w tym przypadku dość krótka, ponieważ korzyścią jest po prostu dobra zabawa.

Raspberry Pi to idealne urządzenie do zabawy, eksperymentowania z elektroniką i nauki programowania. Nikt wymagania na przykład wskaźnik deszczu w ich kuchni, ale budowanie go jest zabawnym ćwiczeniem i doskonałym przypomnieniem o zabraniu ze sobą parasola w potencjalnie burzowe dni.

Czego potrzebuję?

Aby śledzić nasz samouczek, będziesz potrzebować kilku rzeczy. Po pierwsze, zakładamy, że korzystałeś już z naszego poprzedniego samouczka: Przewodnik HTG dotyczący rozpoczęcia pracy z Raspberry Pi (a tym samym omówimy podstawy instalacji Raspbian na naszym Raspberry Pi).

Jeśli chcesz wykonać ten projekt z ograniczonym budżetem, możemy śmiało powiedzieć, że najnowszy model Raspberry Pi to znaczna przesada, a my zachęcamy do zdmuchnięcia kurzu ze starego Raspberry Pi, które zostałeś wypchnięty w szafie lub odebrać tani używany przedmiot z serwisu eBay lub podobnego. Jeśli chodzi o budżet, długowieczny Raspberry Pi 1 Model A lub Model B złapany z eBay za 10-15 USD jest idealnym rozwiązaniem dla tego projektu w porównaniu z zakupem zupełnie nowego Pi bieżącej generacji za 35 USD.

Oprócz posiadania funkcjonalnej jednostki Pi z zainstalowanym Raspbian, będziesz potrzebować następujących rzeczy:

Uwaga: Przezroczysta / matowa obudowa Pi jest całkowicie opcjonalna, ale jeśli obecnie używasz nieprzezroczystej obudowy, wskaźnik LED będzie ukryty w środku. Będziesz musiał albo wyciąć otwór w obudowie, aby wypuścić światło, albo użyć przedłużacza GPIO z zestawem do odrywania - np. ten z Adafruit Industries —Aby połączyć LedBorg z twoim Raspberry Pi. Używanie kabla typu breakout dodaje około 8 USD do kosztów projektu, ale oferuje większy potencjał dostosowywania produktu końcowego, ponieważ można łatwiej umieścić diodę LED wewnątrz rzeczy lub pod czymś, co chcesz oświetlić.

Instalowanie LedBorg

Chociaż z pewnością możesz zbudować samemu całkowicie od podstaw wskaźnik LED (a zapytanie w wyszukiwarce spowoduje pojawienie się wielu osób, które to zrobiły), organizacja Piborg produkuje tak kompaktowy i niedrogi moduł LED, LedBorg, że nie mogliśmy. Nie używaj go jako podstawy dla naszego projektu wskaźnika LED Raspberry Pi.

Instalacja modułu jest bardzo prosta, ponieważ został zaprojektowany tak, aby pasował bezpośrednio do pinów GPIO w Pi. Najpierw wyłącz Pi i otwórz obudowę.

Najważniejszą częścią procesu instalacji jest ustawienie modułu tak, aby ikona LedBorg znajdowała się najbliżej modułu RCA na płytce Raspberry Pi (a tym samym krawędź LedBorg była zlicowana z krawędziami płytki Pi z wystającym część LedBorg wisząca nad płytką Pi, a nie z krawędzi). Zobacz zdjęcie powyżej.

Gdy masz otwartą płytkę Pi, teraz byłby doskonały czas na zakrycie wskaźników LED na płycie (obok portów USB), zwłaszcza jeśli używasz przezroczystej obudowy. Nie chcesz, aby odczytywanie wskaźnika LedBorg było mylące, ponieważ wskaźniki zasilania i sieci są tak jasne.

Naszą pokryliśmy warstwą białej taśmy izolacyjnej. To je przyciemniło na tyle, że nadal mogliśmy się do nich odwoływać, ale były o wiele ciemniejsze niż LedBorg, że już nie rozpraszały.

Po zainstalowaniu LedBorg i opcjonalnym przykryciu wskaźników LED Pi taśmą elektryczną, nadszedł czas, aby zamknąć obudowę. Uruchom swoje Pi przed przejściem do następnej fazy samouczka.

Instalowanie oprogramowania LedBorg

PiBorg zapewnia doskonały pakiet oprogramowania dla LedBorg, który zawiera zarówno kontroler GUI, jak i sterowniki umożliwiające dostęp do LedBorg z wiersza poleceń.

Zanim zaczniemy, upewnij się, że pobierasz odpowiedni pakiet dla swojej wersji Rasbian i numeru wersji swojej płyty Raspberry Pi.

Jeśli twoja płyta Raspberry Pi nie ma otworów montażowych, jest to wersja 1. Jeśli twoje Raspberry Pi ma otwory montażowe (zlokalizowane przy portach USB i między portem zasilania a portem HDMI), to jest to wersja 2. Musisz również znać wersję jądra twojej instalacji Rasbian. Otwórz terminal i wprowadź następujące polecenie, aby sprawdzić:

uname -r

Gdy masz już numer wersji i numer jądra, możesz odwiedź sekcję Pakiety tutaj aby pobrać link do swojej paczki. W naszym przypadku używamy płyty Revision 1 z jądrem 3.6.11, więc pobraliśmy plik raspbian-2013-02-09-rev1.zip.

Aby zainstalować wszystkie gadżety, musimy otworzyć terminal na Pi. a następnie wprowadź następujące polecenia, aby zainstalować pakiet LedBorg.

Uwaga: Musisz zamienić adres URL w trzecim poleceniu na adres URL pakietu dla twojej kombinacji płyty głównej / jądra.

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

W tym momencie masz już zainstalowane GUI dla sterowników LedBorg i samych sterowników. Na pulpicie Raspbian zobaczysz ikonę opakowania GUI:

Śmiało i kliknij ikonę LedBorg, aby uruchomić opakowanie GUI. Zostaniesz potraktowany w interfejsie próbnika kolorów w następujący sposób:

Teraz jest idealny moment, aby upewnić się, że moduł działa. Wybierz dowolny kolor, z wyjątkiem czerni, aby go wypróbować. Zamierzamy to przetestować, wybierając kilka kolorów:

Wygląda dobrze! Jest jasny, a matowe tworzywo sztuczne, które zamówiliśmy do projektu, zapewnia umiarkowaną dyfuzję. Jeśli chcesz więcej pobawić się modułem LED przed przejściem dalej, kliknij Tryb demonstracyjny:

W trybie demonstracyjnym możesz przełączać się między wszystkimi kolorami z różnymi prędkościami, sprawdzać wysoką / niską moc wyjściową iw inny sposób przeprowadzać testy modułu LED.

Tutaj, w sekcji Tryb demonstracyjny, możesz również zmienić swój LedBorg w pierwszy z wielu wskaźników. Po wybraniu procesora w sekcji Kolory dioda LED zacznie zmieniać kolor z zielonego na żółty na czerwony, wskazując obciążenie procesora ARM Raspberry Pi. Sugerujemy, aby zmienić prędkość na Wolną, gdy jesteś na tym. Szybka aktualizuje diodę LED zbyt szybko i sprawia, że ​​wskaźnik procesora rozprasza, a nie jest użyteczny.

Oprócz korzystania z interfejsu GUI do wybierania kolorów, można wybierać kolory z terminala za pomocą wartości RGB. Otwórz terminal i wprowadź następujące polecenie, aby wyłączyć diodę LED:

echo "000"> / dev / ledborg

Sposób, w jaki LedBorg obsługuje wartości RGB jest taki, że 0 oznacza kanał wyłączony, 1 oznacza, że ​​kanał ma połowę mocy, a 2 oznacza pełną moc kanału. Na przykład 001 ustawi kanał czerwony na 0%, kanał zielony na 0%, a kanał niebieski na 50% mocy.

Zmień wartość na 002, a wyjście LED pozostanie niebieskie, ale stanie się jaśniejsze, ponieważ kanał niebieski ma teraz 100% mocy wyjściowej. Zmień wartość na 202, a czerwony i niebieski przy pełnej mocy połączą się, aby uzyskać kolor magenta.

Teraz, gdy wiemy, jak ręcznie manipulować diodą LED, przyjrzyjmy się skryptom, które zmieniają diodę LED z prostego światła w rzeczywisty wskaźnik.

Konfiguracja LedBorg jako wskaźnika deszczu

W tej części samouczka połączymy ze sobą kilka rzeczy, aby zmienić nasz moduł LED LedBorg we wskaźnik deszczu na podstawie prognozy pogody dla naszej lokalizacji. Użyjemy skryptu w Pythonie, aby wywołać interfejs API pogody, który z kolei odczyta prognozę deszczu w ciągu dnia, a następnie przełączy diodę LED z wyłączonej na jasnoniebieską, aby wskazać prognozowany deszcz.

Najpierw musimy uzyskać klucz dostępu API do Weather Underground. Do użytku osobistego i małych projektów programistycznych API jest bezpłatne. Odwiedź stronę rejestracji Weather API tutaj i zarejestruj się, aby otrzymać klucz API.

Po uzyskaniu klucza API odwiedź Weather Underground i wyszukaj miasto, które chcesz monitorować. W naszym przypadku będziemy monitorować San Fransisco w Kalifornii. Adres URL strony prognozy San Fransisco to:

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

Ważną dla naszych celów częścią jest ostatnia część adresu URL: /CA/San_Francisco.html. Zamierzamy użyć tego do edycji prognozy adresu URL dla narzędzia API. Podstawowy adres URL to:

http://api.wunderground.com/api/TWÓJ KLUCZ API / prognoza / q / STAN / CITY.json

Możesz wygenerować prognozę dla dowolnego miasta w USA, wprowadzając klucz API, dwuliterowy kod stanu i nazwę miasta z adresu URL pobranego z wyników wyszukiwania Weather Underground.

Po wstawieniu adresu URL interfejsu API z kluczem API i stanem / miastem możesz edytować następujący skrypt Pythona, tworząc nowy dokument tekstowy na swoim Pi za pomocą Leafpad i wklejając do niego następujący kod:

from urllib2 import urlopen
import json

req = urlopen ('http://api.wunderground.com/api/TWÓJ KLUCZ API / prognoza / q / STAN / CITY.json ')
parsed_json = json.load (req)
pop = int (parsed_json['forecast']['txt_forecast']['forecastday'][0]['pop'])

# Poniżej znajduje się wartość debugowania.
# Wyedytuj skrót i zmień
# liczba całkowita do 0-100 do przetestowania
# odpowiedź diody LED.

# pop = 0

print 'Obecna szansa opadów wynosi {}.'. format (pop)

# Domyślnym ustawieniem jest włączenie diody LED
# za jakąkolwiek szansę na deszcz powyżej 20%. Możesz dostosować
# wartość w "if pop> 20:", jak chcesz.

jeśli pop> 20:
LedBorg = open('/dev/ledborg', 'w')
LedBorg.write („002”)
przez LedBorg
print ('Deszcz!')
jeszcze:
LedBorg = open('/dev/ledborg', 'w')
LedBorg.write ('000')
przez LedBorg
print ('Nie ma deszczu!')

Zapisz plik jako wunderground.py w katalogu / home / pi /. Otwórz terminal i wpisz następujące polecenie:

python wunderground.py

Jeśli poprawnie wprowadziłeś klucz API i kody stanu / miasta, powinno to spowodować wyświetlenie odpowiedzi, która wygląda następująco:

Jeśli przewidywane są opady na danym obszarze, dane wyjściowe LedBorg powinny wyglądać następująco:

Teraz czekanie na deszczowy dzień, aby poprawnie przetestować skrypt, byłoby żmudne. Jeśli dzisiaj nie ma szans na deszcz w Twojej okolicy, a chcesz zobaczyć, jak dioda LED świeci, edytuj skrypt wunderground.py i zamień wartość przejścia „pop = pop” w wierszu 13 na wartość większą niż 20, na przykład 60 że nasza prognoza wróciła. Pamiętaj tylko, aby po zakończeniu zmienić wiersz z powrotem na „pop = pop”.

Ostatnim krokiem jest skonfigurowanie zadania cron, aby automatycznie uruchamiał skrypt, który właśnie zapisaliśmy, w regularnych odstępach czasu, aby utrzymać aktualny wskaźnik LED. Ponieważ to zadanie jest konieczne zarówno w przypadku tego skryptu, jak i wskaźnika wiadomości e-mail, który następuje, omówimy konfigurowanie zadania cron po tym, jak pokażemy, jak skonfigurować drugi skrypt.

Konfiguracja LedBorg jako wskaźnika Gmail

Kto nie lubi poprawki dopaminy, która pojawia się wraz z wyświetlaniem nowych wiadomości e-mail w skrzynce odbiorczej? W tej części samouczka pokażemy, jak używać LedBorg jako nowego wskaźnika Gmaila. Podobnie jak ostatnio, połączymy zewnętrzne wejście (w tym przypadku kanał Atom zamiast API) i prosty skrypt do sterowania naszą diodą LED.

Musimy nieco rozszerzyć funkcjonalność naszej instalacji Pythona, instalując FeedParser , narzędzie do czytania kanałów RSS / Atom w Pythonie. Otwórz terminal i wprowadź następujące polecenie:

sudo easy_install feedparser

Po zakończeniu instalacji możemy przystąpić do tworzenia naszego skryptu sprawdzającego Gmaila. Ponownie, używając Leafpad, wklej następujący tekst do edytora. Zmień nazwę użytkownika i hasło, aby były zgodne z nazwą użytkownika i hasłem konta Gmail, które chcesz sprawdzić.

import feedparser

# Wprowadź swoją nazwę użytkownika Gmaila
# i hasło. Nie dołączaj
# część @ gmail.com domeny
# Twoja nazwa użytkownika.

nazwa użytkownika = "nazwa użytkownika"
hasło = "hasło"

mail = int (feedparser.parse ("https: //" + nazwa użytkownika + ":" + hasło + "@ mail.google.com/gmail/feed/atom")["feed"]["fullcount"])

# Poniżej znajduje się wartość debugowania.
# Wyedytuj skrót i zmień
# liczba całkowita na 0 lub 1 do przetestowania
# odpowiedź diody LED.

# mail = 0

jeśli poczta> 0:
LedBorg = open('/dev/ledborg', 'w')
LedBorg.write („020”)
przez LedBorg
print ('Poczta!')
jeszcze:
LedBorg = open('/dev/ledborg', 'w')
LedBorg.write ('000')
przez LedBorg
print ('Bez poczty!')

Zapisz skrypt jako gmailcheck.py. Otwórz terminal i wpisz następujące polecenie:

python gmailcheck.py

Jeśli masz wiadomość e-mail w skrzynce odbiorczej Gmaila, dioda LED zmieni kolor na zielony i otrzymasz następującą odpowiedź:

Jeśli masz pocztę w skrzynce odbiorczej Gmaila, Twój LedBorg będzie wyglądał następująco:

Podobnie jak skrypt sprawdzający deszcz, dołączyliśmy wartość debugowania. Jeśli nie masz żadnego nowego e-maila, możesz wysłać do siebie wiadomość e-mail, aby zwiększyć liczbę skrzynek odbiorczych do 1, lub możesz wyedytować skrót komentarza i zmienić wiersz debugowania na „mail = 1”, aby przetestować skrypt. Pamiętaj, aby przywrócić linię po zakończeniu testów.

Przejdź do następnej sekcji samouczka, aby skonfigurować skrypt Gmaila do uruchamiania zgodnie z harmonogramem.

Konfigurowanie zadania Cron w celu uruchomienia skryptu

Teraz, gdy mamy dwa skrypty do zabawy, musimy skonfigurować zadanie crona, aby uruchamiać je przez cały dzień, aby wskaźnik LED był aktualny.

Pierwszą rzeczą, którą chcemy zrobić, jest wyłączenie diody LED, jeśli jest włączona w naszych poprzednich eksperymentach. Na terminalu typu:

echo „000”> / dev / ledborg

Wciąż będąc w wierszu poleceń, możesz otworzyć edytor cron. Jeśli nigdy wcześniej nie konfigurowałeś zadania cron, zdecydowanie zalecamy sprawdź nasz przewodnik dotyczący korzystania z niego tutaj . To powiedziawszy, przeprowadzimy Cię przez proces konfiguracji podstawowego harmonogramu tutaj.

Na terminalu typu:

sudo crontab –e

Spowoduje to otwarcie tabeli cron Raspbian w edytorze tekstu Nano. Użyj klawiszy strzałek, aby przewinąć w dół na sam dół. W tym miejscu zamierzamy skonfigurować cykliczne zadanie cron dla naszych skryptów Pythona.

Jeśli chcesz skonfigurować skrypt deszczu, wprowadź następujący wiersz do tabeli cron:

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

Naciśnij CTRL + X, aby wyjść; wybierz tak, aby zapisać i nadpisać istniejącą tabelę cron. Wartość, którą wprowadziliśmy do tabeli crona „* / 5 * * * *” powoduje, że skrypt jest uruchamiany co 5 minut, w nieskończoność.

Każde 5 minut to dobry okres dla skryptu, który sprawdza prognozowany deszcz - można nawet argumentować, że jest zbyt agresywny - ale jeśli próbujesz nadążyć za pocztą e-mail, jest to zbyt długi okres na powiadomienie . Jeśli konfigurujesz harmonogram dla skryptu powiadomień Gmaila, wprowadź następujący wiersz w tabeli cron:

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

Ten wpis uruchamia skrypt gmailcheck.py co minutę w celu znacznie szybszego powiadomienia o aktualizacji.


To wszystko! Możesz eksperymentować z własnymi skryptami Pythona, usuwając instrukcje if / else z naszych i wypróbowując je z zupełnie nowymi zmiennymi. Jeśli możesz znaleźć źródło danych wejściowych, możesz przekształcić je w zmienną w swoim skrypcie Pythona - średnie giełdowe, liczby pyłków, wzmianki na Twitterze, jeśli istnieje dla niego interfejs API, możesz przekształcić je w wskaźnik LED otoczenia.

Na koniec chciałbym podziękować wszystkim wspaniałym zasobom, które wykorzystałem podczas pracy nad tym projektem. Minęło trochę ponad dekadę, odkąd aktywnie pisałem programy, a kilka uderzeń zajęło usunięcie kurzu i rdzy. Współtwórcy w /r/LearnPython pomogło mi pogrzebać w wynikach API dla Weather Underground, studiując, jak Michael przeszedł do Mitch Tech zajmował się kanałem Gmail Atom sprawiło, że parsowanie go dla LedBorg było łatwe, a studiowanie modułów edukacyjnych Pythona w Code Academy był świetnym sposobem na przyswojenie podstawowej składni i struktury języka, którego nigdy wcześniej nie używałem.

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


Sprzęt komputerowy - Najpopularniejsze artykuły

Co to jest błąd przekroczenia limitu czasu bramy 504 (i jak to naprawić)?

Sprzęt komputerowy Sep 24, 2025

Błąd przekroczenia limitu czasu bramy 504 występuje, gdy serwer, który próbował załadować stronę internetową, nie otrzymał na czas odpowiedzi z innego serwera. Prawie zaw..


Jak włączyć tryb nocny w miejscu echa

Sprzęt komputerowy Jan 16, 2025

Jeśli używasz swojego Echo Spot jako budzik przy łóżku, możesz skorzystać z trybu nocnego. Ta funkcja zmienia tło na czarne i przyciemnia ekran, aby nie ośle..


Co to jest dysk półprzewodnikowy (SSD) i czy go potrzebuję?

Sprzęt komputerowy Dec 22, 2024

Dyski półprzewodnikowe (SSD) to błyskawiczny odpowiednik tradycyjnego dysku twardego z ruchomymi częściami. Ale czy pasują do Ciebie? Czytaj dalej, gdy demistyfikujemy dyski S..


Jak używać iPhone'a lub iPada jako pilota Apple TV

Sprzęt komputerowy Aug 2, 2025

TREŚĆ NIENARUSZONA Pilot do Apple TV można łatwo zgubić między poduszkami kanapy, ale dzięki Aplikacja Apple TV Remote w przypadku iPhone'a i iPada kopia zap..


Gdzie znajduje się klucz aplikacji na standardowej klawiaturze zorientowanej na Microsoft?

Sprzęt komputerowy Mar 9, 2025

Skróty klawiaturowe mogą znacznie uprościć nasz przepływ pracy, ale co robisz, gdy zostaniesz poproszony o użycie skrótu z nieznanym klawiszem, którego nawet nie masz pewno�..


Jak umowy peeringowe wpływają na Netflix, YouTube i cały Internet

Sprzęt komputerowy Feb 19, 2025

TREŚĆ NIENARUSZONA Internet jest skomplikowany. Mniejsza o neutralność sieci - umowy peeringowe mogą wpływać na usługi takie jak Netflix i YouTube, spowalniając ich ruch...


Jak chronić sprzęt komputera przed wyładowaniami elektrostatycznymi podczas pracy na nim

Sprzęt komputerowy Jan 9, 2025

TREŚĆ NIENARUSZONA Czy jesteś budowanie własnego komputera , instalowanie nowej pamięci RAM lub modernizując komponenty komputera, będziesz go..


Z zestawu wskazówek: rewitalizujące wkłady atramentowe za pomocą infuzji wody

Sprzęt komputerowy Mar 10, 2025

TREŚĆ NIENARUSZONA Jeśli jesteś przekonany, że Twój wkład atramentowy ma więcej atramentu do udostępnienia, niż jest skłonny oddać, masz rację. Czytaj dalej, aby..


Kategorie