Cuprins:

Radio Pi Zero Talking: 7 pași (cu imagini)
Radio Pi Zero Talking: 7 pași (cu imagini)

Video: Radio Pi Zero Talking: 7 pași (cu imagini)

Video: Radio Pi Zero Talking: 7 pași (cu imagini)
Video: Doddy - Dor Sa Te Ador (feat. Lora) | Official Video 2024, Noiembrie
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

Acesta este un radio de masă DeWald de la sfârșitul anilor 1940 pe care l-am dat o viață nouă folosind un Raspberry Pi Zero, un Blinkt! Benzi LED și o pereche de boxe pentru PC. Citește notificările dintr-o serie de servicii conectate la internet folosind motorul Pyvona text-to-speech (TTS) și integrarea IF This Then That (IFTTT). LED-urile sunt uimitor de luminoase și luminează cadranul radioului într-o culoare diferită în funcție de cuvintele cheie din textul de notificare, de exemplu „youtube” = Roșu.

Am luat acest mic radio dulce la o vânzare de portbagaj vara cu 3 GBP - am fost imediat surprins de dimensiunile sale compacte și de designul clasic și am reușit să-i văd potențialul prin exteriorul estompat de soare și multe crăpături! De ceva vreme îmi doresc să creez „ceva decent pentru camera de zi” și acesta a fost punctul de plecare ideal. Am experimentat anterior notificări text-to-speech în proiectul Rabbit Pi și am sperat să mă bazez pe ceea ce am învățat pentru a face ceva care să „funcționeze” zilnic.

În cazul în care nu puteți vedea videoclipul încorporat, se află la:

Pasul 1: Blinkty Pi

Blinkty Pi
Blinkty Pi
Blinkty Pi
Blinkty Pi

Am ridicat primul meu Pi Zeros recent și am fost imediat uimit de dimensiunile lor mici! După lipirea în antetul GPIO și conectarea adaptoarelor, primul a fost gata de pornire. Inițial aveam de gând să creez un Rabbit Pi îmbunătățit, dar după o vreme acest lucru se simțea mai degrabă ca o muncă decât o distracție, așa că l-am depozitat - deși nu înainte de a începe experimentarea cu un Unicorn pHAT, o matrice 4x8 de LED-uri programabile, care era o grămadă absolută de distracție! Singurul dezavantaj a fost că utilizarea pHAT a complicat configurarea audio și am vrut să-mi mențin următorul proiect foarte simplu.

Totul a căzut la locul său la Cambridge Raspberry Jam în septembrie, când am văzut Blinkt! la vânzare la standul Pimoroni - este la fel ca Unicorn pHAT, dar cu un singur rând de 8 LED-uri, perfect dimensionate pentru a se potrivi pe antetul GPIO al unui pi zero. Vine cu o mulțime de documente și exemple și a funcționat și a funcționat în cel mai scurt timp - acum a venit timpul să începeți să strângeți restul codului.

Pasul 2: Cod de vorbire

Cod vorbitor
Cod vorbitor

Am început cu o copie a codului principal de la Rabbit Pi, deoarece acesta avea deja acreditările mele text-to-speech Ivona stocate în el. Trebuie să configurați un cont de dezvoltator Ivona înainte de a utiliza serviciul, dar procesul este simplu, așa cum am documentat anterior.

Următorul pas a fost instalarea Pyvona, învelișul Python pentru a se integra cu serviciul Ivona TTS, ceea ce nu ar fi putut fi mai ușor (pip install pyvona).

Având în vedere acest lucru, am început să modific codul Rabbit Pi, scoțând referințele la controlul motorului și la luarea de selfie pentru a-mi lăsa doar biții care citesc notificările din subiectele mesajelor Gmail. Dezvoltarea critică a acestui cod a fost adăugarea într-o serie de instrucțiuni IF pentru a căuta cuvinte cheie specifice în mesaje, astfel încât Blinkt! ar străluci culori diferite în funcție de mesaj.

Mi-a luat ceva timp, deoarece încă îmi găsesc picioarele cu Python, dar după ce am definit cuvintele cheie („Înnorat”, „Apus de soare”, „Averse”, „Facebook”, „Twitter”, „Youtube” și „Însorit”) Am reușit să controlez Blinkt! culoare în funcție de textul citit.

Codul simplu, dacă este elegant, pe care l-am folosit este pe GitHub, deși am adăugat deja mai multe cuvinte cheie și culori! L-am testat în afara carcasei folosind un difuzor alimentat cu baterie - mai multe despre configurarea audio mai târziu. Ultimul pas a fost setarea scriptului python, radiot.py, pentru a rula la pornire.

Pasul 3: Notificare centrală

Notificare centrală
Notificare centrală

Acum, când Pi citea în mod fiabil mesaje și strălucea diferite culori, aveam nevoie pentru a configura notificările, astfel încât acestea să apară în mod spontan - îmi amintesc că într-un vechi desen animat Tom & Jerry, radioul pur și simplu se arunca ocazional (Jerry's Diary (1949) - aceeași perioadă ca și radioul!) și acesta este efectul pe care l-am urmărit, că stătea în colț și arăta frumos, luminând ocazional și citind notificări pe care altfel nu le ridicam pe telefon.

Mai întâi am configurat un cont Gmail separat pentru a primi e-mailurile de notificare - acest lucru însemna că nu aș fi bombardat cu notificări de e-mail noi sau nu voi polua căsuța de e-mail existentă cu sute de mesaje generate automat.

Apoi am trecut la IFTTT (IF This Then That) pentru a configura automatizarea. Cu IFTTT puteți conecta cu ușurință mai multe „canale” la contul dvs. și le puteți seta să interacționeze între ele folosind „Rețete”, în acest caz canalizând mai multe rețele sociale și acțiuni din lumea reală într-un flux de e-mailuri. Am personalizat partea „Atunci acel” din rețete, astfel încât să trimită cu toții un e-mail la contul Gmail pe care l-am configurat pentru notificări și am folosit secțiunea „Ingrediente” pentru a mă asigura că informațiile cheie vor fi incluse în subiectul e-mailului., partea care este citită. În acest moment am configurate următoarele rețete IFTTT, dar acestea sunt adăugate tot timpul!

  • În fiecare zi la ora 21:00 trimiteți vremea de mâine prin e-mail
  • În fiecare zi la Sunset trimiteți data și ora prin e-mail
  • DACĂ sunt etichetat într-o fotografie de pe Facebook trimiteți un e-mail
  • DACĂ telefonul meu este conectat / deconectat, trimiteți procentajul bateriei prin e-mail
  • DACĂ intru într-o zonă geografică trimiteți un e-mail „MisterM a ajuns la locul de muncă!”
  • DACĂ încarc un videoclip YouTube trimiteți un e-mail
  • DACĂ o anumită persoană trimite un tweet, trimiteți-l prin e-mail
  • DACĂ începe un eveniment Google Calendar trimiteți-l prin e-mail
  • DACĂ vremea actuală se schimbă în ploaie trimiteți un e-mail („Ferește-te, este pe cale să plouă!”
  • DACĂ soclul inteligent este pornit sau oprit trimiteți un e-mail
  • DACĂ se primește un nou mesaj SMS, trimiteți-l prin e-mail
  • DACĂ bateria telefonului scade sub 15% trimiteți un e-mail („Încărcați-vă telefonul, idiot”)
  • DACĂ am un nou adept Twitter sau menționez trimiteți un e-mail

Este un amestec extraordinar de evenimente zilnice previzibile și anunțuri neașteptate - preferata mea este notificarea Sunset, este interesant în această perioadă a anului să văd cum se schimbă zilnic timpul său. Notificările de pe Twitter sunt cele mai distractive, în momentul în care citește orice tweet-uri noi de la „Beef & Dairy Network”, „Very British Problems”, „My Sweary Cat” și „Henry Thoreau” (deși unele dintre acestea se schimbă în aplicația IFTTT într-o companie politicoasă). Abilitatea de a citi anumite conturi Twitter îl face foarte flexibil, iar acestea pot fi personalizate prin IFTTT, mai degrabă decât să fie nevoie să reprogramați Pi de fiecare dată.

Pasul 4: Opțiuni audio

Opțiuni audio
Opțiuni audio
Opțiuni audio
Opțiuni audio
Opțiuni audio
Opțiuni audio
Opțiuni audio
Opțiuni audio

Apoi am avut nevoie să rezolv audio, cu două provocări! În primul rând cum să scoateți sunetul din Pi. Spre deosebire de fratele său mai mare, Pi Zero nu are ieșire audio de 3,5 mm, așa că trebuia să folosesc un fel de adaptor. Inițial am crezut că voi folosi un conector audio HDMI-VGA +, dar acest lucru mi s-a părut excesiv (și aveam nevoie de el pentru un alt proiect!), Așa că am folosit un adaptor audio USB ieftin. Acest lucru a fost destul de ușor de configurat, doar un caz de setare a plăcii de sunet USB ca dispozitiv implicit ALSA pe Pi. Acest lucru a însemnat că trebuia să includ un hub USB pentru a adăuga adaptorul WiFi, dar am reușit să demontez și să refolosesc unul vechi pe care îl aveam întins.

În al doilea rând, am avut nevoie să aleg o combinație de amplificator / difuzor care să ofere un sunet de bună calitate și să fie pornit constant. Anterior am folosit difuzoare alimentate cu baterie, dar necesitatea încărcării periodice a acestora nu ar fi utilă pentru utilizarea „mereu în funcțiune”, de asemenea, adesea au șuierat de fundal vizibil. De asemenea, am canibalizat docuri vechi pentru iPod în trecut, dar acestea au avut tendința de a avea „funcții” de economisire a energiei și s-au oprit după câteva minute de tăcere.

M-am dus cu ceva nou în cele din urmă, o pereche de boxe pentru PC la prețul promoțional de 6,99 GBP. Nu mă așteptam prea mult, dar calitatea sunetului a fost absolut bună, fără șuierare sau expirare. Bonusul suplimentar al difuzoarelor PC-ului a fost că acestea includeau un comutator de pornire / oprire și cadran de volum, pe care speram să le pot conecta la comenzile originale ale radioului. Totul a funcționat pe bancă, așa că acum a venit timpul să-l încadrăm în carcasă!

Pasul 5: Montare retro

Montare retro
Montare retro
Montare retro
Montare retro
Montare retro
Montare retro

Când am adus radioul acasă pentru prima dată, am scos circuitele originale care erau, în anumite locuri, toast. Am fost impresionat de construcția originală, totuși, a fost evident concepută pentru a fi ușor demontată și fixată, deoarece după desfacerea a două șuruburi, întregul ansamblu a alunecat pe un fel de șasiu. Am decis să folosesc aceeași abordare și să pun noile componente laolaltă pe o bază care ar putea apoi să alunece în carcasă și să fie fixate ca originalul.

Am început cu un raft subțire din lemn dintr-un suport DVD vechi, tăindu-l la dimensiune și găurind găurile pentru șuruburile carcasei. Apoi am demontat difuzoarele, tăind carcasele din plastic cu un ferăstrău și un instrument rotativ. Difuzoarele acum subțiri au fost fixate pe baza de lemn cu un suport de 90 de grade realizat din Meccano. Circuitul amplificatorului a fost următorul - din cauza constrângerilor de spațiu, din păcate, acesta a trebuit să fie montat cu susul în jos și ridicat cu aproximativ un centimetru deasupra bazei. A trebuit să construiesc un fel de aranjament de stâlpi pentru a susține și a fixa placa, dar am rămas blocat cu cum să fac acest lucru cu grijă. Soluția ideală a fost chiar sub nasul meu - un creion colorat! Am tăiat secțiuni ale creionului la dimensiune, apoi le-am încorporat în găuri găurite în bază. Lucrul perfect în ceea ce privește utilizarea unui creion colorat este că „plumbul” din centru poate fi ușor forat, lăsând o gaură convenabilă pentru șuruburile plăcii de circuit.

Am folosit o combinație de piese Meccano și Lego pentru a face o consolă care să susțină Pi în sine și am ordonat cablurile rătăcite cu legături de cablu. Comutatoarele de volum și de pornire / oprire erau mai distanțate pe placa circuitului difuzoarelor decât găurile din carcasa radio (nu puteți avea totul), așa că le-am extins folosind secțiuni ale unui stick de balon gol din plastic.

Pasul 6: Lucrul cu cazurile

Lucrări de caz
Lucrări de caz
Lucrări de caz
Lucrări de caz
Lucrări de caz
Lucrări de caz

După cum am menționat mai devreme, carcasa radioului era într-o stare îngrozitoare, așa că am remediat cele mai grave găuri și crăpături folosind polyfilla și l-am șlefuit peste tot. Am decis să rămân cu o culoare cremă frumoasă pentru vopsea, pentru a mă coordona cu maroniul cadranului de reglare. Vopseaua a pretins că este „grund și vopsea într-una”, dar i-am dat câteva straturi de grund mai întâi doar pentru a fi în siguranță. Butoanele au luat un pic de spălare (peste 60 de ani de murdărie!), Dar au ieșit bine - tocmai am fixat butonul original de reglare a cremei pe cadranul însuși cu un șurub, deoarece nu era conectat la nici un component.

După ce vopseaua s-a întărit, a venit timpul să le pun laolaltă - în mod normal, partea unui proiect care îmi testează cel mai mult răbdarea! De data aceasta a mers foarte ușor, întrucât toată construcția dificilă a fost deja realizată pe bază, tot ce trebuia să fac era să alunec ansamblul în carcasă, să-l fixez cu șuruburile și să montați butoanele.

Coperta din spate a radioului lipsea, așa că am făcut una nouă dintr-o ramă veche, pictând-o cu aceeași culoare crem.

Pasul 7: Radio Times

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

Acesta a fost un proiect foarte distractiv de construit, a fost bine să păstrăm lucrurile destul de simple și să ne concentrăm pe a le face cât mai curate posibil. Uneori am fost tentat să adaug un microfon pentru integrarea Alexa și chiar m-am gândit serios să construiesc un Chromecast Audio (pentru podcast-urile mele preferate în stilul radioului vechi), dar mă bucur că l-am păstrat simplu și Sunt încântat de rezultat.

Acum este instalat pe un difuzor din colțul camerei de zi, iluminându-se și vorbind ocazional așa cum aș fi sperat. Singurul dezavantaj ușor este că cadranul translucid crem și maro face mai dificilă prezentarea gamei de culori strălucitoare a Blinkt! Este destul de evident pentru notificările apusului de soare (portocaliu) și mesajele text (violet), dar cele meteorologice sunt cam la fel - trebuie doar să experimentez coduri de culori RGB diferite, cred!

Dacă vă place acest proiect și doriți să vedeți mai multe, puteți consulta site-ul meu web pentru actualizări ale proiectului în curs la bit.ly/OldTechNewSpec, înscrieți-vă pe Twitter @OldTechNewSpec sau abonați-vă la canalul YouTube în creștere la bit.ly/oldtechtube - dați unele dintre tehnicile dvs. vechi o specificație nouă!

Concurs de constructori IoT
Concurs de constructori IoT
Concurs de constructori IoT
Concurs de constructori IoT

Premiul II la Concursul IoT Builders

Recomandat: