Sadržaj:
- Korak 1: Blinkty Pi
- Korak 2: Pričajući kôd
- Korak 3: Centar za obavještenja
- Korak 4: Opcije zvuka
- Korak 5: Retro montaža
- 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 izmjena: 2024-01-30 08:08
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
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
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
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
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
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
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
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!
Druga nagrada na takmičenju IoT Builders
Preporučuje se:
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, Tom bi slušao bilo kakav ulaz preko 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 + /, ja lično više volim da igraća konzola može biti h
Ham Radio radio pojasevi 2 metra/ 70 cm Microstrip PCB: 9 koraka
Ham Radio opsezi 2 metra/ 70 cm Microstrip PCB: Zdravo, ovdje Andy G0SFJI nigdje u literaturi nisam mogao pronaći nikakve planove za mikrotrakaste antenske ploče za opsege 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 mikrotrakastog tiskanog bo
FM radio sa RDS (Radio Text), BT kontrolom i bazom za punjenje: 5 koraka
FM radio sa RDS -om (Radio Text), BT kontrola i baza za punjenje: Bonjour, Ovo je moja druga "instrukcija". Kako volim raditi ne baš korisne stvari, evo mog posljednjeg projekta: Ovo je FM radio sa radio tekstom sa bazu za punjenje i koja se može pratiti putem Bluetootha i Android aplikacije. Stoga ću
Napravite Talking Robot Head sa pogonom na Arduinu!: 26 koraka (sa slikama)
Napravite Talking Robot Head sa pogonom na Arduinu !: Ova glava robota je prvobitno izgrađena kao projekat za kraj moje godine za moj čas fizičkog računarstva, ali je tokom leta "naučila" kako razgovarati. Glavu pokreću dva Freeduinosa, 3 čipa TLC5940NT i Adafruit Industries