Kazalo:

1975 Info-TV Hitachi Pi: 13 korakov (s slikami)
1975 Info-TV Hitachi Pi: 13 korakov (s slikami)

Video: 1975 Info-TV Hitachi Pi: 13 korakov (s slikami)

Video: 1975 Info-TV Hitachi Pi: 13 korakov (s slikami)
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

To je sladek mali prenosni televizor Hitachi I-89-311, ki sem ga spremenil v retro stensko informacijsko postajo! Prikazuje uporabno vsebino v vrsti celozaslonskih zavihkov Chrome in obračanje gumba za nastavitev preklaplja med stranmi, tako kot ste prvotno spremenili televizijske kanale. Gumb za glasnost nadzoruje drsenje, gumb za vklop / izklop osveži stran in ima senzor gibanja PIR, tako da se zaslon izklopi, ko odidete.

Za prikaz vsebine uporablja zaslon Pimoroni 8 4: 3 in Raspberry Pi 3, nekatera stikala po meri pa omogočajo uporabo vseh izvirnih kontrolnikov televizorja.

Če vdelanega videoposnetka ne vidite, je na:

1. korak: Odstranitev in odločitve

Odstranitev in odločitve
Odstranitev in odločitve
Odstranitev in odločitve
Odstranitev in odločitve
Odstranitev in odločitve
Odstranitev in odločitve

Ta televizor me je pri prodaji poleti stal za 5 funtov in komaj sem čakal, da pridem domov in ga razstavim. V mislih sem imel, da ga preprosto razstavim, sesekljam, zamenjam zaslon s starim 10 -palčnim tabličnim računalnikom in ga obesim na steno - lep hiter projekt! Odtrganje je vsekakor potekalo dobro, vse je zelo čisto in zahvaljujoč nov pladenj z magnetnimi deli Nisem niti enkrat izgubil nobenega vijaka. Ko sem tablico držal do slečenega ohišja, je bilo očitno, da se nikoli ne bo prilegalo, okvir okoli zaslona je bil preveč debel, da bi se prilegal ohišju.

Zamislila sem si, da samo prilagodim začetni zaslon Android s pripomočki za prikaz prihajajočih sestankov v koledarju, vreme, novice itd., Toda s tem sem se skozi okno obrnila na možnosti Raspberry Pi. Najprej sem začel iskati programsko opremo za prikaz nadzornih plošč, saj se mi je zdelo, da je to približno tisto, kar sem želel. Poskusil sem dashing.io po priporočilih, vendar se mi je zdelo nekoliko nerodno nastaviti in konfigurirati. Mnoge druge možnosti so bile bolj osredotočene na poslovanje, zato je manj verjetno, da bodo imele funkcije, kot je prikazovanje vira spletne kamere CCTV v živo. Čez nekaj časa sem se precej odločil, da bom zgradil svojo spletno stran, na kateri bodo prikazane samo želene vsebine - potem pa se je porodila ideja, zakaj ne bi imeli več spletnih strani in bi se med njimi lahko pomikali s kontrolniki televizorja? To bi pomenilo manj kompromisov glede tega, kaj bi ustrezalo majhnemu zaslonu, in bi olajšalo dodajanje ali odstranjevanje elementov. Po tem trenutku "Eureka" mi je preostalo le to, da se je to zgodilo - in ne bo preveč zapleteno.

2. korak: Koda Chromium

Koda Chromium
Koda Chromium

Da bi ideja o spletnih straneh delovala, sem najprej morala ugotoviti, kako ob zagonu odpreti celozaslonski brskalnik Chromium z več vnaprej določenimi zavihki. Zaradi prilagodljivosti Pi in Chromium je bilo to dejansko precej enostavno doseči, le primer urejanja datoteke za samodejni zagon:

sudo nano.config/lxsession/LXDE-pi/samodejni zagon

… In dodajanje

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

… do konca datoteke in shranite spremembe.

Nato sem moral najti način, kako nekako uporabiti gumbe televizorja za nadzor zavihkov brskalnika. Načrtoval sem, da bom imel v bližini ločeno kombinacijo brezžične tipkovnice in miške, zato nisem uporabljal načina kioska in me ni zanimalo premikanje miške ali klikanje, vendar sem želel narediti osnovne informacije o "grem na delo" -zagrabite samo z izvirnimi upravljalniki televizorja. Vedel sem, da bom stikala verjetno povezal s Pi -jevim GPIO -jem in jih nadzoroval v Pythonu, zato sem poiskal okoli sebe za kodo, ki bi posnemala pritiske tipk, da bi lahko uporabil skript za pošiljanje preko vhoda s fizičnega stikala.

Po nekaj vlečenja sem naletel na xdotool, ki je bil kot nalašč za delo, saj omogoča simulacijo pritiskov tipk s kodo, ki jo je mogoče enostavno vstaviti v Python. Najprej sem ga namestil…

sudo apt-get install xdotool

… nato s terminalom, ki je bil ukazan za preklop zavihkov v Chromu, posnema bližnjico na tipkovnici CTRL-TAB:

xdotool search --onlyvisible --class "chromium" windowfocus && xdotool key ctrl+Tab

Nato sem naredil isto stvar, da sem ustvaril kodo za izvedbo dejanja "Osveži", ki posnema pritisk tipke F5:

xdotool search --onlyvisible --class "chromium" windowfocus && xdotool key F5

Zdaj, ko sem imel osnovne koščke kode, je bilo naslednje delo razvrstiti fizične gumbe, jih povezati z GPIO in ustvariti skript Python, s katerim bodo lahko upravljali brskalnik.

3. korak: Upravljanje televizorja

Upravljanje televizorja
Upravljanje televizorja
Upravljanje televizorja
Upravljanje televizorja
Upravljanje televizorja
Upravljanje televizorja

Zvezda razstave po gumbih je bil čudovit velik gumb za uglaševanje, zato sem najprej delal na tem. Potreboval sem rotacijsko dejanje številčnice, da bi prevedel v pritisk tipk GPIO, da bi sprožil preklop zavihka brskalnika, tako da bi z obračanjem spremenil "kanal". Priročno sem že prej naredil nekaj podobnega za svoj projekt Neon Infinity Television, zato sem se odločil uporabiti isto metodo.

Za začetek sem vzel 12-polno enosmerno rotacijsko stikalo in medsebojno spajkal nadomestne sponke, tako da jih je bilo 6 povezanih v eno žico. Druga žica je bila povezana z vozliščem stikala, tako da bi se z vsakim rotacijskim klikom premikal med odprto in zaprto stanje. To je pomenilo, da bi vsaka sprememba kanala zahtevala 2 "klika", enega za stikalo "zaprto" in enega za ponovno odpiranje.

Ko sem ga preizkusil z multimetrom, sem prešel na naslednji gumb (Vklop/Izklop)-želel sem le, da je to stran »osvežil«, zato sem uporabil standardno stikalo »push-to-make«.

Ko sta oba končana, sem jih spajkala na majhen del plošče skupaj z mostičkom, tako da bi bilo ožičenje lažje. Nato sem jih povezal s Pi (GPIO6, GPIO26 in 3v) in sestavil skript Python, ki je njihove fizične gibe prevedel v pritiske tipk za nadzor okna brskalnika. Skript, ki sem ga uporabil, je dokaj preprost in je na voljo na GitHubu. Ko je popolnoma deloval, sem ga nastavil na samodejni zagon in dodal v vrstico …

@sudo python /home/pi/tabswitch.py

… V datoteko za samodejni zagon, tik pod tja, kjer sem prej dodal ukaz brskalnika @chromium.

Torej sta bila dva gumba dol, eden za začetek!

4. korak: Pomikajte se

Pomikanje okoli
Pomikanje okoli

Resnično sem si želel, da bi tretji gumb (glasnost) pomaknil stran brskalnika navzgor in navzdol za pregledovanje naslovov in vremenskih napovedi - to je bil odličen koncept, vendar težko dosegljiv! Raziskal sem različne možnosti, vendar sem se vrnil k eni mojih najljubših - poceni USB miškam. Izlet v prtljažnik avtomobila je prinesel štiri stare piskače v različnih stanjih (po približno 50p) in upala sem, da bo eden od njih imel vezje, ki ga je mogoče vdreti, da ga lahko spustim v ohišje in povežem drsno kolesce z gumbom za glasnost in USB kabel za Pi.

Ni pa bilo tako enostavno, saj so bile vse miške kolesce za pomikanje pritrjeno na 90 stopinj na glavno vezje, kar je za miško povsem smiselno, vendar ni dobro za namestitev v tesno ohišje televizorja! Da bi bile stvari bolj prilagodljive, sem z ene miške odrezal vrtljivo krmilno enoto in jo za sekundo povezal z vezjem, vmes pa pustil kable, da sem jo lahko popravil pod katerim koli kotom. Čeprav so miši različnih proizvajalcev, je to delovalo dobro!

5. korak: Spanje in prebujanje

Spanje in prebujanje
Spanje in prebujanje
Spanje in prebujanje
Spanje in prebujanje

Vedel sem, da bo televizor na steni hodnika, zato nisem želel, da bi bil vklopljen 24 ur na dan, hkrati pa sem si želel, da bi ga lahko pogledal mimogrede in da mi ni treba pritisnite gumb za vklop zaslona. Odločil sem se, da bom za zaznavanje gibanja v bližini uporabil senzor PIR, zato bo zaslon ostal izklopljen (ali vsaj na praznem ohranjevalniku zaslona), razen če je pred njim nekdo.

Senzorja PIR prej nisem uporabljal s Pi, zato sem sledil odlični vadnici za detektor staršev in dobil kodo, ki sem jo potreboval, da je delovala precej hitro, vsaj v terminalu.

Tipalo PIR je bilo enostavno povezati s Pi -jevim GPIO (5v, GND in GPIO4), vendar je trajalo nekaj eksperimentiranja s pridnimi "trimpoti", da bi dobili zamudo in občutljivost ravno prav.

Naslednji korak je bil vklop zaslona, ko je bilo zaznano gibanje. Spet obstajajo različne možnosti za to, vendar sem se odločil, da bo gibanje, ki ga zazna senzor PIR, samo izklopilo ohranjevalnik zaslona. Predvideval sem, da bom lahko znova uporabil xdotool za pošiljanje kakršnega koli starega pritiska na tipko, ki bo prebudil zaslon, vendar to žal ni delovalo.

Za večji nadzor nad vrsto ohranjevalnika zaslona in možnostmi sem namestil xscreensaver:

sudo apt-get install xscreensaver

To je bilo popolno, saj sem zdaj lahko v celoti nadziral čas zakasnitve ohranjevalnika zaslona prek menija Nastavitve - še bolj priročno je, da ima xscreensaver veliko možnosti ukazne vrstice, kar pomeni, da bi lahko uporabil kodo …

xscreensaver -command -deactivate

… Za prebujanje zaslona. Ta ukaz sem dodal skriptu PIR (tudi na GitHubu) in ko je deloval, sem ga dodal v …

@sudo python /home/pi/PIR.py

… V datoteko za samodejni zagon, tik pod prejšnjimi vnosi za ukaze Chromium in tabswitch.

Tako je bilo zdaj večina dela s Pi končano in s priključenim senzorjem PIR, gumbom, vrtljivim stikalom in izrezano USB miško sem se pomaknil na težaven del - deloval je z majhnim zaslonom in vse skupaj namestil v ohišje.

6. korak: čas zaslona

Čas zaslona
Čas zaslona
Čas zaslona
Čas zaslona
Čas zaslona
Čas zaslona

Iskanje primernega zaslona za ta projekt je bilo vedno težavno, saj je bila "luknja" nerodne velikosti pri 9-10 palcev in tudi v formatu 4: 3.

Po uro brezplodnega lova na kupčije sem se odločil za nakup novega - predvsem zato, ker sem hotel, da bi bil to praktičen dodatek k mojemu domu, zato sem moral večino časa zaupati, da je vključen. Končno sem začel iskati LCD -plošče 800x600 in 1024x768 in privil zaslon Pimoroni 8 . To je bila idealna možnost, saj mi je bil trgovec všeč, zaslon je bil dobro pregledan in popolne oblike - edini kompromis je bil, da je bil nekoliko manjši kot bi si želel, vendar to ni vplivalo na končno postavitev.

Zaslonski komplet je imel lastno vozniško ploščo in menijske gumbe, ki so jih enostavno povezali za malce preizkusa na delovni mizi. Z veseljem sem prebral, da se zaslon lahko napaja iz samega Pi, zato ga vklopi in - nič! Za napajanje sem poskusil z različnimi vrati USB, nato z različnimi kabli HDMI, vendar se ni prižgal. Po dolgem praskanju po glavi sem rešitev našel na spletu - ker se je napajal s Pi -jevim USB -jem, se v zagonskem procesu ni dovolj zgodaj prikazal kot "Present", da bi Pi spoznal, da je tam. Moral sem le urediti datoteko

/boot/config.txt

in komentirajte možnost

hdmi_force_hotplug = 1

in Hej Presto! Takoj je delovalo. Vedno me preseneti, kako preproste so lahko nekatere rešitve. Prepričan sem bil, da sem nekako ocvrl zaslon, a ena drobna poteza je naredila razliko. Sedaj, ko je vse skupaj delovalo na klopi, sem jo le moral namestiti v ohišje in nekako delovati.

Čeprav je bila to idealna velikost, je bilo nekaj težav - okvir LCD -zaslona je bil sijoče srebrn, poleg tega pa so bile zunaj vidne vrzeli, kjer je bila prvotna TV -cev ukrivljena. Najprej sem pomislil, da bi okvir obarval s črno, še posebej, ker je še vedno nameščen ščitnik za zaslon, kar bi bilo idealno maskiranje. Po premisleku mi je uspelo z enim kamnom ubiti dve ptici in po robovih zaslona dodal trakove debele črne samolepilne klobučevine, ki je prekrila srebrne trakove in se dovolj prekrila, da je zapolnila vrzeli.

7. korak: Prosojne predloge

Prosojne predloge
Prosojne predloge
Prosojne predloge
Prosojne predloge
Prosojne predloge
Prosojne predloge
Prosojne predloge
Prosojne predloge

S pritrjenim zaslonom so bili naslednji gumbi, Pi in kabli!

Za pritrditev zaslona sem izrezal del prosojne plastike s pokrova starega zaboja za shranjevanje z uporabo originalnih TV vijakov in stebrov, da sem ga trdno pritrdil, zato sem se odločil, da naredim enako, da držim gumbe. Lepota izdelave nosilcev iz te vrste plastike je v tem, da jo lahko postavite na ohišje in skozi njo natančno označite, kje morajo biti luknje za vijake!

Izrezal sem majhen del plastike za držanje kontrolnikov televizorja in najprej označil in izvrtal luknje za pritrditev na prvotne pritrditve televizorja. Nato sem z vijakom pritrjen na ohišje in označil sredino odprtin za gumbe od zunaj, da se prepričam, da bodo pravilno poravnani, ko pobrskamo po ohišju. Za vrtljiva in potisna stikala je to potekalo precej gladko, le zateči sem se morala k vročemu lepilu, da sem »miško kolo« postavila na pravo mesto.

Nato sem zgradil še en "krov", ki bi sedel nad stikali in držal Raspberry Pi po enaki metodi kot prej in še več prvotnih vijakov. To je dobro delovalo, žal pa se je zadnji del vrtljivega stikala zataknil previsoko, zato sem ga moral po spajanju sponk s podlago ponovno spajkati. Nazadnje sem rahlo prilepil senzor PIR na mesto za odzračevalnik, še vedno nisem prepričan, ali bo deloval, ne da bi bil popolnoma izpostavljen.

Zdaj, ko so bili vsi deli pritrjeni na "končni" položaj, sem moral dodati kontrolne gumbe. Vrtljivo stikalo je bilo preprosto, saj so standardne oblike in potrebovali so le obrobo, da se prilega številčnici. Za stikalo za vklop/izklop sem uporabil del originalnega vretena s televizorja in ga lepil na potisno stikalo. Kolo miške je bilo nekoliko bolj zapleteno, spet sem uporabil originalno vreteno s televizorja, ki je bilo pritrjeno na vreteno kolesca miške s plastično "manšeto".

8. korak: Več gumbov

Več gumbov
Več gumbov
Več gumbov
Več gumbov

Mislili bi, da bi bilo dovolj, da bi se motili z gumbi, vendar nas čaka še več! LCD zaslon je imel na plošči svoj niz 5 mikro stikal za nadzor svetlosti, barve itd., Zato sem želel, da so ti dostopni, ne da bi morali televizor sneti s stene.

Z rahlim sekanjem je bilo ravno dovolj prostora, da se deska prilega robu "notranjega" ohišja, potem sem moral le še izrezati luknje v "zunanjem" ohišju, da so mikro stikala dostopna. Moral sem najti tudi nekakšne fizične gumbe, da bi pobrskal po ohišju in se poravnal z mikro stikali. V preteklosti sem za to uporabljal srebrne "klikerje", vendar tokrat nisem imel sreče pri iskanju poceni. Na koncu sem odrezal noge z nekaterih starih LED diod in jih vgradil v luknje, ki sem jih izvrtal v ohišju - te so bile popolne, saj jim je sežgana osnova LED preprečila zdrs in so bile ravno prave oblike in velikosti. Ker nisem več vrtal, sem globoko vdihnil in prešel na "veliki rez".

9. korak: Sekanje ohišja

Sekanje ohišja
Sekanje ohišja
Sekanje ohišja
Sekanje ohišja
Sekanje ohišja
Sekanje ohišja

Z vsemi nameščenimi ploščami, zaslonom in stikali sem zdaj lahko natančno videl, kako globoka mora biti zunanja ohišja televizorja, oziroma kako tanka bi lahko bila. Ko sem pustil nekaj centimetrov vrzeli med vezji in steno, sem označil ohišje in ga z vrtljivim orodjem odrezal. To je bil daleč najbolj živčen trenutek, saj je bilo zelo hrupno in en spodrsljaj bi lahko uničil primer. Končni rez je bil sicer precej dober in potreboval je le malo brušenja in obrezovanja robov, da ga je dokončal pred barvanjem - "zadnji del" televizorja je bil prvotno bel, vendar je z leti porumenel.

10. korak: Viseči ročaj

Viseči ročaj
Viseči ročaj
Viseči ročaj
Viseči ročaj
Viseči ročaj
Viseči ročaj
Viseči ročaj
Viseči ročaj

Naslednja težava je bila, kako televizor obesiti na steno, pri čemer se prepričajte, da je raven in varen, a hkrati enostaven za vzdrževanje. Prej sem bral o uporabi "francoskih klešč" ali "Z -nosilcev" za obešanje velikih slik, a jih še nikoli nisem poskusil, zato sem jih naročil pri Amazonu - izkazalo se je, da so popolnoma idealne! Paket je imel celo svojo majhno libelo.

Pritrditev stenskega nosilca je bila enostavna, v nekaj minutah sem ga privijal na steno delavnice, nato pa sem moral ugotoviti, kako njegovo nasprotno številko prilegam televizorju. Zunanje ohišje bi bilo na štiri mesta pritrjeno na sprednji del televizorja, zato je bilo precej trdno, zato sem se odločil, da bo to najboljše mesto za nosilec. Težava je bila pritrditev nosilca na pravo mesto, da ne bi motil plošč ali žic. Prav tako nisem hotel, da bi se na vrhu ohišja prikazali vijaki.

V nekem trenutku so moji možgani ugotovili, da bi lahko ponovno uporabil prvotni ročaj televizorja, ga naredil in ga uporabil tudi za držanje nosilca na pravem mestu. Po skrbnem merjenju sem izvrtal nove luknje za ročaj, nato pa ga z nekaj majhnimi pravokotnimi nosilci in odrezkom lesenih talnih oblog pritrdil na z-nosilec, vse skupaj trdno pritrjeno.

11. korak: Dotiki in montaža

Dotiki in montaža
Dotiki in montaža
Dotiki in montaža
Dotiki in montaža
Dotiki in montaža
Dotiki in montaža

Za zadnjo potezo sem zunanje ohišje in ročaj pobrusil in pobarval z brizganjem, pri čemer sem slednje naredil v rdeči barvi za kontrast in kot priklic Malini v notranjosti. Ko se je barva lepo strdila, so bili vsi sestavljeni deli lepo sestavljeni, so bili gumbi in pokrov zaslona z oznako "Solid State" označeni nazadnje. Pokrov zaslona je bil rahlo zakajen, toda po prilagoditvi svetlosti in kontrasta (vesel sem, da sem vključil te gumbe LCD) je bil zaslon videti tako svetel kot prej.

12. korak: Izbira mesta

Izbira spletnega mesta
Izbira spletnega mesta
Izbira spletnega mesta
Izbira spletnega mesta

Kmalu sem premaknil z-nosilec iz stene delavnice v njegov "zadnji" dom na hodniku in obesil televizor ter dodal nekaj tanke plastične cevi za pospravljanje napajalnega kabla Pi. Zdaj, ko je bil nameščen, je prišel zabaven del - odločitev, katere spletne strani prikazati!

Med raziskovanjem možnosti nadzorne plošče sem naletel na Dakboard - spletno nadzorno ploščo, ki jo lahko povežete s spletnim koledarjem, da prikažete sestanke, vir novic in vreme. Takrat sem to znižal kot preveč preprosto, vendar je bilo to idealno za eno od mojih strani. Moja najljubša stvar pri tem je, da lahko prikažem svoj album s fotografijami v Googlu - še posebej, ker z veseljem prikazuje animirane-g.webp

Naslednjih nekaj odločitev o zavihkih je bilo precej predvidljivih, BBC News in BBC Weather, kar je nujno treba preveriti, preden zapustite hišo.

Nato sem dodal povezavo do vira v živo z ene od mojih kamer Pi Zero - to se je že izkazalo za koristno pri iskanju poštarja ali nakupovalnih pošiljk.

Nazadnje sem dodal na našem Google Nakupovalnem seznamu - imamo navado, da uporabljamo Google Pi Intercom za dodajanje elementov na seznam, zato je vredno preveriti, preden se odpravimo.

URL -je iz prenosnega računalnika sem zbral v dokument beležnice in kopiral v Pi, nato pa jih dodal v vrstico @Chromium v datoteki za samodejni zagon (glej 2. korak zgoraj).

13. korak: Zadnje misli

Zaključne misli
Zaključne misli
Zaključne misli
Zaključne misli
Zaključne misli
Zaključne misli

V tej gradnji mi je bilo zelo všeč. Dejstvo, da bom vedel, da jo bom uporabljal vsak dan, me resnično ustavi - tudi če traja veliko dlje. Moja najljubša stvar je ta velika številčnica za spreminjanje kanalov, res je zadovoljivo uporabljati prvotni mehanizem.

Stvar, ki je šla veliko bolje od pričakovanega, je bil senzor PIR, za katerega sem bil prepričan, da ne bo deloval spravljen v odprtino ohišja - nisem želel izpostaviti celotnega senzorja, zato sem zelo vesel, da je to uspelo. Je precej občutljiv in vsi uživamo, ko poskušamo priti mimo njega, ne da bi se zaslon vklopil. Fotografiranje se je izkazalo za resnično zahtevno, saj je ovitek dimljenega zaslona tako odseven!

Všeč mi je videz na hodniku in deluje tako, kot sem upal - nekaj klikov naprej in nazaj ter malo zvitka običajno zadostuje, da me zjutraj spravijo ven z vsemi informacijami, ki jih potrebujem.

Če vam je ta projekt všeč in si želite ogledati več, si lahko na moji spletni strani ogledate posodobitve projektov v teku na bit.ly/OldTechNewSpec, se pridružite na Twitterju @OldTechNewSpec ali se naročite na rastoči YouTube kanal na bit.ly/oldtechtube - dajte nekaj vaših Old Tech a New Spec!

Priporočena: