Spisu treści:

1984 WeatherMan Pi: 7 kroków (ze zdjęciami)
1984 WeatherMan Pi: 7 kroków (ze zdjęciami)

Wideo: 1984 WeatherMan Pi: 7 kroków (ze zdjęciami)

Wideo: 1984 WeatherMan Pi: 7 kroków (ze zdjęciami)
Wideo: Nathan Evans - Wellerman (Sea Shanty) 2024, Listopad
Anonim
Image
Image
1984 WeatherMan Pi
1984 WeatherMan Pi
1984 WeatherMan Pi
1984 WeatherMan Pi

Ten przenośny magnetofon kasetowy jest teraz monitorem pogody otoczenia IoT w stylu wczesnych lat 80., wyświetlającym animację „bieżących warunków”, przewijanie wykresu temperatury i prawdopodobieństwa deszczu przez okienko taśmy. Gdy warunki pogodowe zmieniają się, sterowane serwo słuchawkami na górze poruszają się w przód iw tył jako subtelny alarm.

Otwierając funkcjonalne drzwiczki taśmy widzimy, że zakurzone oryginalne podzespoły zostały zastąpione Raspberry Pi Zero W, Pimoroni Unicorn Hat HD (LED Matrix) i małym serwomechanizmem. Dane pogodowe są pozyskiwane za pomocą skryptu Pythona, który wysyła zapytania do ultraprecyzyjnego interfejsu Dark Sky Weather API, dostosowanego do mojej konkretnej lokalizacji.

Jest to prosta, ale uroczo wyglądająca i funkcjonalna konstrukcja IoT, która znajduje się na głośniku biurkowym naprzeciwko mojego licznika YouTube, cicho informując mnie o pogodzie.

Kieszonkowe dzieci

Raspberry Pi Zero

Pimoroni Jednorożec CZAPKA HD

Mały serwo

1984 Hitachi SP-1 Osobisty zestaw stereo i słuchawki

Adapter Wi-Fi USB

Pręt gwintowany 2 mm

Sugru (czarny i szary)

Magnes GeoMag

Krok 1: Rozerwanie taśmy

Rozerwanie taśmy
Rozerwanie taśmy
Rozerwanie taśmy
Rozerwanie taśmy
Rozerwanie taśmy
Rozerwanie taśmy

We wrześniu teściowa podarowała mi ten piękny stary magnetofon i od razu zakochałem się w jego kultowym wyglądzie i masywnych guzikach. Prawdziwym atutem było jednak to duże okienko na taśmę - po posiadaniu go przez około 15 sekund miałem linijkę i ze zdumieniem stwierdziłem, że ma ona, co do mm, ten sam rozmiar, co standardowy kapelusz Raspberry Pi (Hardware Attached on Top).

Już samo to odkrycie wystarczyło, aby mój projekt z zegarem z kukułką znalazł się dalej na liście „do zrobienia” i od razu przystąpiłem do pracy, od demontażu odtwarzacza.

Rozkładanie poszło całkiem nieźle i skończyłem z trzema różnymi kawałkami do pracy – udało mi się złamać kilka plastikowych części, ale nic, czego nie można było skleić z powrotem.

Krok 2: Ciemne niebo Pi

Ciemne niebo
Ciemne niebo
Ciemne niebo
Ciemne niebo
Ciemne niebo
Ciemne niebo

Od jakiegoś czasu korzystam z Dark Sky na moim telefonie i jestem pod wrażeniem dokładności prognoz, więc ucieszyłem się, widząc, że oferują kompleksowe API, którego mogę użyć w tym projekcie. To proste i proste w ustawieniu też w górę!

Najpierw wejdź na https://darksky.net/dev i załóż darmowe konto - konto "trial" pozwala na wykonanie 1000 żądań API dziennie, co wystarcza na odświeżenie co 1,5 minuty - wystarczająco często nawet dla mojego Brytyjski poziom obsesji na punkcie pogody.

Po zarejestrowaniu się otrzymasz „Secret Key” – to jest to, czego potrzebujesz, aby uzyskać dostęp do danych i jest on używany w skrypcie Pythona, więc miej go pod ręką (i, wiesz, w tajemnicy).

Zacząłem od dostosowania skryptu, którego użyłem w kompilacji licznika subskrybentów YouTube, który wykorzystuje moduł Requests w Pythonie do pobierania danych API. Skrypt, którego użyłem, znajduje się na GitHub, wystarczy dodać swój klucz API Dark Sky i oczywiście zastąpić własne wartości szerokości i długości geograficznej.

Pobieranie danych na temat aktualnych warunków pogodowych było całkiem proste i postanowiłem skorzystać z elementów „Ikona”, „Prawdopodobieństwo opadów” i „Temperatura”.

Krok 3: Kodeks

Kod
Kod

Jeśli chcesz ponownie użyć lub odskoczyć od kodu, którego użyłem, znajdziesz go w repozytorium WeatherMan na GitHub - sklonuj lub pobierz folder "pogoda" do folderu "pi" na swoim Raspberry Pi.

Główne funkcje skryptu są następujące:

pogoda.py

To jest główny skrypt, który wydobywa dane pogodowe z Dark Sky. Musisz założyć konto Dark Sky na https://darksky.net/dev i umieścić swój tajny klucz w skrypcie tam, gdzie jest to wskazane. Musisz również podać szerokość i długość geograficzną interesującej Cię lokalizacji pogodowej – można ją znaleźć w Mapach Google, wystarczy kliknąć prawym przyciskiem myszy i wybrać „Co tu jest?” a otrzymasz wyskakujące okienko pokazujące szerokość/długość lokalizacji.

Po pobraniu danych API weatherman.py przekazuje parametry do kilku mniejszych skryptów, aby rozpocząć animacje i drgania słuchawek.

Skrypt jest uruchamiany przy starcie poprzez edycję pliku startowego…

sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart

…i dodając:

@python3 /home/pi/weather/weatherman.py &

na końcu pliku.

ikona.py

Ten skrypt pobiera parametr "bieżące warunki" ze skryptu weatherman.py i używa go do wyświetlania animacji pogodowej 16x16 - wszystkie są przechowywane w folderze "ikony" i są częścią standardowej dokumentacji Unicorn HAT HD. Możesz łatwo edytować pliki animacji-p.webp

telefony.py

Jeśli warunki pogodowe zmieniły się od ostatniego żądania API (lub jest to świeży rozruch i nie pada śnieg), wtedy ten skrypt jest wywoływany z weatherman.py i instruuje serwo, aby "podskakiwało" tam iz powrotem, aby ostrzec, że warunki zmieniony.

precip.py

Ten skrypt akceptuje parametr "prawdopodobieństwo opadu" z weatherman.py i wyświetla linie na niebiesko na kapeluszu jednorożca odnoszące się do prawdopodobieństwa %. Jeśli 100% wszystkie 16 rzędów będzie świecić na niebiesko, jeśli 50% tylko 8 rzędów itd.

temp.py

Kolejny standardowy skrypt Pimoroni, ten pobiera parametr "temp" z weatherman.py i wyświetla go z przewijanym tekstem. Jest ustawiony na użycie czcionki Herkules truetype (w folderze „fonts”), ale może użyć standardowej czcionki, jeśli wolisz. Możesz nawet ją ulepszyć, aby wyświetlany tekst zmieniał kolor w zależności od wartości temperatury!

Krok 4: Czapka jednorożca i serwo

Czapka jednorożca i serwo
Czapka jednorożca i serwo
Czapka jednorożca i serwo
Czapka jednorożca i serwo
Czapka jednorożca i serwo
Czapka jednorożca i serwo

Możliwość uzyskania danych o pogodzie była świetna, ale teraz musiałem wyświetlić je na Unicorn HAT. Spojrzałem na różne zestawy ikon pogodowych w Internecie i byłem w połowie ich adaptacji, kiedy zdałem sobie sprawę, że w dokumentacji Pimoroni jest przykład pogody - w tym animacje pogodowe!

Zaoszczędziło to ogromną ilość pracy, a ja błyskawicznie zacząłem działać, z animowaną ikoną aktualnych warunków, przewijanym tekstem temperatury i wykresem % opadów (co wiązało się z lekką matematyką). Skrypty trzymałem osobno i używałem modułu Subprocess Pythona do przekazywania parametrów tam iz powrotem.

Dodanie serwomechanizmu było idealnym narzędziem dla tych alertów, ponieważ powodowałoby trochę hałasu i przyciągało wzrok, ale nie było zbyt denerwujące. Ponieważ HAT zajmuje już wiele pinów Pi, przylutowałem kable serwa do spodu płyty, używając pinu 17 do kontrolowania ruchu serwa za pomocą modulacji szerokości impulsu.

Zasilanie serwomechanizmu z Pi nie było idealne, ale można go było używać tylko do chwilowego podrygiwania, więc precyzja nie była tutaj wielkim problemem. Połączył się tak, jak pokazano na schemacie, z brązowym kablem do GND, czerwonym z 5v i pomarańczowym (kabel sterujący) z GPIO17.

Na koniec edytowałem niektóre pliki animacji pogody w GIMP-ie, aby dodać własne osobiste akcenty, takie jak nietoperze na księżycu i uśmiechniętą buźkę na słońcu. Dodałem również niestandardową animację koła kasetowego „Old Tech New Spec”, która ma być odtwarzana przy starcie, tak dla zabawy.

Krok 5: Słuchawki Jiggle

żonglowanie słuchawkami
żonglowanie słuchawkami
żonglowanie słuchawkami
żonglowanie słuchawkami
Dźwięki słuchawkowe
Dźwięki słuchawkowe
Dźwięki słuchawkowe
Dźwięki słuchawkowe

Idea WeatherMana polegała na tym, że pasywnie siedziałby na głośniku biurkowym, od czasu do czasu wyświetlając pogodę, ale chciałem, żeby robił tylko trochę więcej! Słuchawki dołączone do zestawu były tostowe, ale klasyczne z lat 80., więc postanowiłem coś z nimi zrobić. Po zdjęciu wszystkich kabli i przyklejeniu na gorąco uszkodzonego, zostały mi trzy części, wtyczka 3,5 mm, przycisk w kształcie rombu i same telefony na elastycznej metalowej opasce.

Przyszło mi do głowy, że gdybym znalazł sposób na zamontowanie telefonów na górze urządzenia, mógłbym obracać je tam iz powrotem za pomocą serwa i używać tego jako dodatkowego powiadomienia.

Najpierw wywierciłem wtyczkę 3,5 mm i zdemontowałem przełącznik diamentowy, a następnie wsunąłem je na kawałek gwintowanego pręta. Następnie przykleiłem nakrętkę do plastikowego złącza, aby pręt mógł bezpiecznie (i prosto) osadzić się na serwo. Na drugim końcu pręta dodałem kolejną nakrętkę. W końcu użyłem szarego Sugru, aby połączyć górną część pręta z opaską na słuchawki, a także zakryć nakrętkę na dole zespołu. Jeśli nie słyszałeś o Sugru, to jest to klej do formowania, który jest dostępny w małych kolorowych saszetkach – formuje się jak Play-Doh, ale przykleja się jak superklej i twardnieje jak plastik!

Z powodu ostatnich chłodów, Sugru zajęło kilka dni, aby w pełni stwardnieć, ale słuchawki i ich podstawka wkrótce były gotowe do ostatecznego montażu.

Krok 6: Montaż

montaż
montaż
montaż
montaż
montaż
montaż
montaż
montaż

Pi, HAT i Servo działały dobrze na ławce, więc następnym zadaniem było wciągnięcie ich do obudowy. Przed przystąpieniem do dużych elementów użyłem resztek szarego Sugru do zamocowania w pokrętle głośności, gnieździe słuchawkowym i przełączniku „metalowej taśmy”, porządkując kosmetyki. Przykleiłem też oryginalne przyciski Play, Stop, FF i Rew do kawałka plastikowego przepustu, aby pozostały we właściwym miejscu. Szkoda było tym razem nie użyć ponownie żadnego z przycisków, ale tak naprawdę nie mieli nad czym kontrolować!

Użyłem ostatniego z szarego Sugru, aby utrzymać serwo na miejscu, z jego trzonkiem wystającym z powiększonego gniazda słuchawkowego. Przechodząc do drugiej połowy obudowy, użyłem czarnego Sugru, aby przymocować zespół HAT i Pi do drzwiczek taśmy, aby się z nim otworzyły. Bardzo podobał mi się ostatni mały akcent - mocowanie w magnesie GeoMag, aby drzwi były mocno zamknięte.

Składanie dwóch połówek było nerwową sprawą, ponieważ obawiałem się, że Pi & Servo zderzy się ze sobą, ale w końcu zostało około milimetra do stracenia, dużo w mojej książce. Ponieważ dziwnie otwierane drzwi dawałyby pełny dostęp do wnętrza w celu późniejszego serwisowania, po prostu skleiłem obie połówki na gorąco, a po wytarciu moich tłustych odcisków palców pasował do zestawu słuchawkowego na górze - gotowe!

Krok 7: Cicha obsesja

Cicha obsesja
Cicha obsesja
Cicha obsesja
Cicha obsesja

Druga nagroda w konkursie Reuse

Zalecana: