Sadržaj:

Pi Zero Talking Radio: 7 koraka (sa slikama)
Pi Zero Talking Radio: 7 koraka (sa slikama)

Video: Pi Zero Talking Radio: 7 koraka (sa slikama)

Video: Pi Zero Talking Radio: 7 koraka (sa slikama)
Video: Праздник. Новогодняя комедия 2024, Novembar
Anonim
Image
Image
Pi Zero Talking Radio
Pi Zero Talking Radio
Pi Zero Talking Radio
Pi Zero Talking Radio
Pi Zero Talking Radio
Pi Zero Talking Radio

Ovo je stolni radio DeWald iz kasnih 1940 -ih kojem sam dao novi život koristeći Raspberry Pi Zero, Blinkt! LED traka i par PC zvučnika. On čita obavještenja iz niza usluga povezanih na internet koristeći Pyvona engine za pretvaranje teksta u govor (TTS) i IF This then That (IFTTT) integraciju. LED diode su nevjerojatno jake i osvjetljavaju brojčanik radija različite boje ovisno o ključnim riječima u tekstu obavijesti, na primjer "youtube" = Crveno.

Uzeo sam ovaj slatki mali radio na rasprodaji prtljažnika tokom ljeta za 3 funte - odmah su me obuzeli njegova kompaktna veličina i klasičan dizajn, te sam uspio vidjeti njegov potencijal kroz izblijedjelu vanjsku stranu i mnoge pukotine! Već neko vrijeme želim stvoriti "nešto pristojno za dnevnu sobu" i ovo je bila idealna polazna tačka. Već sam eksperimentirao s obavijestima pretvaranja teksta u govor na projektu Rabbit Pi i nadao sam se da ću nadograditi ono što sam naučio kako bih napravio nešto što će "jednostavno funkcionirati" na dnevnoj bazi.

U slučaju da ne možete vidjeti ugrađeni videozapis, on se nalazi na:

Korak 1: Blinkty Pi

Blinkty Pi
Blinkty Pi
Blinkty Pi
Blinkty Pi

Nedavno sam uzeo svoj prvi Pi Zeros i odmah sam bio zadivljen njihovom malom veličinom! Nakon lemljenja u zaglavlju GPIO i povezivanja adaptera, prvi je bio spreman za rad. U početku sam planirao napraviti poboljšani Rabbit Pi, ali nakon nekog vremena ovo mi je više ličilo na posao nego na zabavu pa sam ga odložio - iako ne prije nego što sam počeo eksperimentirati s Unicorn pHAT -om, matricom 4x8 programabilnih LED dioda, što je bila apsolutna gomila of fun! Jedina mana bila je ta što je korištenje pHAT -a kompliciralo postavljanje zvuka i htio sam svoj sljedeći projekt učiniti vrlo jednostavnim.

Sve je sjelo na Cambridge Raspberry Jam u rujnu kad sam ugledao Blinkt! u prodaji na štandu Pimoroni - baš je poput Unicorn pHAT -a, ali s jednim redom od 8 LED dioda, savršeno veličine da stane na pi zero GPIO zaglavlje. Dolazi s hrpom dokumentacije i primjera i brzo je pokrenut - sada je došlo vrijeme za početak sastavljanja ostatka koda.

Korak 2: Pričajući kôd

Talking Code
Talking Code

Počeo sam s kopijom glavnog koda iz Rabbit Pi, jer su u njemu već bile pohranjene moje vjerodajnice za pretvaranje teksta u govor. Prije korištenja usluge morate postaviti Ivona račun za programere, ali proces je jednostavan kao što sam već ranije dokumentirao.

Sljedeći korak je bio instaliranje Pyvone, Python omotača za integraciju sa Ivona TTS uslugom, što nije moglo biti lakše (pip install pyvona).

S ovim na mjestu, počeo sam mijenjati Rabbit Pi kôd, uklanjajući reference na kontrolu motora i snimanje selfija, ostavljajući mi samo djeliće koji čitaju obavijesti iz redova Predmet Gmail poruka. Kritični razvoj ovog koda bio je dodavanje u niz IF naredbi za traženje određenih ključnih riječi u porukama, tako da je Blinkt! svijetlile bi različite boje ovisno o poruci.

Ovo mi je trebalo neko vrijeme jer još uvijek stojim na Pythonu, ali sam definirao ključne riječi ("Oblačno", "Zalazak sunca", "Tuševi", "Facebook", "Twitter", "Youtube" i "Sunčano") Uspio sam kontrolirati Blinkt! boja u zavisnosti od pročitanog teksta.

Jednostavan, ako ne i elegantan kod koji sam koristio nalazi se na GitHub -u, iako sam već dodao više ključnih riječi i boja! Testirao sam ga izvan kućišta pomoću zvučnika na baterije - više o postavkama zvuka kasnije. Zadnji korak bio je postavljanje python skripte, radiot.py, za pokretanje pri pokretanju.

Korak 3: Centar za obavještenja

Notification Central
Notification Central

Sada kada bi Pi pouzdano čitao poruke i svijetlio različitim bojama bilo mi je potrebno da postavim obavijesti tako da spontano prolaze - sjećam se u starom crtanom filmu o Tom & Jerryju radio bi se povremeno pojavljivao (Jerryjev dnevnik (1949.) - isti period kao i radio!), a ovo je efekat koji sam tražio, da će sjediti u uglu i izgledati lijepo, povremeno pali i čita obavijesti koje inače ne bih uzeo na telefon.

Prvo sam postavio zaseban Gmail račun za primanje e -poruka s obavijestima - to je značilo da neću biti bombardiran obavijestima o novoj pošti niti zagađivati postojeću pristiglu poštu stotinama automatski generiranih poruka.

Zatim sam prešao na IFTTT (IF This Then That) radi postavljanja automatizacije. Pomoću IFTTT-a možete jednostavno povezati više "kanala" sa svojim računom i postaviti ih za međusobnu interakciju pomoću "recepata", u ovom slučaju pretvarajući više društvenih medija i radnji u stvarnom svijetu u niz e-poruka. Prilagodio sam dio Recepti "Onda to" tako da svi oni šalju e -poštu na Gmail račun koji sam postavio za obavještenja, te upotrijebio odjeljak "Sastojci" kako bih bio siguran da će ključne informacije biti uključene u temu e -pošte, dio koji se čita. Trenutno imam postavljene sljedeće IFTTT recepte, ali oni se stalno dodaju!

  • Svaki dan u 21:00 pošaljite sutrašnje vrijeme putem e -pošte
  • Svaki dan u Sunset -u pošaljite datum i vrijeme putem e -pošte
  • AKO sam označen na Facebook fotografiji, pošaljite e -poruku
  • AKO je moj telefon uključen/isključen, pošaljite postotak baterije putem e -pošte
  • AKO uđem u geografsko područje, pošaljite e -poruku "MisterM je stigao na posao!"
  • AKO postavim YouTube video, pošaljite e -poruku
  • AKO određena osoba tvituje, pošaljite je e -poštom
  • AKO počne događaj Google kalendara, pošaljite ga e -poštom
  • AKO se trenutne vremenske promjene promijene u kišu, pošaljite e -poruku ("Pazite, uskoro će početi padati kiša!"
  • AKO je pametna utičnica uključena ili isključena, pošaljite e -poruku
  • AKO je primljena nova SMS poruka, pošaljite je e -poštom
  • AKO baterija telefona padne ispod 15%, pošaljite e -poruku ("Napunite telefon idiote")
  • AKO imam novog sljedbenika na Twitteru ili spomenuti, pošaljite e -poruku

To je sjajna mješavina predvidljivih dnevnih događaja i neočekivanih najava - moja omiljena je obavijest o zalasku sunca, zanimljivo je u ovo doba godine vidjeti kako se njeno vrijeme mijenja svakodnevno. Obavijesti na Twitteru su najzabavnije, trenutno čita sve nove tweetove iz "Beef & Dairy Network", "Very British Problems", "My Sweary Cat" i "Henry Thoreau" (iako se neki od njih isključuju u aplikaciju IFTTT u ljubaznom društvu). Mogućnost čitanja određenih Twitter naloga čini ga zaista fleksibilnim, a oni se mogu prilagoditi pomoću IFTTT -a, a ne svaki put reprogramirati Pi.

Korak 4: Opcije zvuka

Opcije zvuka
Opcije zvuka
Audio opcije
Audio opcije
Audio opcije
Audio opcije
Opcije zvuka
Opcije zvuka

Zatim sam morao srediti zvuk, s dva izazova! Prvo kako izvaditi zvuk iz Pi -a. Za razliku od većeg brata, Pi Zero nema audio izlaz od 3,5 mm, pa sam morao koristiti neku vrstu adaptera. U početku sam mislio da ću koristiti HDMI na VGA + Audio konektor, ali ovo se činilo pretjeranim (i trebao mi je za neki drugi projekt!), Pa sam upotrijebio jeftini USB audio adapter. Ovo je bilo prilično jednostavno postaviti, samo slučaj postavljanja USB zvučne kartice kao zadanog ALSA uređaja na Pi -u. To je značilo da sam trebao uključiti USB čvorište za smještaj WiFi adaptera, ali uspio sam demontirati i ponovo upotrijebiti stari koji sam ležao.

Drugo, morao sam odabrati kombinaciju pojačala/zvučnika koja bi davala kvalitetan zvuk i bila stalno uključena. Ranije sam koristio zvučnike na baterije, ali potrebno redovno punjenje ovo ne bi bilo dobro za "uvijek uključenu" upotrebu, a često su imali i zamjetno šištanje u pozadini. I ja sam u prošlosti kanibalizirao stare iPod priključne stanice, ali oni su obično imali „funkcije“za uštedu energije i isključili su se nakon nekoliko minuta tišine.

Na kraju sam kupio nešto novo, par PC zvučnika po povoljnoj cijeni od 6,99 funti. Nisam očekivao previše, ali kvalitet zvuka je bio sasvim u redu, bez siktanja ili isteka vremena. Dodatni bonus zvučnika na računaru bio je to što su uključivali prekidač za uključivanje/isključivanje i točkić za jačinu zvuka, za koje sam se nadao da ću ih moći povezati sa originalnim kontrolama radija. Sve je funkcioniralo na klupi, pa je došlo vrijeme da se uklopi u futrolu!

Korak 5: Retro montaža

Retro ugradnja
Retro ugradnja
Retro ugradnja
Retro ugradnja
Retro ugradnja
Retro ugradnja

Kad sam radio prvi put donio kući, uklonio sam originalna kola koja su, na mjestima doslovno, bila prepečena. Bio sam impresioniran originalnom konstrukcijom, očigledno je dizajnirana tako da se može lako demontirati i popraviti jer je nakon otpuštanja nekoliko vijaka cijeli sklop iskliznuo na neku vrstu šasije. Odlučio sam koristiti isti pristup i spojio nove komponente na podlogu koja bi tada mogla ući u kućište i biti učvršćena poput originala.

Počeo sam s tankom drvenom policom iz starog DVD stalka, izrezujući je prema veličini i bušeći rupe za vijke kućišta. Zatim sam demontirao zvučnike, izrezavši plastična kućišta nožačom i rotacijskim alatom. Sada tanki zvučnici pričvršćeni su na drvenu podlogu pomoću držača od 90 stepeni napravljenog od Meccana. Krug pojačala je bio sljedeći - zbog prostornih ograničenja ovo je nažalost trebalo biti montirano naopako i podignuto oko centimetar iznad baze. Morao sam izgraditi neku vrstu stubnog aranžmana za podupiranje i pričvršćivanje ploče, ali zaglavio sam kako to uredno učiniti. Idealno rješenje bilo mi je pred nosom - olovka u boji! Izrezao sam dijelove olovke prema veličini, a zatim ih ugradio u rupe izbušene u podnožju. Savršena stvar kod korištenja olovke u boji je to što se "olovo" u sredini može zaista lako izbušiti, ostavljajući prikladnu rupu za vijke na ploči.

Koristio sam kombinaciju Meccano i Lego komada da napravim nosač koji podržava sam Pi i sredio sam zalutale kablove kabelskim vezicama. Prekidači za jačinu i uključivanje/isključivanje bili su udaljeniji na ploči zvučnika od rupa u kućištu radija (ne možete imati sve) pa sam ih produžio pomoću dijelova šupljeg plastičnog balona.

Korak 6: Rad na slučajevima

Case Work
Case Work
Case Work
Case Work
Case Work
Case Work

Kao što sam ranije spomenuo, kućište radija bilo je u užasnom stanju, pa sam zakrpao najgore rupe i pukotine koristeći polifillu i posipao ga svuda. Odlučio sam se držati lijepe krem boje za boju, kako bih koordinirao sa smeđom bojom za podešavanje. Boja je tvrdila da je "temeljni premaz i boja u jednom", ali prvo sam joj dao nekoliko slojeva temeljnog premaza samo da bude na sigurnoj strani. Gumbi su zahtijevali prilično ribanje (60+ godina prljavštine!), Ali su ispali dobro - upravo sam pričvrstio originalni gumb za podešavanje kreme na brojčanik jer nije bio povezan ni sa jednom komponentom.

Nakon što se boja stvrdnula, došlo je vrijeme da se sve spoji - obično dio projekta koji najviše testira moje strpljenje! Ovaj put je sve prošlo glatko, budući da je sva teška konstrukcija već bila urađena na podnožju, sve što sam trebao učiniti je gurnuti sklop u kućište, pričvrstiti ga vijcima i postaviti gumbe.

Zadnja maska radija je nedostajala pa sam napravio novi od starog okvira za slike, obojivši ga u istu krem boju.

Korak 7: Radio Times

Radio Times
Radio Times
Radio Times
Radio Times
Radio Times
Radio Times

Ovo je bio zaista zabavan projekt za gradnju, bilo je dobro stvari držati prilično jednostavnima i usredotočiti se na to da budu što čistiji. Ponekad sam bio u iskušenju da dodam mikrofon za integraciju Alexa, pa čak i ozbiljno razmišljao o tome da ugradim Chromecast Audio (za svoje omiljene podcaste za novo vrijeme u stilu starog radija), ali drago mi je što sam to učinio jednostavnim i Oduševljen sam rezultatom.

Sada je instaliran na zvučniku u uglu dnevne sobe, pali se i povremeno govori kako sam se nadao. Jedini mali nedostatak je što kremasto -smeđi prozirni brojčanik otežava isticanje sjajnog raspona boja Blinkt -a! Prilično je očigledno za obavijesti o zalasku sunca (narančaste) i tekstualne poruke (ljubičaste), ali vremenske prilike su pomalo iste - mislim da samo moram eksperimentirati s različitim kodovima boja RGB!

Ako vam se sviđa ovaj projekt i želite vidjeti više, možete pogledati moju web stranicu radi ažuriranja projekata na bit.ly/OldTechNewSpec, pridružite se na Twitteru @OldTechNewSpec ili se pretplatite na rastući YouTube kanal na bit.ly/oldtechtube - dajte neke od vaših starih tehnologija nove specifikacije!

IoT Builders Contest
IoT Builders Contest
IoT Builders Contest
IoT Builders Contest

Druga nagrada na takmičenju IoT Builders

Preporučuje se: