Sadržaj:

1975. Hitachi Pi Info-TV: 13 koraka (sa slikama)
1975. Hitachi Pi Info-TV: 13 koraka (sa slikama)

Video: 1975. Hitachi Pi Info-TV: 13 koraka (sa slikama)

Video: 1975. Hitachi Pi Info-TV: 13 koraka (sa slikama)
Video: Веб-программирование – информатика для руководителей бизнеса 2016 2024, Studeni
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

Ovo je slatki mali prijenosni televizor Hitachi I-89-311 koji sam pretvorio u retro zidnu informacijsku stanicu! Prikazuje korisni sadržaj u nizu Chrome kartica na cijelom zaslonu i okretanjem birača za ugađanje prebacuje se između stranica, baš kao što ste izvorno promijenili TV kanale. Gumb za glasnoću kontrolira pomicanje, gumb za uključivanje / isključivanje osvježava stranicu, a ima i PIR senzor pokreta pa se zaslon isključuje kad odete.

Za prikaz sadržaja koristi zaslon Pimoroni 8 4: 3 i Raspberry Pi 3, a neki prilagođeni prekidači omogućuju korištenje svih izvornih kontrola televizora.

U slučaju da ne možete vidjeti ugrađeni videozapis, on se nalazi na:

Korak 1: Rastavljanje i donošenje odluka

Rastavljanje i donošenje odluka
Rastavljanje i donošenje odluka
Rastavljanje i donošenje odluka
Rastavljanje i donošenje odluka
Rastavljanje i donošenje odluka
Rastavljanje i donošenje odluka

Ovaj me televizor koštao svih 5 funti na rasprodaji tijekom ljeta, a ja sam jedva čekao doći kući i demontirati ga. Imao sam na umu jednostavno ga rastaviti, isjeći, zamijeniti ekran starim 10 -inčnim tabletom i objesiti na zid - lijep brzi projekt! Rušenje je sigurno prošlo dobro, sve se raspalo vrlo čisto i zahvaljujući nova ladica s magnetskim dijelovima Nisam jednom izgubio niti jedan vijak. Jednom sam tablet držao do skinutog kućišta, no bilo je očito da nikada neće stati, okvir oko zaslona bio je previše debeo da stane u kućište.

Zamišljao sam samo prilagođavanje početnog zaslona Androida s widgetima za prikaz nadolazećih sastanaka u kalendaru, vrijeme, vijesti i tako dalje, ali s tim sam se kroz prozor okrenuo prema Raspberry Pi opcijama. Počeo sam tražiti softver za prikaz nadzornih ploča, jer se činilo da je to otprilike ono što sam htio. Pokušao sam dashing.io nakon preporuka, ali mi je postalo pomalo nespretno za postavljanje i konfiguriranje. Mnoge druge opcije bile su više usmjerene na posao pa je manje vjerojatno da će imati značajke kao što je prikaz CCTV feeda uživo. Nakon nekog vremena odlučio sam izgraditi vlastitu web stranicu na kojoj će se prikazivati samo željeni sadržaj - ali onda je pala na pamet ideja, zašto ne bismo imali više web stranica i mogli se pomicati između njih pomoću kontrola televizora? To bi značilo manje kompromisa oko onoga što bi stalo na mali zaslon i doista bi olakšalo dodavanje ili uklanjanje elemenata. Nakon ovog "Eureka" trenutka sve što sam trebao učiniti je to učiniti - i ne mora biti previše komplicirano.

Korak 2: Chromium kôd

Chromium kôd
Chromium kôd

Da bi ideja o web stranicama uspjela, prvo što sam trebao učiniti je shvatiti kako otvoriti preglednik Chromium na cijelom zaslonu pri pokretanju, s više unaprijed definiranih kartica. Zahvaljujući fleksibilnosti Pi i Chromiuma to je zapravo bilo prilično lako postići, samo slučaj uređivanja datoteke za automatsko pokretanje:

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

… i dodavanje

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

… do kraja datoteke, spremajući promjene.

Zatim sam morao pronaći način da pomoću tipki na televizoru kontroliram kartice preglednika. Planirao sam u blizini imati zasebnu kombinaciju bežične tipkovnice i miša pa nisam koristio Kiosk način i nisam bio zainteresiran za pomicanje miša ili klikanje, ali htio sam moći izvesti osnovne informacije "Odlazim na posao" -grabite samo pomoću izvornih kontrola televizora. Znao sam da ću sklopke vjerojatno povezati s Pi -jevim GPIO -om i kontrolirati ih u Pythonu, pa sam potražio neki kod koji bi oponašao pritiske tipki, kako bih mogao iskoristiti skriptu za slanje putem ulaza s fizičkog prekidača.

Nakon izvlačenja naišao sam na xdotool koji je bio savršen za posao jer vam omogućuje simulaciju pritiska tipki pomoću koda koji se lako može ugraditi u Python. Prvo sam ga instalirao…

sudo apt-get install xdotool

… zatim pomoću terminala s naredbom za promjenu kartica u Chromeu oponašajući tipkovnički prečac CTRL-TAB:

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

Zatim sam učinio istu stvar kako bih stvorio komad koda za izvođenje akcije "Osvježi", oponašajući pritiskanje tipke F5:

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

Sada kada sam imao osnovne dijelove koda koji su radili, sljedeći posao je bio srediti fizičke gumbe, spojiti ih na GPIO i stvoriti Python skriptu kako bi ih natjerali da upravljaju preglednikom.

Korak 3: Upravljanje televizorom

Kontrole televizora
Kontrole televizora
Kontrole televizora
Kontrole televizora
Kontrole televizora
Kontrole televizora

Zvijezda gumba po gumbima bio je ljupki veliki brojčanik za ugađanje pa sam prvo poradio na tome. Bilo mi je potrebno rotacijsko djelovanje brojčanika za prevođenje u GPIO-pokrenute tipke za aktiviranje prebacivanja kartica preglednika, tako da bi se njegovim okretanjem promijenio "kanal". Prikladno je da sam već radio nešto slično za svoj projekt Neon Infinity Television, pa sam odlučio koristiti istu metodu.

Za početak sam uzeo 12-polni jednofazni okretni prekidač i lemio alternativne stezaljke jedan na drugi, tako da je njih 6 spojeno na jednu žicu. Druga žica bila je spojena na čvor sklopke, tako da bi je svaki rotacijski klik premještao iz otvorenog u zatvoreno stanje. To je značilo da bi svaka promjena kanala trajala 2 "klika", jedan da pritisne prekidač "zatvoren" i jedan da ga ponovno otvori.

Nakon što sam ga testirao multimetrom, prešao sam na sljedeći gumb (Uključeno/Isključeno)-želio sam samo ovo da "osvježim" stranicu, pa sam koristio standardni prekidač pritisni za stvaranje.

Kad su oboje završili, lemio sam ih na malu ploču uz zaglavlje kratkospojnika, kako bi ožičenje bilo lakše. Zatim sam ih spojio na Pi (GPIO6, GPIO26 i 3v) i sastavio Python skriptu za prevođenje njihovih fizičkih pokreta u pritiske tipki za kontrolu prozora preglednika. Skripta koju sam koristio prilično je jednostavna i dostupna je na GitHubu. Nakon što je potpuno radio, postavio sam ga na automatsko pokretanje dodavanjem u red …

@sudo python /home/pi/tabswitch.py

… u datoteku za automatsko pokretanje, odmah ispod mjesta gdje sam ranije dodao naredbu preglednika @chromium.

Dakle, to su bila dva gumba dolje, jedno za pokret!

Korak 4: Pomicanje okolo

Pomicanje okolo
Pomicanje okolo

Zaista sam želio da treći gumb (Glasnoća) pomiče stranicu preglednika gore -dolje radi skeniranja naslova i vremenskih prilika - to je bio sjajan koncept, ali teško postići! Istražio sam različite mogućnosti, ali vratio sam se na jedan od svojih omiljenih - jeftinih USB miševa. Putovanje do prtljažnika automobila dalo je četiri stara vrištala u različitim stanjima (oko 50p svaki), a ja sam se nadao da će jedan od njih imati ploču za hakiranje koju bih mogao jednostavno staviti u kućište, povezujući kotačić za pomicanje s gumbom za glasnoću i USB kabel za Pi.

Međutim, to nije bilo tako jednostavno jer su svi miševi kotačić za pomicanje pričvrstili za 90 stupnjeva na glavnu ploču, što za miša ima savršenog smisla, ali nije dobro za ugradnju u usku TV kutiju! Kako bih stvari učinio fleksibilnijima, odrezao sam rotacijsku kontrolu s jednog miša i spojio ga na sekundu, ostavljajući kabele između njih kako bih ih mogao popraviti pod kojim god kutom želim. Iako su miševi bili različitih proizvođača, ovo je dobro funkcioniralo!

Korak 5: Spavanje i buđenje

Spavanje i buđenje
Spavanje i buđenje
Spavanje i buđenje
Spavanje i buđenje

Znao sam da će televizor biti na zidu hodnika, pa nisam želio da bude uključen 24 sata dnevno, ali u isto vrijeme želio sam ga moći pogledati u prolazu i ne moram pritisnite gumb za uključivanje zaslona. Odlučio sam upotrijebiti PIR senzor za otkrivanje kretanja u blizini, tako da bi zaslon ostao isključen (ili barem na praznom čuvaru zaslona) osim ako netko nije bio ispred njega.

Prije nisam koristio PIR senzor s Pi, pa sam slijedio odličan vodič za detektor roditelja i dobio kod koji sam trebao raditi prilično brzo, barem na terminalu.

PIR senzor je bio jednostavan za povezivanje s Pi -jevim GPIO -om (5v, GND i GPIO4), ali je trebalo malo eksperimentirati sa šašavim "trimpotovima" kako bi kašnjenje i osjetljivost bili pravi.

Sljedeći korak bio je uključivanje zaslona kada se detektira pokret. Opet postoje različite mogućnosti za to, ali odlučio sam to učiniti tako da kretanje koje detektira PIR senzor samo isključi isključivanje čuvara zaslona. Pretpostavio sam da ću ponovno moći koristiti xdotool za slanje bilo kakvog starog pritiska tipke i probuditi zaslon, ali nažalost to nije uspjelo.

Da biste mi dali veću kontrolu nad vrstom i opcijama čuvara zaslona, instalirao sam xscreensaver:

sudo apt-get install xscreensaver

Ovo je bilo savršeno, jer sam sada mogao u potpunosti kontrolirati vrijeme kašnjenja čuvara zaslona putem izbornika Postavke - ono što je bilo još korisnije je to što xscreensaver ima mnogo opcija naredbenog retka, što znači da bih mogao koristiti kôd …

xscreensaver -command -deaktiviraj

… da probudite zaslon. Dodao sam ovu naredbu u PIR skriptu (također na GitHub -u) i nakon što je radila, dodao sam je u …

@sudo python /home/pi/PIR.py

… u datoteku za automatsko pokretanje, odmah ispod ranijih unosa za naredbe Chromium i tabswitch.

Dakle, sada je većina Pi posla bila dovršena, a sa spojenim PIR senzorom, gumbom, okretnim prekidačem i isječenim USB mišem prešao sam na škakljivi dio - učinivši da radi s malim ekranom i da sve stane u kućište.

Korak 6: Vrijeme ekrana

Vrijeme na ekranu
Vrijeme na ekranu
Vrijeme na ekranu
Vrijeme na ekranu
Vrijeme na ekranu
Vrijeme na ekranu

Pronalaženje odgovarajućeg zaslona za ovaj projekt uvijek je bilo teško, jer je "rupa" bila i nezgodne veličine od 9-10 inča i također u formatu 4: 3.

Nakon čarolije bezuspješnog traganja za cjenkanjem, odlučio sam kupiti novu - uglavnom iz razloga što sam želio da ovo bude praktičan dodatak mom domu, pa sam morao imati povjerenja u to da je uključena većinu vremena. Konačno sam počeo tražiti LCD panele dimenzija 800x600 i 1024x768, te sam okrenuo zaslon Pimoroni 8 . Ovo je bila idealna opcija jer mi se dopao prodavač, zaslon je bio dobro pregledan i savršenog oblika - jedini kompromis bio je to što je bio nešto manji nego što bih volio, ali to nije utjecalo na konačnu verziju.

Zaslon je došao s vlastitom pločom upravljačkog programa i gumbima izbornika, a oni su se lako povezali radi testiranja na radnom stolu. Čitao sam sa oduševljenjem da se zaslon može napajati iz samog Pi -ja, pa ga uključiti i - ništa! Isprobao sam različite USB priključke za napajanje, zatim različite HDMI kabele, ali jednostavno se nije upalilo. Nakon dugog češkanja po glavi, rješenje sam pronašao na internetu - jer ga je napajao Pi -jev USB, nije se prikazivao kao "prisutan" dovoljno rano u procesu pokretanja da bi Pi shvatio da je tu. Sve što sam trebao učiniti je urediti datoteku

/boot/config.txt

i komentirajte opciju

hdmi_force_hotplug = 1

i Hej Presto! Uspjelo je odmah. Uvijek me zadivi koliko jednostavna rješenja mogu biti, bio sam uvjeren da sam nekako ispržio ekran, ali jedna sitna izmjena učinila je veliku razliku. Sad kad je cijela stvar uspjela na klupi, samo sam je trebao uklopiti u kućište i nekako nastaviti raditi.

Iako je bila idealne veličine, došlo je do nekoliko problema - okvir LCD zaslona bio je sjajno srebrne boje, a također su postojale i praznine koje su se pokazale izvana gdje je izvorna TV cijev bila zakrivljena. Prvo sam pomislio da okvir obojimo crnom bojom, pogotovo jer je još uvijek bio postavljen zaštitnik zaslona, što bi bilo idealno maskiranje. Nakon nekog razmišljanja uspio sam ubiti dvije ptice jednim kamenom i dodao rupe debelog crnog samoljepljivog filca oko rubova zaslona, koje su prekrivale srebrne trake i preklapale se dovoljno da popune praznine.

Korak 7: Prozirni predlošci

Prozirni predlošci
Prozirni predlošci
Prozirni predlošci
Prozirni predlošci
Prozirni predlošci
Prozirni predlošci
Prozirni predlošci
Prozirni predlošci

S fiksnim zaslonom, gumbi, Pi i kabeli bili su sljedeći!

Kako bih učvrstio zaslon, izrezao sam dio prozirne plastike s poklopca stare kutije za pohranu, koristeći originalne TV vijke i držače za vijke da ga čvrsto pričvrstim, pa sam odlučio učiniti istu stvar držeći gumbe. Ljepota izrade nosača od ove vrste plastike je u tome što ih možete postaviti preko kućišta i vidjeti kroz njih kako biste točno označili gdje trebaju biti rupe za vijke!

Izrezao sam mali dio plastike za držanje kontrola TV -a, a prvo sam označio i izbušio rupe kako bih ga pričvrstio za izvorna pričvršćenja televizora. Sljedeći s pričvršćenim kućištem označio sam središte rupica za gumbe s vanjske strane kako bih se uvjerio da su ispravno poravnati pri probijanju kroz kućište. Za rotacijske i potisne prekidače ovo je prošlo prilično glatko, samo sam morao posegnuti za vrućim ljepilom kako bih postavio "kotačić miša" na pravo mjesto.

Zatim sam izgradio još jednu "palubu" koja će sjediti iznad prekidača i držati Raspberry Pi, koristeći istu metodu kao i prije i više originalnih vijaka. Ovo je dobro funkcioniralo, ali nažalost stražnji dio okretnog prekidača zaglavio je previsoko, pa sam ga morao ponovno lemiti nakon što sam savio terminale u podnožju. Na kraju sam lagano zalijepio PIR senzor na mjesto iza otvora, još uvijek nisam siguran hoće li raditi, a da nije potpuno izložen.

Sada kada su svi dijelovi bili fiksirani u svojim "konačnim" položajima, morao sam dodati kontrolne gumbe. Okretni prekidač bio je jednostavan jer su standardnog oblika i samo mu je bilo potrebno obrub kako bi odgovarao brojčaniku. Za prekidač za uključivanje/isključivanje koristio sam dio originalnog vretena s televizora i superljepio ga na prekidač za pritiskanje. Kotač miša bio je malo lukaviji, opet sam upotrijebio originalno vreteno s televizora, spojeno na vreteno kotača miša s plastičnom "manšetom".

Korak 8: Više gumba

Više gumba
Više gumba
Više gumba
Više gumba

Pomislili biste da bi bilo sasvim dovoljno petljanja po gumbima, ali ima još toga za doći! LCD zaslon imao je vlastiti set od 5 mikroprekidača na ploči za kontrolu svjetline, boje itd. Pa sam želio da oni budu dostupni bez potrebe za skidanjem televizora sa zida.

Uz lagano sjeckanje, bilo je dovoljno mjesta da se ploča postavi na rub "unutarnjeg" kućišta, sve što sam tada trebao učiniti je izrezati rupe u "vanjskom" kućištu kako bi mikroprekidači bili dostupni. Također sam trebao pronaći neku vrstu fizičkih gumba za probijanje kućišta i poredanje s mikroprekidačima. U prošlosti sam za to koristio srebrne "klikove za olovke", ali ovaj put nisam imao sreće pronaći jeftine. Na kraju sam odrezao noge sa nekih starih LED dioda i ugradio ih u rupe koje sam izbušio u kućištu - one su bile savršene jer ih je raspučena baza LED spriječila da iskliznu i bile su pravoga oblika i veličine. Bez više bušenja duboko sam udahnuo i prešao na "veliki rez".

Korak 9: Sjeckanje kućišta

Sjeckanje kućišta
Sjeckanje kućišta
Sjeckanje kućišta
Sjeckanje kućišta
Sjeckanje kućišta
Sjeckanje kućišta

Sa svim instaliranim pločama, zaslonom i prekidačima sada sam mogao vidjeti koliko duboko treba biti vanjsko kućište televizora, odnosno koliko bih ga mogao tanko napraviti. Ostavljajući razmak od nekoliko centimetara između ploča i onoga što bi bio zid, označio sam kućište i izrezao ga pomoću rotacijskog alata. Ovo je bio daleko najneugodniji trenutak, jer je bio vrlo bučan i jedan je lapsus mogao upropastiti slučaj. Konačni rez ipak je bio prilično dobar i samo je trebalo malo brušenja i obrezivanja rubova kako bi se dovršio prije slikanja - "stražnji dio" televizora bio je izvorno bijel, ali je godinama požutio.

Korak 10: Viseća ručka

Viseća ručka
Viseća ručka
Viseća ručka
Viseća ručka
Viseća ručka
Viseća ručka
Viseća ručka
Viseća ručka

Sljedeći je problem bio kako objesiti televizor na zid, pazeći da je ravan i siguran, ali istovremeno jednostavan za uklanjanje radi održavanja. Čitao sam o korištenju "francuskih kvačica" ili "Z -zagrada" za vješanje velikih slika, ali ih nikad nisam isprobao, pa sam ih naručio s Amazona - pokazalo se da su apsolutno idealne! Paket je čak došao sa vlastitom sićušnom libelom.

Postavljanje zidnog nosača bilo je jednostavno, pričvrstila sam ga na zid radionice radi testiranja u roku od nekoliko minuta, a zatim sam morala smisliti kako njegov suprotni broj postaviti na televizor. Vanjsko kućište bilo bi pričvršćeno za prednji dio televizora na četiri mjesta, pa je bilo prilično čvrsto, pa sam odlučio da će ovo biti najbolje mjesto za nosač. Poteškoća je bila u postavljanju držača na pravo mjesto kako ne bi ometao ploče ili žice. Također nisam želio da se vijci prikazuju kroz gornji dio kućišta.

U nekom je trenutku moj mozak shvatio da bih mogao ponovno upotrijebiti originalnu ručku televizora, napraviti njegovu značajku i koristiti je za držanje držača na pravom mjestu. Nakon pažljivog mjerenja, izbušio sam nove rupe za ručku, a zatim je pričvrstio na z-nosač pomoću nekoliko malih pravokutnih držača i izrezanog drvenog poda, sve čvrsto pričvršćeno.

Korak 11: Dodirnite i sastavite

Dodirne ploče i montaža
Dodirne ploče i montaža
Dodirne ploče i montaža
Dodirne ploče i montaža
Dodirne ploče i montaža
Dodirne ploče i montaža

Za kraj, izbrusio sam i obojao vanjsko kućište i ručku sprejom, a ovo posljednje učinio sam crvenom bojom radi kontrasta i kao nagovještaj Maline iznutra. Nakon što je boja stvrdnula sve dijelove lijepo sastavljene, gumbi i pokrov zaslona s oznakom "Solid State" posljednji su postavljeni na mjesto. Poklopac zaslona bio je blago dimljen, ali nakon ugađanja svjetline i kontrasta (drago mi je što sam uključio te LCD gumbe) zaslon je izgledao svijetlo kao i prije.

Korak 12: Odabir web mjesta

Odabir web mjesta
Odabir web mjesta
Odabir web mjesta
Odabir web mjesta

Ubrzo sam pomaknuo z-nosač sa zida radionice u njegov "konačni" dom u hodniku i objesio televizor, dodajući neki tanki plastični vod kako bi sredio Pi-jev kabel za napajanje. Sada kada je instaliran došao je zabavni dio - odlučivanje koje web stranice prikazati!

Dok sam istraživao opcije nadzorne ploče, naišao sam na Dakboard - nadzornu ploču zasnovanu na webu koju možete povezati sa svojim internetskim kalendarom za prikaz obveza, vijesti i vremena. U to sam vrijeme to odbacivao kao previše jednostavno, ali ovo je bilo idealno za jednu od mojih stranica. Moja omiljena stvar u vezi s tim je što mogu prikazati svoj vlastiti album s Google fotografijama - pogotovo jer rado prikazuje animirane-g.webp

Sljedećih nekoliko kartica bile su prilično predvidljive, BBC News i BBC Weather, obje bitne za provjeru prije nego što izađete iz kuće.

Zatim sam dodao vezu do feeda uživo s jedne od mojih kamera Pi Zero - ovo se već pokazalo korisnim u traženju poštara ili isporuke u kupovinu.

Na kraju sam dodao na naš popis za kupovinu na Googleu - sasvim imamo običaj koristiti Google Pi Intercom za dodavanje stavki na popis pa je vrijedno provjeriti prije odlaska.

Razvrstao sam URL -ove s prijenosnog računala u bilježnicu i kopirao ovo u Pi, a zatim ih dodao u @Chromium redak u datoteci za automatsko pokretanje (vidi 2. korak gore).

Korak 13: Završne misli

Završne misli
Završne misli
Završne misli
Završne misli
Završne misli
Završne misli

Zaista sam uživao u ovoj gradnji. Izrada nečega za što znam da ću svakodnevno koristiti zaista me sprječava u rezanju uglova - čak i ako to potraje mnogo duže. Najdraža stvar mi je taj veliki brojčanik za promjenu kanala, zaista je zadovoljavajuće koristiti originalni mehanizam.

Ono što je prošlo puno bolje nego što se očekivalo bio je PIR senzor, za koji sam bio uvjeren da neće raditi uvučen u otvor kućišta - nisam baš želio izložiti cijeli senzor pa mi je jako drago što je ovo uspjelo. Prilično je osjetljiv i svi uživamo pokušavajući provući se pokraj njega bez uključivanja zaslona. Fotografiranje se ipak pokazalo zaista izazovnim, taj omotač od dimljenog zaslona tako reflektira!

Sviđa mi se izgled u hodniku i radi onako kako sam se nadao - nekoliko klikova naprijed -natrag i malo listanja obično su dovoljni da ujutro izađem s vrata sa svim potrebnim podacima.

Ako vam se sviđa ovaj projekt i želite vidjeti više, na mojoj web stranici možete pronaći ažuriranja projekata u tijeku na bit.ly/OldTechNewSpec, pridružite se na Twitteru @OldTechNewSpec ili se pretplatite na rastući YouTube kanal na bit.ly/oldtechtube - dajte neke od vaših starih tehnologija nove specifikacije!

Preporučeni: