Innholdsfortegnelse:

1975 Hitachi Pi Info-TV: 13 trinn (med bilder)
1975 Hitachi Pi Info-TV: 13 trinn (med bilder)

Video: 1975 Hitachi Pi Info-TV: 13 trinn (med bilder)

Video: 1975 Hitachi Pi Info-TV: 13 trinn (med bilder)
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 en søt liten Hitachi I-89-311 bærbar TV som jeg har konvertert til en retro veggmontert informasjonsstasjon! Den viser nyttig innhold i en serie Chrome-faner i fullskjerm, og dreie innstillingshjulet mellom sidene, akkurat som du opprinnelig ville bytte TV-kanaler. Volumknappen styrer rulling, av / på-knappen oppdaterer siden, og den har en PIR-bevegelsessensor slik at skjermen slås av når du går bort.

Den bruker en Pimoroni 8 4: 3-skjerm og en Raspberry Pi 3 for å vise innholdet, og noen skreddersydde brytere lar alle de originale TV-kontrollene brukes.

Hvis du ikke kan se den innebygde videoen, er den på:

Trinn 1: Demontering og beslutninger

Demontering og vedtak
Demontering og vedtak
Demontering og vedtak
Demontering og vedtak
Demontering og vedtak
Demontering og vedtak

Denne TV -en kostet meg hele £ 5 på et salg om sommeren, og jeg gledet meg til å komme hjem og demontere den. Jeg hadde i tankene å bare ta det fra hverandre, hogge det ned, bytte ut skjermen med min gamle 10 nettbrett og henge den på veggen - et fint raskt prosjekt! Nedrivningen gikk absolutt bra, alt gikk veldig rent fra hverandre og takket være en nytt magnetisk deleskuff Jeg mistet ikke noen av skruene for en gangs skyld. Når jeg holdt nettbrettet opp mot avkledt etui, var det imidlertid åpenbart at det aldri ville passe, rammen rundt skjermen var altfor tykk til å passe i etuiet.

Jeg hadde tenkt meg å bare tilpasse en Android -startskjerm med widgets for å vise kommende kalenderavtaler, vær, nyheter og så videre, men med det ut av vinduet gikk jeg til Raspberry Pi -alternativer. Jeg begynte å se på programvare for å vise dashbord først, da dette syntes å være omtrent det jeg var ute etter. Jeg prøvde dashing.io etter anbefalinger, men fant det litt klumpete å sette opp og konfigurere. Mange av de andre alternativene var mer virksomhetsfokuserte, så det var mindre sannsynlig at det hadde funksjoner som å vise et live CCTV-webcam-feed. Etter en stund bestemte jeg meg ganske mye for å bygge min egen webside for å vise akkurat det innholdet jeg ønsket - men så slo ideen, hvorfor ikke ha flere nettsider og kunne bla mellom dem ved hjelp av TV -kontrollene? Dette ville bety færre kompromisser rundt det som ville passe på den lille skjermen, og ville gjøre det veldig enkelt å legge til eller fjerne elementer. Etter dette "Eureka" øyeblikket var alt jeg måtte gjøre å få det til å skje - og det var ikke for komplisert.

Trinn 2: Kromkode

Chromium Code
Chromium Code

For at websidene skulle fungere, var det første jeg måtte gjøre å finne ut hvordan jeg åpner Chromium -nettleseren i fullskjerm ved oppstart, med flere forhåndsdefinerte faner. Takket være fleksibiliteten til Pi og Chromium var dette faktisk ganske enkelt å oppnå, bare et tilfelle av redigering av autostart -filen:

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

… og legger til

@chromium-browser --noerrdialogs --start-fullscreen https:// url1 https:// url2 https:// url3

… til slutten av filen, og lagrer endringene.

Deretter måtte jeg finne en måte å bruke TV -knappene på en eller annen måte for å kontrollere nettleserfanene. Jeg planla å ha et separat trådløst tastatur og musekombinasjon i nærheten, så brukte ikke kioskmodus og var ikke interessert i musebevegelser eller klikk, men jeg ønsket å kunne gjøre den grunnleggende informasjonen om "Jeg er på jobb" -grab bare ved å bruke de originale TV -kontrollene. Jeg visste at jeg sannsynligvis ville koble bryterne til Pi's GPIO og kontrollere dem i Python, så så rundt etter en kode som ville etterligne tastetrykk, slik at jeg kunne utnytte et script for å sende disse via inngangen fra en fysisk bryter.

Etter litt tråling kom jeg over xdotool, som var perfekt for jobben, ettersom den lar deg simulere tastetrykk ved hjelp av kode som enkelt kan legges inn i Python. Først installerte jeg det …

sudo apt-get install xdotool

… så brukte terminalen en kommando for å bytte faner i Chrome, etterligne snarveien CTRL-TAB:

xdotool søk -bare synlig -klassen "krom" vindusfokus && xdotool tast ctrl+Tab

Jeg gjorde det samme for å lage et stykke kode for å utføre "Refresh" -handlingen, etterligne et F5 -tastetrykk:

xdotool søk -bare synlig -klassen "krom" vindusfokus && xdotool nøkkel F5

Nå som jeg hadde de grunnleggende kodene som fungerte, var den neste jobben å sortere de fysiske knappene, koble dem til GPIO og lage et Python -skript for å få dem til å kontrollere nettleseren.

Trinn 3: TV -kontroller

TV -kontroller
TV -kontroller
TV -kontroller
TV -kontroller
TV -kontroller
TV -kontroller

Stjernen i showet var knappemessig den flotte store tuningskiven, så jeg jobbet med det først. Jeg trengte dreiehjulet på hjulet for å oversette til GPIO-tastede tastetrykk for å utløse nettleserfanebryteren, slik at ved å snu den ville endre "kanal". Praktisk hadde jeg gjort noe lignende før, for mitt Neon Infinity Television -prosjekt, så jeg bestemte meg for å bruke den samme metoden.

Til å begynne med tok jeg en 12-polet enkeltkast-bryter og loddet alternative terminaler til hverandre, slik at 6 av dem var koblet til en enkelt ledning. Den andre ledningen ble koblet til bryterens node, slik at hvert roterende klikk ville flytte den mellom en åpen og lukket tilstand. Dette betydde at hver kanalendring ville ta 2 "klikk", en for å klikke på knappen "lukket" og en for å åpne den igjen.

Etter å ha testet den med et multimeter gikk jeg videre til neste knapp (På/Av)-jeg ville bare at denne skulle "oppdatere" siden, så jeg brukte en standard trykk-og-gjør-bryter.

MED begge disse ferdige loddet jeg dem til en liten bit av protoboard ved siden av en jumper header, slik at ledningene skulle bli lettere. Deretter koblet jeg dem til Pi (GPIO6, GPIO26 og 3v) og satte sammen et Python -skript for å oversette deres fysiske bevegelser til tastetrykk for å kontrollere nettleservinduet. Skriptet jeg brukte er ganske enkelt og er tilgjengelig på GitHub. Når det fungerte fullt, satte jeg det til autostart ved å legge til linjen …

@sudo python /home/pi/tabswitch.py

… til autostart-filen, like under der jeg hadde lagt til @chromium-browser-kommandoen tidligere.

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

Trinn 4: Rull rundt

Rull rundt
Rull rundt

Jeg ville virkelig at den tredje knappen (volum) skulle bla opp og ned på nettlesersiden for å skanne overskrifter og værutsikter - det var et flott konsept, men vanskelig å oppnå! Jeg utforsket forskjellige alternativer, men kom tilbake til en av mine favoritter - billige USB -mus. En tur til bilstøtten ga fire gamle girkasser i forskjellige stater (rundt 50p hver), og jeg håpet at en av dem ville ha et kretskort som kan hackes og som jeg bare kunne slippe inn i etuiet og koble rullehjulet til volumknappen og USB -kabel til Pi.

Det var imidlertid ikke så lett, ettersom alle musene hadde rullehjulet sitt fast på 90 grader til hovedkortet, noe som gir god mening for en mus, men er ikke bra for å passe i et stramt TV -etui! For å gjøre ting mer fleksibelt, klippet jeg av dreiekontrollen av den ene musen og koblet den inn i kretskortet på et sekund, og la kabler være i mellom slik at jeg kunne fikse den i hvilken vinkel jeg ville. Selv om musene var fra forskjellige produsenter, fungerte dette bra!

Trinn 5: Sove og våkne

Sover og våkner
Sover og våkner
Sover og våkner
Sover og våkner

Jeg visste at TV -en kom til å ligge på veggen i gangen, så jeg ville ikke at den skulle slås på 24/7, men samtidig ønsket jeg å kunne se på den i forbifarten og ikke måtte Trykk på en knapp for å slå på skjermen. Jeg bestemte meg for å bruke en PIR -sensor til å oppdage bevegelser i nærheten, slik at skjermen ville forbli av (eller i det minste på en tom skjermsparer) med mindre noen var foran den.

Jeg hadde ikke brukt en PIR -sensor med Pi før, så fulgte med den utmerkede opplæringen for foreldredetektorer og fikk koden jeg trengte til å fungere ganske raskt, i det minste i terminalen.

PIR -sensoren var enkel å koble til Pi's GPIO (5v, GND og GPIO4), men tok noen eksperimenter med de vanskelige "trimpotene" for å få forsinkelsen og følsomheten akkurat.

Det neste trinnet var å få skjermen til å starte når bevegelse ble oppdaget. Igjen er det forskjellige alternativer for dette, men jeg bestemte meg for å gjøre det slik at bevegelse oppdaget av PIR -sensoren bare ville slå av skjermspareren. Jeg hadde antatt at jeg kunne bruke xdotool igjen til å sende et gammelt tastetrykk, og det ville vekke skjermen, men dessverre fungerte det ikke.

For å gi meg mer kontroll over skjermsparerstypen og alternativer jeg installerte xscreensaver:

sudo apt-get install xscreensaver

Dette var perfekt, ettersom jeg nå kunne kontrollere forsinkelsestiden for skjermspareren fullt ut via Innstillinger -menyen - det som var enda mer praktisk er at xscreensaver har mange kommandolinjealternativer, noe som betyr at jeg kunne bruke koden …

xscreensaver -command -deactivate

… for å vekke skjermen. Jeg la denne kommandoen til PIR -skriptet (også på GitHub), og når den fungerte ble den lagt til i …

@sudo python /home/pi/PIR.py

… til autostart -filen, like under de tidligere oppføringene for Chromium- og fanebryterkommandoene.

Så nå var det meste av Pi -arbeidet fullført, og med PIR -sensor, trykknapp, dreibryter og slaktet USB -mus som var tilkoblet, flyttet jeg til den vanskelige delen - noe som gjorde at den fungerte med en liten skjerm og passer alt i etuiet.

Trinn 6: Skjermtid

Skjermtid
Skjermtid
Skjermtid
Skjermtid
Skjermtid
Skjermtid

Å finne en passende skjerm for dette prosjektet skulle alltid være vanskelig, ettersom "hullet" både var en vanskelig størrelse på 9-10 tommer og også i 4: 3-format.

Etter en periode med fruktløs forhandlingsjakt bestemte jeg meg for å kjøpe nytt - hovedsakelig av den grunn at jeg ønsket at dette skulle være et praktisk tillegg til hjemmet mitt, og derfor måtte jeg ha tillit til at det ble plugget inn mesteparten av tiden. Jeg begynte endelig å lete etter 800x600 og 1024x768 LCD -paneler, og skrudde opp Pimoroni 8 -skjermen. Dette var det ideelle alternativet da jeg likte forhandleren, skjermen ble godt vurdert og den perfekte formen - det eneste kompromisset var at den var litt mindre enn jeg hadde likt, men det påvirket ikke det siste bygget.

Skjermpakken kom med et eget førerkort og menyknapper, og disse ble enkelt koblet til for en liten test på arbeidsbenken. Jeg hadde lest til min glede at skjermen kunne drives fra Pi selv, så den ble slått på og ingenting! Jeg prøvde forskjellige USB -porter for strøm, deretter forskjellige HDMI -kabler, men det ville bare ikke komme på. Etter mye hodeskraping fant jeg løsningen på nettet - fordi den ble drevet av Pi -USB -en, ble den ikke vist som "Present" tidlig nok i oppstartsprosessen til at Pi kunne innse at den var der. Alt jeg måtte gjøre var å redigere filen

/boot/config.txt

og ikke kommenter alternativet

hdmi_force_hotplug = 1

og Hei Presto! Det fungerte med en gang. Det overrasker meg alltid hvor enkle noen løsninger kan være. Jeg var overbevist om at jeg hadde stekt skjermen på en eller annen måte, men en liten tweak gjorde hele forskjellen. Nå som det hele fungerte på benken, trengte jeg bare å passe det inn i saken og på en eller annen måte fortsette å fungere.

Selv om det var den ideelle størrelsen, var det et par problemer - rammen på LCD -panelet var skinnende sølv, og det var også hull som viste rundt utsiden hvor det originale TV -røret var buet. Jeg tenkte først på å male rammen svart, spesielt siden den fortsatt hadde skjermbeskytteren på plass, noe som ville vært en ideell maskering. Etter noen tanker klarte jeg å drepe to fugler i en smekk, og la strimler med tykk, svart selvklebende filt rundt skjermkanten, som dekket sølvstrimlene og overlappet nok til å fylle hullene.

Trinn 7: Gjennomsiktige maler

Gjennomsiktige maler
Gjennomsiktige maler
Gjennomsiktige maler
Gjennomsiktige maler
Gjennomsiktige maler
Gjennomsiktige maler
Gjennomsiktige maler
Gjennomsiktige maler

Med skjermen festet på plass var knappene, Pi og kabler neste!

For å sikre skjermen ville jeg kutte ut en del av gjennomsiktig plast fra lokket på en gammel oppbevaringsboks, ved hjelp av de originale TV-skruene og skruestolper for å fikse den godt på plass, så jeg bestemte meg for å gjøre det samme for å holde knappene. Det fine med å lage braketter med denne typen plast er at du kan plassere den over saken og se gjennom den for å markere nøyaktig hvor skruehullene må være!

Jeg kuttet ut en liten del av plasten for å holde TV -kontrollene og merket og boret først hullene for å feste den til TVens originale fester. Deretter merket jeg midten av knapphullene fra utsiden for å sikre at de ville være riktig justert når de stakk gjennom saken. Dette gikk ganske greit for rotasjons- og trykkbryterne, jeg måtte bare ty til det varme limet for å sette "musehjulet" på akkurat det rette stedet.

Deretter bygde jeg et nytt "dekk" for å sitte over bryterne og holde Raspberry Pi, ved å bruke samme metode som før og flere av de originale skruestolpene. Dette fungerte bra, men dessverre stakk baksiden av dreiebryteren for høyt, så jeg måtte lodde det på nytt etter å ha bøyd terminalene flatt med basen. Til slutt limte jeg lett PIR -sensoren på plass bak en ventil, men er fortsatt usikker på om den ville fungere uten å bli helt eksponert.

Nå som alle delene var fikset i sine "siste" posisjoner måtte jeg legge til i kontrollknappene. Dreiebryteren var enkel, ettersom de er en standardform, og den trengte bare en trim for å passe skiven. Til av/på -bryteren brukte jeg en del av den originale spindelen fra TV -en og limte den til trykkbryteren. Musehjulet var litt vanskeligere, igjen brukte jeg en original spindel fra TV -en, festet til musens hjulspindel med en "mansjett" av plast.

Trinn 8: Flere knapper

Flere knapper
Flere knapper
Flere knapper
Flere knapper

Du skulle tro det ville vært ganske nok å rote med knapper, men det var mer som kom! LCD -skjermen hadde sitt eget sett med 5 mikrobrytere på et brett for å kontrollere lysstyrke, farge osv., Så jeg ville at disse skulle være tilgjengelige uten å måtte ta TV -en av veggen.

Med litt lett hakking var det akkurat nok plass til å passe brettet til kanten av det "indre" etuiet, alt jeg måtte gjøre da var å kutte hull i det "ytre" etuiet for å gjøre mikrobryterne tilgjengelige. Jeg trengte også å finne en slags fysiske knapper for å stikke gjennom saken og stille opp med mikrobryterne. Tidligere har jeg brukt "penneklikker" i sølv til dette, men hadde ikke lykke til å finne billige denne gangen. Til slutt klippet jeg av beina på noen gamle lysdioder og monterte dem i hullene jeg hadde boret i etuiet - disse var perfekte da LED -flammene gjorde at de ikke gled ut, og de hadde akkurat den riktige formen og størrelsen. Uten mer boring tok jeg et dypt pust og gikk videre til det "store snittet".

Trinn 9: Hakke saken

Hakker saken
Hakker saken
Hakker saken
Hakker saken
Hakker saken
Hakker saken

Med alle brettene, skjermen og bryterne installert, kunne jeg nå se nøyaktig hvor dypt TVens ytre etui måtte være, eller rettere sagt hvor tynn jeg kunne gjøre det. Da jeg etterlot et par centimeter mellomrom mellom kretskortene og veggen, markerte jeg saken og hugget den ned ved hjelp av et roterende verktøy. Dette var det desidert mest nervepirrende øyeblikket da det var veldig bråkete og ett sklipp kunne ha ødelagt saken. Det siste snittet var ganske bra, og trengte bare litt sliping og trimming rundt kantene for å fullføre det før du maler - TV -en "tilbake" var opprinnelig hvit, men hadde gulnet med årene.

Trinn 10: Et hengende håndtak

Et hengende håndtak
Et hengende håndtak
Et hengende håndtak
Et hengende håndtak
Et hengende håndtak
Et hengende håndtak
Et hengende håndtak
Et hengende håndtak

Det neste problemet var hvordan du henger TV -en på veggen og sørger for at den er jevn og sikker, men samtidig enkel å fjerne for vedlikehold. Jeg hadde lest om å bruke "franske klamper" eller "Z -braketter" for å henge store bilder før, men hadde aldri prøvd dem, så bestilte noen fra Amazon - de viste seg å være helt ideelle! Pakken kom til og med med sitt eget lille vannpass.

Det var enkelt å fikse veggbraketten, jeg skrudde den til verkstedveggen for testing i løpet av minutter. Deretter måtte jeg finne ut hvordan jeg skulle passe det motsatte nummeret til TV -en. Ytterhuset ville være skrudd fast på den fremre delen av TV -en på fire steder, så det var ganske solid, jeg bestemte meg for at dette ville være det beste stedet for braketten. Vanskeligheten var å fikse braketten på riktig sted, slik at den ikke forstyrrer brettene eller ledningene. Jeg ville heller ikke ha bolter som viste seg gjennom toppen av saken.

På et tidspunkt fant hjernen min ut at jeg kunne bruke TV-ens originale håndtak på nytt, lage en funksjon av det og også bruke det til å holde braketten på akkurat det rette stedet. Etter nøye måling boret jeg nye hull for håndtaket, og monterte det deretter på z-braketten ved hjelp av et par små rettvinklede braketter og en avskjæring av tregulv, alle boltet godt sammen.

Trinn 11: Touch-ups og montering

Touch-ups og montering
Touch-ups og montering
Touch-ups og montering
Touch-ups og montering
Touch-ups og montering
Touch-ups og montering

For den siste finpussingen slipte og spraymalte jeg ytterkassen og håndtaket, og gjorde det siste med rødt for kontrast og som et nikk til bringebæret inni. Når malingen hadde herdet alle brikkene godt montert, ble knottene og "Solid State" merket skjermdeksel sist på plass. Skjermdekselet var litt røkt, men etter en finjustering av lysstyrken og kontrasten (glad jeg inkluderte disse LCD -knappene) så skjermen like lys ut som før.

Trinn 12: Valg av nettsted

Valg av nettsted
Valg av nettsted
Valg av nettsted
Valg av nettsted

Om ikke lenge flyttet jeg z-braketten fra verkstedveggen til det "siste" hjemmet på gangen og hengte TV-en og la til en tynn plastrør for å rydde opp i Pi-strømkabelen. Nå som den ble installert, kom den morsomme delen - å bestemme hvilke nettsider som skal vises!

Mens jeg undersøkte alternativer på dashbordet, snublet jeg over Dakboard - et nettbasert dashbord som du kan koble til din online kalender for å vise avtaler, nyhetsfeeder og været. Jeg diskonterte det som for enkelt den gangen, men dette var ideelt for en av sidene mine. Min favoritt ting om det er å kunne vise mitt eget Google fotoalbum - spesielt ettersom det gjerne viser animerte-g.webp

De neste par fanebeslutningene var ganske forutsigbare, BBC News og BBC Weather, begge viktige å sjekke før de forlater huset.

Deretter la jeg til en lenke til live -feedet fra et av mine Pi Zero -kameraer - dette har allerede vist seg nyttig for å holde utkikk etter postbudet eller handle leveranser.

Til slutt la jeg til i Google Handleliste - vi har en vane med å bruke Google Pi -intercom for å legge til varer på listen, så det er vel verdt en sjekk før du drar ut.

Jeg samlet URL -ene fra den bærbare datamaskinen til et notisblokk -dokument og kopierte dette til Pi, og la dem deretter til @Chromium -linjen i autostart -filen (se trinn 2 ovenfor).

Trinn 13: Avsluttende tanker

Siste tanker
Siste tanker
Siste tanker
Siste tanker
Siste tanker
Siste tanker

Jeg likte denne bygningen veldig godt, noe som jeg vet jeg kommer til å bruke daglig, virkelig stopper meg fra å kutte hjørner - selv om det tar mye lengre tid. Min favoritt ting er den store skiven for å bytte kanal, det er virkelig tilfredsstillende å bruke den originale mekanismen.

Det som gikk mye bedre enn forventet var PIR -sensoren, som jeg var overbevist om ikke ville fungere gjemt inne i en ventilhylse - jeg ville egentlig ikke avsløre hele sensoren, så jeg er veldig glad for at dette fungerte. Det er ganske følsomt, og vi liker alle å prøve å krype forbi det uten at skjermen slås på. Det viste seg å være veldig utfordrende å fotografere, men det røykte skjermdekslet er så reflekterende!

Jeg elsker utseendet på det på gangen, og det fungerer akkurat som jeg hadde håpet - et par klikk frem og tilbake og litt av en rulle er vanligvis nok til å få meg ut av døren om morgenen med all informasjonen jeg trenger.

Hvis du liker dette prosjektet og vil se mer, kan du sjekke nettstedet mitt for pågående prosjektoppdateringer på bit.ly/OldTechNewSpec, bli med på Twitter @OldTechNewSpec eller abonnere på den voksende YouTube -kanalen på bit.ly/oldtechtube - gi noen av Old Tech en ny spesifikasjon!

Anbefalt: