Indholdsfortegnelse:

1975 Hitachi Pi Info-TV: 13 trin (med billeder)
1975 Hitachi Pi Info-TV: 13 trin (med billeder)

Video: 1975 Hitachi Pi Info-TV: 13 trin (med billeder)

Video: 1975 Hitachi Pi Info-TV: 13 trin (med billeder)
Video: Веб-программирование – информатика для руководителей бизнеса 2016 2024, November
Anonim
Image
Image
1975 Hitachi Pi Info-TV
1975 Hitachi Pi Info-TV
1975 Hitachi Pi Info-TV
1975 Hitachi Pi Info-TV
1975 Hitachi Pi Info-TV
1975 Hitachi Pi Info-TV

Dette er et sødt lille Hitachi I-89-311 bærbart fjernsyn, som jeg har konverteret til en retro-vægmonteret informationsstation! Det viser nyttigt indhold i en række Chrome-faner på fuld skærm og drejning af indstillingshjulet mellem siderne, ligesom du oprindeligt ville ændre tv-kanaler. Lydstyrkeknappen styrer rulning, tænd / sluk-knappen opdaterer siden, og den har en PIR-bevægelsessensor, så skærmen slukker, når du går væk.

Den bruger en Pimoroni 8 4: 3-skærm og en Raspberry Pi 3 til at vise indholdet, og nogle specialfremstillede kontakter gør det muligt at bruge alle de originale tv-kontroller.

Hvis du ikke kan se den integrerede video, er den på:

Trin 1: Afmontering og beslutninger

Afmontering og beslutninger
Afmontering og beslutninger
Afmontering og beslutninger
Afmontering og beslutninger
Afmontering og beslutninger
Afmontering og beslutninger

Dette tv kostede mig hele £ 5 ved et salg i løbet af sommeren, og jeg kunne ikke vente med at komme hjem og afmontere det. Jeg havde i tankerne at simpelthen skille den ad, hakke den ned, udskifte skærmen med min gamle 10 tablet og hænge den på væggen - et dejligt hurtigt projekt! Nedrivningen gik bestemt godt, alt gik meget rent fra hinanden og takket være en ny bakke med magnetiske dele Jeg mistede ikke nogen af skruerne for en gangs skyld. Da jeg holdt tabletten op til den afklædte kasse, men det var tydeligt, at den aldrig ville passe, var rammen omkring skærmen alt for tyk til at passe i kassen.

Jeg havde forestillet mig bare at tilpasse en Android -startskærm med widgets til at vise kommende kalenderaftaler, vejr, nyheder og så videre, men med det ud af vinduet vendte jeg mig til Raspberry Pi -muligheder. Jeg begyndte at kigge på software til først at vise dashboards, da dette syntes at være nogenlunde det, jeg var ude efter. Jeg forsøgte at dashing.io efter anbefalinger, men fandt det lidt klodset at konfigurere og konfigurere. Mange af de andre muligheder var mere forretningsorienterede, så mindre sandsynligt at have funktioner som at vise et live CCTV-webcam-feed. Efter et stykke tid besluttede jeg stort set at bygge min egen webside for kun at vise det indhold, jeg ønskede - men så slog ideen, hvorfor ikke have flere websider og kunne rulle mellem dem ved hjælp af tv -kontrollerne? Dette ville betyde færre kompromiser omkring, hvad der ville passe på den lille skærm, og ville gøre det virkelig let at tilføje eller fjerne elementer. Efter dette "Eureka" -moment var alt, hvad jeg skulle gøre, at få det til at ske - og det var ikke for kompliceret.

Trin 2: Chromium -kode

Chrom -kode
Chrom -kode

For at websidernes idé skulle fungere, var det første, jeg skulle gøre, at finde ud af, hvordan Chromium -browseren åbnes i fuld skærm ved opstart med flere foruddefinerede faner. Takket være fleksibiliteten i Pi og Chromium var dette faktisk ret let at opnå, bare et tilfælde af redigering af autostart -filen:

sudo nano.config/lxsession/LXDE-pi/autostart

… og tilføjer

@chrom-browser --noerrdialogs --start-fuldskærm https:// url1 https:// url2 https:// url3

… til slutningen af filen, gemme ændringerne.

Dernæst måtte jeg finde en måde at på en eller anden måde bruge fjernsynets knapper til at styre browserfanerne. Jeg planlagde at have et separat trådløst tastatur og musekombination i nærheden, så brugte ikke kiosktilstand og var ikke interesseret i musebevægelser eller klik, men jeg ville gerne kunne lave de grundlæggende oplysninger "Jeg er på arbejde" -greb bare ved at bruge de originale tv -kontroller. Jeg vidste, at jeg sandsynligvis ville forbinde switchene til Pi's GPIO og styre dem i Python, så kiggede rundt efter en kode, der ville efterligne tastetryk, så jeg kunne udnytte et script til at sende disse via input fra en fysisk switch.

Efter noget trawling stødte jeg på xdotool, som var perfekt til jobbet, da det lader dig simulere tastetryk ved hjælp af kode, der let kan indlejres i Python. Først installerede jeg det …

sudo apt-get install xdotool

… brug derefter terminalen med en kommando til at skifte faner i Chrome og efterligne CTRL-TAB-tastaturgenvejen:

xdotool søgning -kun synlig -klasse "chrom" vinduesfokus && xdotool tast ctrl+Tab

Jeg gjorde derefter det samme for at oprette et stykke kode til at udføre handlingen "Opdater" og efterligne et F5 -tastetryk:

xdotool søgning -kun synlig -klasse "chrom" vinduesfokus && xdotool nøgle F5

Nu hvor jeg havde de grundlæggende kodestykker, var det næste job at sortere de fysiske knapper, koble dem til GPIO og oprette et Python -script for at få dem til at styre browseren.

Trin 3: Tv -kontrol

Tv -kontrol
Tv -kontrol
Tv -kontrol
Tv -kontrol
Tv -kontrol
Tv -kontrol

Showets stjerne var knapvis den dejlige store tuningskive, så det arbejdede jeg først på. Jeg havde brug for drejeknappen for at oversætte til GPIO-affyrede tastetryk for at udløse browser-fanekontakten, så drejning af den ville ændre "kanal". Praktisk havde jeg gjort noget lignende før for mit Neon Infinity Television -projekt, så jeg besluttede at bruge den samme metode.

For at starte tog jeg en 12-polet enkeltkastskontakt og loddet alternative terminaler til hinanden, så 6 af dem var forbundet til en enkelt ledning. Den anden ledning blev forbundet til afbryderens knudepunkt, så hvert roterende klik ville flytte den mellem en åben og lukket tilstand. Dette betød, at hver kanalændring ville tage 2 "klik", et for at klikke på kontakten "lukket" og et for at åbne det igen.

Efter at have testet det med et multimeter gik jeg videre til den næste knap (On/Off)-jeg ville kun have dette til at "opdatere" siden, så jeg brugte en standard push-to-make switch.

MED begge disse færdige lodde jeg dem til en lille smule protoboard sammen med et springhoved, så ledningerne ville blive lettere. Derefter sluttede jeg dem til Pi (GPIO6, GPIO26 og 3v) og sammensatte et Python -script for at oversætte deres fysiske bevægelser til tastetryk for at styre browservinduet. Det script, jeg brugte, er ret enkelt og er tilgængeligt på GitHub. Når det fungerede fuldt ud, satte jeg det til autostart ved at tilføje i linjen …

@sudo python /home/pi/tabswitch.py

… til autostart-filen, lige nedenunder, hvor jeg tidligere havde tilføjet kommandoen @chromium-browser.

Så det var to knapper nede, en til at gå!

Trin 4: Rul rundt

Rul rundt
Rul rundt

Jeg ville virkelig have den tredje knap (lydstyrke) til at rulle browsersiden op og ned for at scanne overskrifter og vejrudsigter - det var et godt koncept, men svært at opnå! Jeg undersøgte forskellige muligheder, men kom tilbage til en af mine favoritter - billige USB -mus. En tur til bilens bagagerum gav fire gamle squeakers i forskellige tilstande (omkring 50p hver), og jeg håbede, at en af dem ville have et hackbart printkort, som jeg bare kunne slippe ned i sagen og forbinde rullehjulet til volumenknappen og USB -kabel til Pi.

Det var dog ikke helt så let, da alle musene havde deres rullehjul fastgjort til 90 grader til hovedkortet, hvilket giver perfekt mening for en mus, men er ikke godt til at passe i et stramt tv -tilfælde! For at gøre tingene mere fleksible klippede jeg drejekontrollen af den ene mus og kørte den ind i kredsløbskortet på et sekund, og efterlod kabler imellem, så jeg kunne rette den i hvilken vinkel jeg ville. Selvom musene var fra forskellige producenter, fungerede dette fint!

Trin 5: Sov og vågner

Sover og vågner
Sover og vågner
Sover og vågner
Sover og vågner

Jeg vidste, at fjernsynet kom til at ligge på gangen på gangen, så jeg ville ikke have, at det skulle være tændt 24/7, men samtidig ville jeg gerne kunne se på det i forbifarten og ikke skulle tryk på en knap for at tænde skærmen. Jeg besluttede at bruge en PIR -sensor til at registrere bevægelse i nærheden, så skærmen ville forblive slukket (eller i det mindste på en tom pauseskærm), medmindre nogen var foran den.

Jeg havde ikke brugt en PIR -sensor med Pi før, så fulgte med den fremragende forældredetektor -tutorial og fik den kode, jeg havde brug for, til at fungere ret hurtigt, i det mindste i terminalen.

PIR -sensoren var ligetil at koble til Pi's GPIO (5v, GND og GPIO4), men tog nogle eksperimenter med de besværlige "trimpots" for at få forsinkelsen og følsomheden helt i orden.

Det næste trin var at få skærmen til at tænde, når der blev registreret bevægelse. Igen er der forskellige muligheder for dette, men jeg besluttede at gøre det, så bevægelse opdaget af PIR -sensoren bare ville slukke for pauseskærmen. Jeg havde antaget, at jeg ville kunne bruge xdotool igen til at sende et gammelt tastetryk, og det ville vække skærmen, men desværre virkede det ikke.

For at give mig mere kontrol over pauseskærmtypen og de muligheder, jeg installerede xscreensaver:

sudo apt-get install xscreensaver

Dette var perfekt, da jeg nu fuldt ud kunne kontrollere forsinkelsestiden for pauseskærmen via menuen Indstillinger - hvad der var endnu mere praktisk er, at xscreensaver har mange kommandolinjemuligheder, hvilket betyder, at jeg kunne bruge koden …

xscreensaver -command -deaktiver

… for at vække skærmen. Jeg tilføjede denne kommando til PIR -scriptet (også på GitHub), og når den fungerede blev tilføjet i …

@sudo python /home/pi/PIR.py

… til autostart -filen, lige under de tidligere poster for Chromium- og fanebryderkommandoer.

Så nu var det meste af Pi -arbejdet færdigt, og med PIR -sensor, trykknap, drejekontakt og slagtet USB -mus var alle tilsluttet, jeg flyttede til den vanskelige del - hvilket fik det til at fungere med en lille skærm og passe det hele i etuiet.

Trin 6: Skærmtid

Skærmtid
Skærmtid
Skærmtid
Skærmtid
Skærmtid
Skærmtid

Det ville altid være svært at finde en passende skærm til dette projekt, da "hullet" både var en akavet størrelse på 9-10 tommer og også i 4: 3-format.

Efter en periode med resultatløs forhandlingsjagt besluttede jeg mig for at købe nyt - hovedsageligt af den grund, at jeg ville have, at dette skulle være en praktisk tilføjelse til mit hjem, og derfor skulle have tillid til, at det blev tilsluttet det meste af tiden. Jeg begyndte endelig at søge efter 800x600 og 1024x768 LCD -paneler og skruede op for Pimoroni 8 skærmen. Dette var den ideelle mulighed, da jeg kunne lide forhandleren, skærmen blev godt gennemgået og den perfekte form - det eneste kompromis var, at den var lidt mindre end jeg ville have ønsket, men det påvirkede ikke den sidste konstruktion.

Skærmkittet kom med sit eget driverkort og menuknapper, og disse blev let forbundet til en lille test på arbejdsbordet. Jeg ville læse til min glæde, at skærmen kunne drives fra selve Pi, så tændte den og - ingenting! Jeg prøvede forskellige USB -porte til strømmen, derefter forskellige HDMI -kabler, men det ville bare ikke tænde. Efter megen hovedskrabning fandt jeg løsningen online - fordi den blev drevet af Pi's USB, viste den sig ikke som "Til stede" tidligt nok i opstartsprocessen til, at Pi kunne indse, at den var der. Alt jeg skulle gøre var at redigere filen

/boot/config.txt

og fjern kommentaren fra muligheden

hdmi_force_hotplug = 1

og hej Presto! Det virkede med det samme. Det undrer mig altid, hvor enkle nogle løsninger kan være. Jeg var overbevist om, at jeg havde stegt skærmen på en eller anden måde, men en lille tweak gjorde hele forskellen. Nu hvor det hele fungerede på bænken, havde jeg bare brug for at passe det ind i sagen og på en eller anden måde holde det til at fungere.

Selvom det var den ideelle størrelse, var der et par problemer - rammen på LCD -panelet var skinnende sølv, og der var også huller, der viste rundt på ydersiden, hvor det originale tv -rør var buet. Jeg tænkte først på at spraymale rammen sort, især da den stadig havde sin skærmbeskytter på plads, hvilket ville have været ideel maskering. Efter nogle overvejelser lykkedes det mig at slå to fluer i ét smæk og tilføjede strimler af tyk sort selvklæbende filt rundt om skærmkanterne, som dækkede sølvstrimlerne og overlappede nok til at fylde hullerne op.

Trin 7: Gennemsigtige skabeloner

Gennemsigtige skabeloner
Gennemsigtige skabeloner
Gennemsigtige skabeloner
Gennemsigtige skabeloner
Gennemsigtige skabeloner
Gennemsigtige skabeloner
Gennemsigtige skabeloner
Gennemsigtige skabeloner

Med skærmen fastgjort på plads var knapperne, Pi og kabler næste!

For at sikre skærmen ville jeg skære en sektion af gennemskinnelig plast ud af låget på en gammel opbevaringskasse ved hjælp af de originale tv-skruer og skruestænger til at fastgøre den på plads, så besluttede at gøre det samme for at holde knapperne. Skønheden ved at lave beslag med denne form for plastik er, at du kan placere den over sagen og se igennem den for at markere præcis, hvor skruehullerne skal være!

Jeg skar et lille stykke plast ud til at holde tv -betjeningerne og markerede og borede først hullerne for at fastgøre det til fjernsynets originale beslag. Derefter med den skruet til sagen, markerede jeg midten af knaphullerne udefra for at sikre, at de ville være justeret korrekt, når de stak gennem sagen. Dette forløb temmelig problemfrit for dreje- og skubkontakterne, jeg var bare nødt til at ty til den varme lim for at sætte "musehjulet" det helt rigtige sted.

Dernæst byggede jeg endnu et "dæk" til at sidde over kontakterne og holde Raspberry Pi ved hjælp af den samme metode som før og flere af de originale skruestænger. Dette fungerede godt, men desværre stak bagsiden af drejekontakten for højt, så jeg måtte lodde det igen efter at have bøjet terminalerne fladt med bunden. Til sidst limede jeg let PIR -sensoren på plads bag en udluftning, stadig usikker på, om den ville fungere uden at blive fuldt udsat.

Nu hvor alle delene var fikseret i deres "sidste" positioner, var jeg nødt til at tilføje kontrolknapperne. Drejekontakten var let, da de er en standardform, og den havde bare brug for en trimning, så den passer til urskiven. Til tænd/sluk -kontakten brugte jeg en del af den originale spindel fra fjernsynet og limede det til trykknappen. Musehjulet var lidt vanskeligere, igen brugte jeg en original spindel fra fjernsynet, der blev forbundet til musens hjulspindel med en plastik "manchet".

Trin 8: Flere knapper

Flere knapper
Flere knapper
Flere knapper
Flere knapper

Du skulle tro, det ville have været nok at rode med knapper, men der var mere til at komme! LCD -skærmen havde sit eget sæt med 5 mikrokontakter på et bord til styring af lysstyrke, farve osv., Så jeg ville have, at disse var tilgængelige uden at skulle tage fjernsynet af væggen.

Med lidt let hakning var der lige nok plads til at passe brættet til kanten af den "indre" kasse, alt hvad jeg derefter skulle gøre var at skære huller i den "ydre" kasse for at gøre mikrokontakterne tilgængelige. Jeg havde også brug for at finde en slags fysiske knapper til at stikke igennem sagen og stille op med mikrokontakterne. Tidligere har jeg brugt sølv "pen klikere" til dette, men havde ikke held med at finde billige denne gang. Til sidst klippede jeg benene af nogle gamle lysdioder og monterede dem i de huller, jeg havde boret i sagen - disse var perfekte, da LED'ens flammede bund forhindrede dem i at glide ud, og de var lige den rigtige form og størrelse. Uden mere boring tog jeg en dyb indånding og gik videre til det "store snit".

Trin 9: Hakning af sagen

Hakker sagen
Hakker sagen
Hakker sagen
Hakker sagen
Hakker sagen
Hakker sagen

Med alle tavler, skærm og kontakter installeret kunne jeg nu se præcis, hvor dybt fjernsynets ydre etui skulle være, eller rettere hvor tynd jeg kunne gøre det. Efterlod et par centimeter mellemrum mellem kredsløbskortene og hvad der ville være væggen, markerede jeg sagen og huggede den ned ved hjælp af et roterende værktøj. Dette var langt det mest nervepirrende øjeblik, da det var meget støjende og et slip kunne have ødelagt sagen. Det sidste snit var dog temmelig godt og havde bare brug for lidt slibning og trimning rundt om kanterne for at afslutte det, før det blev malet - tv'ets "bagside" var oprindeligt hvidt, men havde gulnet gennem årene.

Trin 10: Et hængende håndtag

Et hængende håndtag
Et hængende håndtag
Et hængende håndtag
Et hængende håndtag
Et hængende håndtag
Et hængende håndtag
Et hængende håndtag
Et hængende håndtag

Det næste problem var, hvordan man hænger fjernsynet op på væggen og sørger for, at det var plant og sikkert, men samtidig let at fjerne for vedligeholdelse. Jeg havde læst om at bruge "French cleats" eller "Z -brackets" til at hænge store billeder før, men havde aldrig prøvet dem, så bestilte nogle fra Amazon - de viste sig at være helt ideelle! Pakken kom endda med sit eget lille vaterpas.

Det var let at fastgøre vægbeslaget, jeg havde det skruet på værkstedsvæggen til test inden for få minutter, derefter skulle jeg finde ud af, hvordan det modsatte nummer skulle tilpasses fjernsynet. Den ydre sag ville blive skruet fast på den forreste del af fjernsynet fire steder, så den var temmelig robust, jeg besluttede, at dette ville være det bedste sted for beslaget. Vanskeligheden var at fastgøre beslaget på det rigtige sted, så det ikke forstyrrede brædderne eller ledningerne. Jeg ville heller ikke have bolte, der viste sig gennem toppen af sagen.

På et tidspunkt fandt min hjerne ud af, at jeg kunne genbruge fjernsynets originale håndtag, lave en funktion af det og også bruge det til at holde beslaget på det rigtige sted. Efter omhyggelig måling borede jeg nye huller til håndtaget, og monterede det derefter på z-beslaget ved hjælp af et par små retvinklede beslag og en afskæring af trægulve, alle boltet fast sammen.

Trin 11: Touch-ups og samling

Touch-ups og samling
Touch-ups og samling
Touch-ups og samling
Touch-ups og samling
Touch-ups og samling
Touch-ups og samling

Til den sidste hånd slibede jeg og spraymalede den ydre sag og håndtag, hvor sidstnævnte blev gjort i rødt for kontrast og som et nik til hindbæret indeni. Når malingen havde hærdet alle stykkerne samlet pænt, var knopperne og "Solid State" mærket skærmdæksel sidst til at blive skubbet på plads. Skærmdækslet var lidt røget, men efter en finjustering af lysstyrken og kontrasten (glad for at jeg inkluderede disse LCD -knapper) så displayet lige så lyst ud som før.

Trin 12: Valg af sted

Valg af sted
Valg af sted
Valg af sted
Valg af sted

Inden længe flyttede jeg z-beslaget fra værkstedsvæggen til dets "sidste" hjem på gangen og hængte fjernsynet og tilføjede en tynd plastrør til at rydde op i Pi's strømkabel. Nu da den blev installeret, kom den sjove del - at beslutte, hvilke websider der skulle vises!

Mens jeg undersøgte mulighederne for dashboardet, faldt jeg over Dakboard - et webbaseret dashboard, som du kan linke til din online kalender for at få vist aftaler, et nyhedsfeed og vejret. Jeg diskonterede det som for simpelt dengang, men dette var ideelt til en af mine sider. Min yndlings ting ved det er at kunne vise mit eget Google fotoalbum - især da det med glæde viser animerede GIF'er.

De næste par fanebeslutninger var temmelig forudsigelige, BBC News og BBC Weather, som begge var vigtige at kontrollere, inden de forlod huset.

Dernæst tilføjede jeg et link til live -feedet fra et af mine Pi Zero -kameraer - dette har allerede vist sig nyttigt for at holde øje med postbudet eller shoppe leverancer.

Endelig tilføjede jeg i vores Google Shopping List - vi har det for vane at bruge Google Pi Intercom til at tilføje varer til listen, så det er værd at tjekke, inden vi går ud.

Jeg samlede URL'erne fra den bærbare computer til et notesblokdokument og kopierede dette til Pi og tilføjede dem derefter til @Chromium -linjen i autostart -filen (se trin 2 ovenfor).

Trin 13: Endelige tanker

Endelige tanker
Endelige tanker
Endelige tanker
Endelige tanker
Endelige tanker
Endelige tanker

Jeg nød virkelig denne konstruktion, hvilket gør noget, jeg ved, jeg vil bruge dagligt, virkelig stopper mig fra at skære hjørner - selvom det tager meget længere tid. Min yndlings ting er den store urskive til skift af kanaler, det er virkelig tilfredsstillende at bruge den originale mekanisme.

Det, der gik meget bedre end forventet, var PIR -sensoren, som jeg var overbevist om ikke ville fungere gemt inde i et kabinetventil - jeg ville ikke rigtigt afsløre hele sensoren, så jeg er virkelig glad for, at det lykkedes. Det er temmelig følsomt, og vi nyder alle at prøve at krybe forbi det uden at skærmen tændes. Det viste sig dog virkelig udfordrende at fotografere, at røget skærmdæksel er så reflekterende!

Jeg elsker udseendet af det på gangen, og det fungerer, som jeg havde håbet - et par klik frem og tilbage og lidt af en rulle er normalt nok til at få mig ud af døren om morgenen med alle de oplysninger, jeg har brug for.

Hvis du kan lide dette projekt og vil se mere, kan du tjekke mit websted for igangværende projektopdateringer på bit.ly/OldTechNewSpec, deltage på Twitter @OldTechNewSpec eller abonnere på den voksende YouTube -kanal på bit.ly/oldtechtube - giv nogle af dine Old Tech en ny specifikation!

Anbefalede: