Sadržaj:
- Korak 1: Blinkty Pi
- Korak 2: Govorni kôd
- Korak 3: Središnja obavijest
- Korak 4: Opcije zvuka
- Korak 5: Retro ugradnja
- Korak 6: Rad na slučajevima
- Korak 7: Radio Times
Video: Pi Zero Talking Radio: 7 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:36
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. Čita obavijesti s niza usluga povezanih s internetom pomoću Pyvona stroja za pretvaranje teksta u govor (TTS) i integracije IF This Then That (IFTTT). LED diode su nevjerojatno svijetle 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 tijekom ljeta za 3 funte - odmah su me zauzeli njegova kompaktna veličina i klasični dizajn, te sam uspio vidjeti njegov potencijal kroz vanjski dio izblijedjelog sunca i mnoge pukotine! Već neko vrijeme želim stvoriti "nešto pristojno za dnevnu sobu" i ovo je bilo idealno polazište. 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 bi "jednostavno funkcioniralo" na dnevnoj bazi.
U slučaju da ne možete vidjeti ugrađeni videozapis, on se nalazi na:
Korak 1: Blinkty Pi
Nedavno sam uzeo svoj prvi Pi Zeros i odmah me zapanjio njihov mali udio! Nakon lemljenja u zaglavlju GPIO i spajanja adaptera, prvi je bio spreman za rad. U početku sam planirao napraviti poboljšani Rabbit Pi, ali nakon nekog vremena ovo mi se činilo više kao posao nego zabava 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 hrpa od zabave! Jedini nedostatak bio je što je korištenje pHAT -a zakompliciralo 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 nu 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: Govorni kôd
Počeo sam s kopijom glavnog koda iz aplikacije Rabbit Pi jer su u njoj već bile pohranjene moje vjerodajnice za pretvaranje teksta u govor. Prije korištenja usluge morate postaviti Ivona developer račun, ali proces je jednostavan kao što sam već dokumentirao.
Sljedeći korak bio je instaliranje Pyvone, Python omotača za integraciju s Ivona TTS uslugom, što nije moglo biti lakše (pip install pyvona).
S ovim na mjestu počeo sam mijenjati kôd Rabbit Pi, uklanjajući reference na kontrolu motora i snimanje selfija, ostavljajući mi samo dijelove koji čitaju obavijesti iz redaka Predmet Gmail poruka. Kritični razvoj s ovim kodom 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 nogama s Pythonom, ali sam definirao svoje ključne riječi ("Oblačno", "Zalazak sunca", "Tuševi", "Facebook", "Twitter", "Youtube" i "Sunčano") Uspio sam kontrolirati Blinkt! boja ovisno o pročitanom tekstu.
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 postavljanju zvuka kasnije. Zadnji korak bio je postavljanje python skripte, radiot.py, za pokretanje pri pokretanju.
Korak 3: Središnja obavijest
Sad kad bi Pi pouzdano čitao poruke i svijetlio različitim bojama, trebao sam postaviti obavijesti tako da spontano prolaze - sjećam se u starom crtanom filmu o Tom & Jerryju, radio bi se samo povremeno pojavljivao (Jerryjev dnevnik (1949.) - isto razdoblje kao i radio!), a ovo je učinak koji sam tražio, da će sjediti u kutu i izgledati lijepo, povremeno svijetliti i čitati obavijesti koje inače ne bih uzeo na telefon.
Prvo sam postavio zasebni Gmail račun za primanje e -poruka s obavijestima - to je značilo da me neće bombardirati 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 na međusobnu interakciju pomoću "Recepti", 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 obavijesti, te upotrijebio odjeljak "Sastojci" kako bih bio siguran da će ključni podaci biti uključeni 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 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 zemljopisno područje, pošaljite e -poruku "MisterM je stigao na posao!"
- AKO postavim YouTube video, pošaljite e -poruku
- AKO određena osoba tvita, 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 - najdraža mi je obavijest o zalasku sunca, zanimljivo je u ovo doba godine vidjeti kako se njezino vrijeme svakodnevno mijenja. 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 pristojnom društvu). Mogućnost čitanja određenih Twitter računa čini ga doista fleksibilnim, a oni se mogu prilagoditi pomoću IFTTT -a, a ne svaki put reprogramirati Pi.
Korak 4: Opcije zvuka
Zatim sam morao razvrstati 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 priključak, 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 moram uključiti USB čvorište za smještaj WiFi adaptera, ali sam uspio rastaviti i ponovno upotrijebiti stari koji sam ležao.
Drugo, morao sam odabrati kombinaciju pojačala/zvučnika koja bi dala kvalitetan zvuk i bila stalno uključena. Ranije sam koristio zvučnike na baterije, ali potrebno je redovito punjenje, to ne bi bilo dobro za "uvijek uključenu" upotrebu, također su često imali i zamjetno šištanje u pozadini. U prošlosti sam također kanibalizirao stare iPod priključne stanice, ali oni su obično imali „značajke“za uštedu energije i isključili su se nakon nekoliko minuta šutnje.
Na kraju sam kupio nešto novo, par PC zvučnika po povoljnoj cijeni od 6,99 GBP. Nisam očekivao previše, ali kvaliteta zvuka bila je sasvim u redu, bez siktanja ili isteka vremena. Dodatni bonus zvučnika računala bio je to što su uključivali prekidač za uključivanje/isključivanje i birač glasnoće, za koje sam se nadao da ću ih moći povezati s izvornim kontrolama radija. Sve je funkcioniralo na klupi, pa je došlo vrijeme da se to uklopi u futrolu!
Korak 5: Retro ugradnja
Kad sam radio prvi put donio kući, uklonio sam originalne sklopove koji su, mjestimično doslovno, prepečeni. Bio sam impresioniran izvornom konstrukcijom, očito je bila dizajnirana tako da se može lako demontirati i popraviti jer je nakon otpuštanja nekoliko vijaka cijeli sklop iskliznuo na svojevrsnu šasiju. Odlučio sam upotrijebiti isti pristup i spojio nove komponente na podlogu koja bi se zatim mogla uvući u kućište i učvrstiti poput originala.
Počeo sam s tankom drvenom policom sa starog stalka za DVD, izrezivanjem prema veličini i bušenjem rupa za vijke kućišta. Zatim sam demontirao zvučnike, rezao plastična kućišta pile i rotacijskog alata. Sada tanki zvučnici pričvršćeni su na drvenu podlogu pomoću nosača od 90 stupnjeva izrađenog 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 stupskog aranžmana za podupiranje i uč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 u korištenju olovke u boji je ta što se "olovo" u sredini može doista lako izbušiti, ostavljajući prikladnu rupu za vijke na ploči.
Koristio sam kombinaciju Meccano i Lego komada kako bih napravio nosač koji će podupirati sam Pi i sredio zalutale kablove kabelskim vezicama. Prekidači za glasnoću 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
Kao što sam ranije spomenuo, radijsko kućište bilo je u užasnom stanju, pa sam zakrpao najgore rupe i pukotine koristeći polifillu i posipao ga po cijeloj površini. Odlučio sam se držati lijepe krem boje za boju, uskladiti sa smeđom bojom za ugađanje. Boja je tvrdila da je "temeljni premaz i boja u jednom", ali prvo sam joj dala nekoliko slojeva temeljnog premaza samo da bude na sigurnoj strani. Gumbi su zahtijevali poprilično ribanje (60+ godina prljavštine!), Ali dobro su ispali - upravo sam pričvrstio vijak ručnim gumbom za podešavanje kreme na sam brojčanik jer nije bio povezan s bilo kojim komponentama.
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 vrlo glatko, budući da je sva teška konstrukcija već bila napravljena na podnožju, sve što sam trebao učiniti je gurnuti sklop u kućište, učvrstiti ga vijcima i namjestiti gumbe.
Nedostajala je stražnja maska radija pa sam napravio novi od starog okvira za slike, obojivši ga u istu krem boju.
Korak 7: Radio Times
Ovo je bio jako zabavan projekt za gradnju, bilo je dobro držati stvari 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 sam čak i ozbiljno razmišljao o tome da ugradim Chromecast Audio (za svoje omiljene podcaste u novom stilu u stilu starog radija), ali drago mi je što sam to učinio jednostavnim i Oduševljen sam rezultatom.
Sada je instaliran na zvučnik u kutu dnevne sobe, svijetli i povremeno govori baš kako sam se nadao. Jedini mali nedostatak je što kremasto -smeđi prozirni brojčanik otežava isticanje sjajnog raspona boja Blinkta! Prilično je očito za obavijesti o zalasku sunca (narančaste) i tekstualne poruke (ljubičaste), ali su vremenske prilike 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, na mojoj web stranici možete pronaći ažuriranja projekata u tijeku 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!
Druga nagrada na natjecanju graditelja IoT -a
Preporučeni:
Arduino postaje Talking Tom: 6 koraka
Arduino postaje Talking Tom: Jedno od mojih najstarijih sjećanja na korištenje pametnog telefona bilo je igranje igre 'Talking Tom'. Igra je bila prilično jednostavna. Postoji mačka, po imenu Tom, koja može govoriti, na neki način. U igri je Tom slušao bilo kakav ulaz putem mikrofona telefona, a zatim ponavljao
Waveshare Game-HAT MOD Raspberry PI Zero/Zero W [EN/ES]: 4 koraka
Waveshare Game-HAT MOD Raspberry PI Zero/Zero W [EN/ES]: ENGLESKI/INGLESI: Kao što znate, sastavljanje Waveshare Game-HAT-a prilično je jednostavno ako se radi o jednom od modela koji su u potpunosti kompatibilni s dizajnom, to je Raspberry Pi 2/3 / 3A + / 3B / 3B + /, osobno preferiram da igraća konzola može biti h
Ham Radio radio pojasevi 2 metra/ 70 cm Microstrip PCB: 9 koraka
Ham Radio radio pojasevi 2 metra/ 70 cm Microstrip PCB: Bok, ovdje Andy G0SFJI nigdje u literaturi nisam mogao pronaći nikakve planove za mikrotrakaste antenske ploče za šunke od 70 cm i 2 metra. Čini se da su svi za RFID uređaje ili 2,4 Ghz ili više. Pa sam krenuo u razvoj mikrotrakastih tiskanih bo
FM radio s RDS -om (radio tekst), BT kontrolom i bazom za punjenje: 5 koraka
FM radio s RDS -om (radio tekst), BT kontrola i baza za punjenje: Bonjour, Ovo mi je drugi "instruktivni". Kako volim raditi ne baš korisne stvari, evo mog posljednjeg projekta: Ovo je FM radio s radio tekstom sa bazu za punjenje i koja se može nadzirati putem Bluetootha i Android aplikacije. Stoga ću
Napravite Talking Robot Head s pogonom na Arduinu !: 26 koraka (sa slikama)
Napravite Talking Robot Head s pogonom na Arduinu !: Ova glava robota izvorno je izgrađena kao projekt za moju nastavu fizičkog računarstva na kraju godine, ali tijekom ljeta je "naučila" kako razgovarati. Glavu pokreću dva Freeduinosa, 3 čipa TLC5940NT i Adafruit Industries