Taula de continguts:

Ràdio parlant Pi Zero: 7 passos (amb imatges)
Ràdio parlant Pi Zero: 7 passos (amb imatges)

Vídeo: Ràdio parlant Pi Zero: 7 passos (amb imatges)

Vídeo: Ràdio parlant Pi Zero: 7 passos (amb imatges)
Vídeo: SHAKIRA || BZRP Music Sessions #53 2024, Juliol
Anonim
Image
Image
Ràdio parlant Pi Zero
Ràdio parlant Pi Zero
Ràdio parlant Pi Zero
Ràdio parlant Pi Zero
Ràdio parlant Pi Zero
Ràdio parlant Pi Zero

Es tracta d’una ràdio de taula DeWald de finals dels anys 40 que he donat una nova vida amb un Raspberry Pi Zero, un Blinkt! Tira LED i un parell d’altaveus per a PC. Llegeix les notificacions d’una sèrie de serveis connectats a Internet mitjançant el motor de parla a veu (TTS) de Pyvona i la integració IF This Then That (IFTTT). Els LED són increïblement brillants i il·luminen la marcació de la ràdio d’un color diferent segons les paraules clau del text de la notificació, per exemple "youtube" = Vermell.

Vaig agafar aquesta petita ràdio dolça en una venda de maleters de cotxes durant l’estiu per 3 lliures esterlines; de seguida em va sorprendre la seva mida compacta i el seu disseny clàssic i vaig aconseguir veure el seu potencial a través de l’exterior desolat pel sol i de moltes esquerdes. Fa temps que volia crear "quelcom decent per al saló" i aquest era el punt de partida ideal. Abans he experimentat amb notificacions de text a veu al projecte Rabbit Pi i esperava aprofitar el que havia après per fer alguna cosa que "només funcionés" diàriament.

Per si no podeu veure el vídeo incrustat es troba a:

Pas 1: Blinkty Pi

Blinkty Pi
Blinkty Pi
Blinkty Pi
Blinkty Pi

Vaig recollir el meu primer Pi Zeros recentment i em vaig sorprendre instantàniament per la seva petita mida. Després de soldar a la capçalera GPIO i connectar els adaptadors, el primer estava preparat. Originalment, tenia previst fer un Rabbit Pi millorat, però al cap d’un temps això em semblava més que una feina que una diversió, així que ho vaig deixar de banda, encara que no abans de començar a experimentar amb un Unicorn pHAT, una matriu 4x8 de LED programables, que era un munt absolut de diversió! L’únic inconvenient era que l’ús del pHAT complicava la configuració de l’àudio i volia mantenir el meu proper projecte realment senzill.

Tot va caure al lloc al Cambridge Raspberry Jam al setembre quan vaig veure el Blinkt! a la venda a la parada de Pimoroni: és igual que el pHAT Unicorn, però amb una sola fila de 8 LEDs, perfectament dimensionats per adaptar-se a la capçalera GPIO d’un pi zero. Ve amb molta documentació i exemples i es va posar en funcionament en poc temps; ara era el moment de començar a reunir la resta del codi.

Pas 2: parlar del codi

Talking Code
Talking Code

Vaig començar amb una còpia del codi principal del Rabbit Pi, ja que ja tenia emmagatzemades les meves credencials de parla a veu d'Ivona. Abans d’utilitzar el servei, heu de configurar un compte de desenvolupador d’Ivona, però el procés és senzill, com he documentat abans.

El següent pas va ser instal·lar Pyvona, l’embolcall de Python per integrar-lo amb el servei Ivona TTS, que no hauria estat més fàcil (pip install pyvona).

Amb això al seu lloc, vaig començar a modificar el codi Rabbit Pi, traient les referències al control del motor i la presa de selfies per deixar-me només els bits que llegien les notificacions de les línies d'assumpte dels missatges de Gmail. El desenvolupament crític d’aquest codi es va afegir en una sèrie d’instruccions IF per buscar paraules clau específiques als missatges, de manera que el Blinkt! brillaria de diferents colors segons el missatge.

Vaig trigar una estona, encara que encara trobo els peus amb Python, però després d'haver definit les meves paraules clau ("Ennuvolat", "Capvespre", "Xàfecs", "Facebook", "Twitter", "Youtube" i "Assolellat") Vaig poder controlar el Blinkt! color en funció del text que es va llegir.

El codi simple, si poc elegant, que he fet servir és a GitHub, tot i que ja he afegit més paraules i colors. El vaig provar fora de la caixa amb un altaveu amb bateria, més endavant sobre la configuració de l’àudio. L’últim pas va ser configurar l’escriptura python, radiot.py, perquè s’executés a l’inici.

Pas 3: Central de notificacions

Central de notificacions
Central de notificacions

Ara que el Pi llegia els missatges de manera fiable i brillava de diferents colors, necessitava configurar les notificacions perquè es transmetessin espontàniament. Recordo que en una vella historieta de Tom i Jerry, la ràdio acabava de passar de tant en tant (Jerry's Diary (1949) - el mateix període que la ràdio!) i aquest és l’efecte que tenia després, que s’asseia al racó i tenia bon aspecte, de tant en tant s’il·luminava i llegia notificacions que d’una altra manera no recolliria al telèfon.

Primer vaig configurar un compte de Gmail separat per rebre els correus electrònics de notificació; això significava que no em bombardejaria amb notificacions de correu electrònic noves ni contaminaria la meva safata d'entrada existent amb centenars de missatges generats automàticament.

A continuació, vaig passar a IFTTT (IF This Then That) per configurar l'automatització. Amb IFTTT podeu connectar fàcilment diversos "canals" al vostre compte i configurar-los per interactuar entre ells mitjançant "Receptes", en aquest cas canalitzant diverses xarxes socials i accions del món real en un flux de correus electrònics. He personalitzat la part "Aleshores això" de les receptes perquè tots enviessin un correu electrònic al compte de Gmail que he configurat per a notificacions i he utilitzat la secció "Ingredients" per assegurar-me que la informació clau s'inclourà a l'assumpte del correu electrònic., la part que es llegeix. En aquest moment tinc configurades les següents receptes IFTTT, però aquestes s’afegeixen a tot el temps.

  • Tots els dies a les 21:00 envieu el temps de demà per correu electrònic
  • Tots els dies a Sunset envieu la data i l’hora per correu electrònic
  • SI estic etiquetat en una foto de Facebook envia un correu electrònic
  • SI el meu telèfon està connectat / desconnectat, envieu el percentatge de bateria per correu electrònic
  • SI entro a una zona geogràfica envieu un correu electrònic "MisterM ha arribat a la feina!"
  • SI penjo un vídeo de YouTube envia un correu electrònic
  • SI una persona en concret fa un tuit, envieu-lo per correu electrònic
  • SI comença un esdeveniment de Google Calendar envieu-lo per correu electrònic
  • SI el temps actual canvia a la pluja envieu un missatge de correu electrònic ("Compte, ja està a punt de començar a ploure!"
  • SI el sòcol intel·ligent està activat o desactivat envieu un correu electrònic
  • SI es rep un missatge SMS nou, envieu-lo per correu electrònic
  • SI la bateria del telèfon cau per sota del 15% envieu un missatge de correu electrònic ("Carregueu el telèfon, idiota")
  • SI tinc un nou seguidor de Twitter o esmento envia un correu electrònic

És una gran barreja d’esdeveniments diaris previsibles i anuncis inesperats: el que més m’agrada és la notificació del capvespre, és interessant en aquesta època de l’any veure com canvia la seva hora diàriament. Les notificacions de Twitter són les més divertides, de moment es llegeixen els tuits nous de "Beef & Dairy Network", "Very British Problems", "My Sweary Cat" i "Henry Thoreau" (tot i que alguns d'aquests es canvien a l’aplicació IFTTT en una empresa educada). Poder llegir comptes específics de Twitter el fa molt flexible i es pot personalitzar mitjançant IFTTT en lloc d’haver de reprogramar el Pi cada vegada.

Pas 4: Opcions d'àudio

Opcions d'àudio
Opcions d'àudio
Opcions d'àudio
Opcions d'àudio
Opcions d'àudio
Opcions d'àudio
Opcions d'àudio
Opcions d'àudio

A continuació, necessitava classificar l'àudio, amb dos reptes. En primer lloc, com treure l'àudio del Pi. A diferència del seu germà més gran, el Pi Zero no té sortida d’àudio de 3,5 mm, de manera que calia utilitzar algun tipus d’adaptador. Inicialment vaig pensar que faria servir un connector d'àudio HDMI a VGA +, però semblava excessiu (i el necessitava per a un altre projecte), així que vaig utilitzar un adaptador d'àudio USB barat. Va ser bastant fàcil de configurar, només cal configurar la targeta de so USB com a dispositiu ALSA per defecte al Pi. Això significava que calia incloure un concentrador USB per allotjar l'adaptador WiFi, però vaig aconseguir desmuntar-lo i reutilitzar-ne un d'antic que tenia al voltant.

En segon lloc, havia de triar una combinació d'amplificador / altaveu que donés un so de bona qualitat i que s'encengui constantment. Anteriorment he utilitzat altaveus que funcionen amb bateria, però no caldria carregar-los regularment per fer-los servir sempre, ja que sovint tenien un xiulet de fons notable. En el passat, també he canibalitzat antics molls per a iPod, però aquests tendien a tenir "funcions" d'estalvi d'energia i es desactivaven després d'uns minuts de silenci.

Vaig anar amb alguna cosa nova al final, un parell d’altaveus de PC al preu de 6,99 lliures. No esperava massa, però la qualitat del so era absolutament bona, sense xiulets ni temps d’espera. L’avantatge addicional dels altaveus del PC era que incloïen un interruptor d’encesa / apagat i un marcador de volum, que esperava poder connectar als controls originals de la ràdio. Tot funcionava a la banqueta, de manera que ara era el moment d’ajustar-lo a la caixa.

Pas 5: muntatge retro

Muntatge retro
Muntatge retro
Muntatge retro
Muntatge retro
Muntatge retro
Muntatge retro

Quan vaig portar la ràdio a casa, vaig treure els circuits originals que literalment eren torrats. Em va impressionar la construcció original, però, òbviament, va ser dissenyada per desmuntar-se i fixar-se fàcilment, ja que després de desfer un parell de parabolts, tot el conjunt es va lliscar sobre una mena de xassís. Vaig decidir utilitzar el mateix enfocament i posar els nous components junts en una base que després pogués lliscar-se a la caixa i assegurar-se com l'original.

Vaig començar amb una fina prestatgeria de fusta d’un vell bastidor de DVD, tallant-lo a mida i perforant forats per als cargols de la caixa. A continuació, vaig desmuntar els altaveus, tallant les caixes de plàstic amb una serra per a maquinària i una eina rotativa. Els altaveus, ara prims, es fixaven a la base de fusta amb un suport de 90 graus fabricat amb Meccano. El circuit d'amplificació va ser el següent, a causa de les limitacions d'espai, per desgràcia, calia muntar-lo cap per avall i elevar-se aproximadament una polzada per sobre de la base. Vaig haver de construir algun tipus d’arranjament de pilars per recolzar i assegurar el tauler, però em vaig quedar atrapat amb la manera de fer-ho ordenadament. La solució ideal era just sota el nas: un llapis de colors! Vaig tallar seccions del llapis a mida, i després les vaig inserir en forats perforats a la base. El més perfecte d’utilitzar un llapis de colors és que el "cable" al centre es pot perforar fàcilment, deixant un forat convenient per als cargols de la placa de circuit.

Vaig utilitzar una combinació de peces de Meccano i Lego per fer un suport per suportar el Pi mateix, i vaig endreçar els cables perduts amb tirants de cable. Els interruptors de volum i encès / apagat estaven més separats a la placa de circuits dels altaveus que els forats de la caixa de la ràdio (no es pot tenir tot), així que els vaig ampliar mitjançant seccions d’un pal de globus de plàstic buit.

Pas 6: treball de casos

Treball de casos
Treball de casos
Treball de casos
Treball de casos
Treball de casos
Treball de casos

Com he esmentat anteriorment, la caixa de la ràdio es trobava en un estat terrible, així que vaig corregir els pitjors forats i esquerdes amb polyfilla i la vaig escampar per tot arreu. Vaig decidir quedar-me amb un bonic color crema per a la pintura, per coordinar-me amb el marró de l’esfera d’ajust. La pintura va afirmar que era "imprimació i pintura en una", però primer li vaig donar algunes capes d'imprimació només per estar al costat segur. Els poms van fer una mica de fregat (més de 60 anys de brutícia), però van sortir bé: acabo de fixar el comandament original de sintonia de crema al dial amb un cargol, ja que no estava connectat a cap component.

Després que la pintura s’hagués endurit, era el moment de muntar-ho tot, normalment la part d’un projecte que més prova la meva paciència. Aquesta vegada ha anat molt bé, ja que tota la construcció difícil ja estava feta a la base, tot el que havia de fer era lliscar el conjunt a la caixa, fixar-lo amb els parabolts i col·locar els poms.

Faltava la contraportada de la ràdio, de manera que en vaig fer una de nova amb un marc de pintura antic, pintant-la del mateix color crema.

Pas 7: Radio Times

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

Va ser un projecte molt divertit de construir, era bo mantenir les coses bastant senzilles i centrar-se en fer-ho el més net possible. De vegades, vaig tenir la temptació d’afegir un micròfon per a la integració d’Alexa, i fins i tot em vaig plantejar seriosament la possibilitat de crear un Chromecast Audio (per als meus podcasts favorits a l’estil de la ràdio antiga), però estic content d’haver-ho mantingut senzill i Estic encantat amb el resultat.

Ara està instal·lat en un altaveu a la cantonada de la sala d’estar, il·luminant i parlant de tant en tant tal com esperava. L'únic desavantatge és que el dial translúcid crema i marró fa que sigui més difícil mostrar la gamma de colors brillant del Blinkt. És bastant evident per a les notificacions de posta de sol (taronja) i els missatges de text (porpra), però les meteorològiques són una mica iguals, crec que només necessito experimentar amb diferents codis de colors RGB.

Si us agrada aquest projecte i voleu veure-ne més, podeu consultar el meu lloc web per obtenir actualitzacions del projecte en curs a bit.ly/OldTechNewSpec, uniu-vos a Twitter @OldTechNewSpec o subscriviu-vos al creixent canal de YouTube a bit.ly/oldtechtube - done algunes de les vostres tècniques antigues són una nova especificació.

Concurs de constructors d’IoT
Concurs de constructors d’IoT
Concurs de constructors d’IoT
Concurs de constructors d’IoT

Accèssit al concurs de constructors IoT

Recomanat: