Съдържание:

1984 WeatherMan Pi: 7 стъпки (със снимки)
1984 WeatherMan Pi: 7 стъпки (със снимки)

Видео: 1984 WeatherMan Pi: 7 стъпки (със снимки)

Видео: 1984 WeatherMan Pi: 7 стъпки (със снимки)
Видео: The Giant Wave - The Perfect Storm (3/5) Movie CLIP (2000) HD 2024, Ноември
Anonim
Image
Image
1984 WeatherMan Pi
1984 WeatherMan Pi
1984 WeatherMan Pi
1984 WeatherMan Pi

Този преносим касетофон сега е околен IoT метеорологичен дисплей със стил от началото на 80 -те, показващ анимация „текущи условия“, превъртаща графика на температурата и вероятността от дъжд през прозореца на лентата. Когато метеорологичните условия се променят, сервоуправляемите слушалки отгоре се размърдат напред-назад като фин сигнал.

Отваряйки функционалната лента, можем да видим, че прашните оригинални компоненти са заменени с Raspberry Pi Zero W, Pimoroni Unicorn Hat HD (LED Matrix) и малко серво. Данните за времето се извличат с помощта на скрипт на Python, който запитва ултра точния API на Dark Sky Weather, съобразен с конкретното ми местоположение.

Това е проста, но красиво изглеждаща и функционална IoT конструкция, която седи на противоположния високоговорител на бюрото на моя брояч в YouTube, тихо ме държи в течение с времето.

Консумативи

Raspberry Pi Zero

Pimoroni Unicorn HAT HD

Малко серво

1984 Hitachi SP-1 Лични стерео и слушалки

USB WiFi адаптер

2 мм резбован прът

Sugru (черно и сиво)

Магнит GeoMag

Стъпка 1: Откъсване на лентата

Teardown
Teardown
Teardown
Teardown
Teardown
Teardown

Получих този прекрасен стар касетофон от свекърва ми през септември и моментално се влюбих в емблематичния му вид и набитите бутони. Истинското привличане обаче беше този голям прозорец с лента - след като го притежавах около 15 секунди, извадих линийка и с учудване установих, че до мм е със същия размер като стандартната Raspberry Pi HAT (хардуер, прикрепен отгоре).

Само това откритие беше достатъчно, за да пробие моя проект с часовник с кукувица по -надолу в списъка „to do“и започнах работа веднага, като демонтирах плейъра.

Разкъсването мина доста добре и в крайна сметка получих три отделни парчета, с които да работя - успях да счупя няколко пластмасови части, но нищо, което не можеше да бъде залепено отново.

Стъпка 2: Dark Sky Pi

Dark Sky Pi
Dark Sky Pi
Dark Sky Pi
Dark Sky Pi
Dark Sky Pi
Dark Sky Pi

Използвам Dark Sky на телефона си от известно време и бях наистина впечатлен от точността на прогнозите, така че се зарадвах да видя, че предлагат изчерпателен API, който мога да използвам в този проект. нагоре също!

Първо отидете на https://darksky.net/dev и се регистрирайте за безплатен акаунт - „пробен“акаунт ви позволява да правите 1000 заявки за API на ден, което е достатъчно за опресняване на всеки 1,5 минути - достатъчно често дори за моя Британско ниво на мания за времето.

След като се регистрирате, ще получите „Секретен ключ“- това е, което ви е необходимо за достъп до данните и се използва в скрипта на Python, така че дръжте го удобно (и, знаете ли, в тайна).

Започнах с адаптирането на скрипт, който използвах в изграждането на брояча на абонатите на YouTube, който използва модула Requests в Python за извличане на API данни. Скриптът, който използвах, е на GitHub, просто трябва да добавите своя ключ за Dark Sky API и, разбира се, да замените вашите собствени стойности на Latitude & Longitude.

Събирането на данни за текущите метеорологични условия беше доста лесно и реших да използвам елементите „Икона“, „Вероятност за валежи“и „Температура“.

Стъпка 3: Кодът

Кодът
Кодът

Ако искате да използвате повторно или трамплин от кода, който използвах, той е в хранилището на WeatherMan на GitHub - клонирайте или изтеглете папката „weather“в папката „pi“на вашия Raspberry Pi.

Основните функции на скрипта са както следва:

weatherman.py

Това е основният скрипт, който извлича метеорологичните данни от Dark Sky. Ще трябва да настроите акаунт в Dark Sky на адрес https://darksky.net/dev и да поставите своя секретен ключ в скрипта, където е посочен. Също така ще трябва да поставите географската ширина и дължина на метеорологичното местоположение, което ви интересува - това може да бъде намерено в Google Карти, просто щракнете с десния бутон и изберете „Какво има тук?“и ще получите изскачащ прозорец, показващ географската ширина/дължина на местоположението.

След извличане на данните от API weatherman.py предава параметри на няколко по -малки скрипта, за да стартира анимациите и промяната на слушалките.

Скриптът е настроен да се стартира при стартиране, като редактирате стартовия файл …

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

… и добавя:

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

в края на файла.

icon.py

Този скрипт взема параметър „текущи условия“от скрипта weatherman.py и го използва за показване на анимация за времето 16x16 - всички те се съхраняват в папката „икони“и са част от стандартната документация на Unicorn HAT HD. Можете лесно да редактирате-p.webp

phones.py

Ако метеорологичните условия са се променили от последната заявка за API (или това е ново зареждане и не вали сняг), тогава този скрипт се извиква от weatherman.py и инструктира сервото да „джигува“напред -назад, за да ви предупреди, че условията са променен.

precip.py

Този скрипт приема параметър "вероятност за валежи" от weatherman.py и показва линии в синьо на Unicorn HAT, отнасящи се до % вероятност. Ако 100% всички 16 реда ще светят в синьо, ако 50% само 8 реда и т.н.

temp.py

Друг стандартен скрипт на Pimoroni, този взема параметър „temp“от weatherman.py и го показва с превъртащ се текст. Той е настроен да използва шрифта на Herkules truetype (в папката "fonts"), но може да използва стандартен шрифт, ако предпочитате. Можете дори да го подобрите, така че показаният текст да променя цвета си в зависимост от стойността на температурата!

Стъпка 4: Unicorn HAT & Servo

Unicorn HAT & Servo
Unicorn HAT & Servo
Unicorn HAT & Servo
Unicorn HAT & Servo
Unicorn HAT & Servo
Unicorn HAT & Servo

Възможността да се сдобия с метеорологичните данни беше страхотна, но сега трябваше да я покажа на Unicorn HAT. Погледнах различни набори от икони за времето в интернет и бях на половината от адаптирането им, когато разбрах, че има пример за времето, включен в документацията на Pimoroni - и това включваше анимации за времето!

Това спести огромно количество работа и аз заработих за нула време, с анимирана икона за текущите условия, малко превъртащ се текст за температурата и графика за % валежи (което включваше лека математика). Държах скриптовете отделно и използвах модула Subprocess на Python за предаване на параметри насам -натам.

Добавянето на серво е идеалното превозно средство за тези сигнали, тъй като ще създаде малко шум и ще привлече вниманието, без да бъде прекалено досадно. Тъй като HAT вече заема много от пиновете на Pi, запоявах серво кабелите към долната страна на платката, използвайки Pin 17, за да контролирам движението на серво, използвайки Pulse Width Modulation.

Захранването на серво от Pi не беше идеално, но винаги щеше да се използва само за мигновено клатене, така че прецизността тук не е голяма работа. Той се свързва, както е показано на диаграмата, с кафяв кабел към GND, червен към 5v и оранжев (контролния кабел) към GPIO17.

Накрая редактирах някои от файловете за анимация на времето в GIMP, за да добавя моите лични щрихи, като прилепи на луната и усмихнато лице на слънцето. Добавих и персонализирана анимация на касетофон „Old Tech New Spec“, която да се възпроизвежда при стартиране, само за забавление.

Стъпка 5: Jiggle на слушалките

Слушкане на слушалки
Слушкане на слушалки
Слушкане на слушалки
Слушкане на слушалки
Слушкане на слушалки
Слушкане на слушалки
Слушкане на слушалки
Слушкане на слушалки

Идеята на WeatherMan беше, че той пасивно щеше да седи на високоговорителя на бюрото ми, като от време на време показваше времето, но аз исках да направи малко повече! Слушалките, които идваха с него, бяха препечени, но класически 80 -те, затова реших да направя нещо с тях. След като свалих всички кабели и горещо залепих счупения, останах с три части, 3.5 мм щепсел, бутон с формата на ромб и самите телефони върху тяхната гъвкава метална лента.

Идеята ме впечатли, че ако мога да намеря някакъв начин за монтиране на телефоните отгоре на устройството, мога да ги накарам да се въртят напред -назад със серво и да използвам това като допълнително известие.

Първо пробих 3,5 мм щепсела и демонтирах диамантения превключвател, след което ги плъзнах върху парче резбован прът. След това залепих гайка към пластмасов конектор, така че пръчката да може да седи сигурно (и направо) върху серво. В другия край на пръта добавих друга гайка. Накрая използвах сив Sugru, за да свържа горната част на пръта към лентата за слушалки, а също и да прикрия гайката в долната част на монтажа. Ако не сте чували за Sugru, това е леещо се лепило, което се предлага в малки цветни сашета - формова се като Play -Doh, но залепва като суперлепило и се втвърдява като пластмаса!

С неотдавнашното студено време на Sugru бяха необходими няколко дни, за да се втвърди напълно, но слушалките и стойката им скоро бяха готови за окончателно сглобяване.

Стъпка 6: Монтаж

Монтаж
Монтаж
Монтаж
Монтаж
Монтаж
Монтаж
Монтаж
Монтаж

Pi, HAT и Servo работиха добре на пейката, така че следващата работа беше да ги вкараме в случая. Преди да започна с големите компоненти, използвах малко останало сиво Sugru, за да фиксирам копчето за сила на звука, гнездото за слушалки и превключвателя за „метална лента“, подреждайки козметиката. Също така залепих оригиналните бутони за възпроизвеждане, спиране, FF и Rew към парче пластмасов тръбопровод, така че да останат на точното място. Жалко, че този път не използвахте повторно нито един от бутоните, но всъщност нямаше какво да контролират!

Използвах последния от сивия Sugru, за да задържа сервото на място, като валът му пробива през увеличения гнездо за слушалки. Преминавайки към другата половина на кутията, след това използвах черен Sugru, за да закрепя модула HAT и Pi към вратата на лентата, така че да се отворят с нея. Наистина ми хареса последното малко докосване - фиксирането в магнит GeoMag, така че вратата да се държи здраво затворена.

Събирането на двете половини беше нервен бизнес, тъй като се страхувах, че Pi & Servo ще се сблъскат един с друг, но в крайна сметка имаше около милиметър, който да остане, много в книгата ми. Тъй като фънки отварящата се врата щеше да даде пълен достъп до интериора за бъдещо обслужване, току -що залепих двете половини заедно и след избърсването на мазните ми пръстови отпечатъци поставих комплекта слушалки отгоре - готово!

Стъпка 7: Тиха обсесия

Тиха мания
Тиха мания
Тиха мания
Тиха мания

Втора награда в конкурса за повторна употреба

Препоръчано: