Sadržaj:

Oglasna ploča Raspberry Pi: 11 koraka (sa slikama)
Oglasna ploča Raspberry Pi: 11 koraka (sa slikama)

Video: Oglasna ploča Raspberry Pi: 11 koraka (sa slikama)

Video: Oglasna ploča Raspberry Pi: 11 koraka (sa slikama)
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Srpanj
Anonim
Oglasna ploča Raspberry Pi
Oglasna ploča Raspberry Pi
Oglasna ploča Raspberry Pi
Oglasna ploča Raspberry Pi
Oglasna ploča Raspberry Pi
Oglasna ploča Raspberry Pi

Ovo je projekt na kojem sam radio za svoju crkvu. Željeli smo elektroničku oglasnu ploču koja će se postaviti u pripratu/predvorje i koja će svakih nekoliko sekundi kružiti kroz statične slajdove.

Ovo su bili naši ciljevi dizajna:

  • Statički slajdovi, bez video ili audio zapisa
  • Administrator generira slajdove u Powerpointu (poznati alat, nema novog softvera za učenje)
  • Administrator može povući i ispustiti novu prezentaciju kako bi zamijenio staru
  • Nema rješenja zasnovanog na oblaku jer bi oglasna ploča bila na našoj privatnoj bežičnoj mreži
  • Bez mjesečnih licencnih pristojbi ili vlasničkog softvera, osim onoga što smo već imali (Windows, Office, Powerpoint)
  • Zaslon od 49 ", u okomitom/okomitom načinu rada (iako je moguć i pejzažni/vodoravni način koji je opisan u nastavku)
  • Željeni trošak: <1000 USD

Uspjeli smo to učiniti i ušli smo u proračun. Nedavno sam pomogao drugoj obližnjoj crkvi da napravi isti projekt, a ukupni troškovi (ne uključujući troškove električara za dovođenje struje na pravo mjesto na zidu i rad na montaži) bili su manji od 500 USD.

Zbog niskih troškova i u osnovi nula tekućih troškova (samo struja), to bi se također dobro uklopilo u škole, knjižnice, muzeje, neprofitne organizacije ili druge organizacije s ograničenim proračunom.

Povratne informacije su dobrodošle.

Korak 1: Popis opreme

Lista opreme
Lista opreme
Lista opreme
Lista opreme
Lista opreme
Lista opreme

Ovdje je popis opreme koju smo koristili. Dodaju se komentari. Pokušavam se povezati na web mjesto proizvođača gdje je to moguće, a ne na trgovca.

  • TV/monitor. Većina modernih televizora ili monitora će to učiniti sve dok ima CEC (za više informacija o CEC -u pogledajte ovaj članak na Wikipediji: https://en.wikipedia.org/wiki/Consumer_Electronics_Control). Većina monitora je napravljena za postavljanje u okomitom/okomitom ili vodoravnom/pejzažnom načinu rada. Televizori su dizajnirani tako da budu vodoravni, pa ih je okomito montirati malo teže. Također, mnogi televizori su asimetrični od vrha do dna (tj. Donji rub često je veći od vrha), pa njegovo postavljanje okomito može izgledati pomalo čudno. Ipak, televizori su općenito jeftiniji, pa smo otišli s televizorom. Naravno, ako vam je orijentacija pejzaž, to nije važno. Išli smo s ovim: LG 49 "LED televizorom.
  • TV nosač: Ovo je bilo teško, jer smo kupili televizor i htjeli ga montirati okomito. Treba uzeti u obzir stil postavljanja i hoće li biti vidljiv, pogotovo ako je televizor postavljen okomito. Nosač je postavljen na zid u istoj orijentaciji kao da televizor postavljate vodoravno. Ako se odlučite za okomito postavljanje televizora, morate razmotriti mogu li rupe za pričvršćivanje vijaka na nosaču televizora prilagoditi rotirane rupe za montažu na televizoru. Neki televizori postavljaju svoje vijke za montažu u kvadratnom uzorku, dok su neki pravokutnog uzorka. Razmislite o tome i prije kupnje provjerite radi li montaža na željenom mjestu.
  • Raspberry Pi, kućište, kabeli, hladnjak, ventilator itd.: Preporučujem da nabavite najnoviju i najbolju verziju. U vrijeme kad smo gradili projekt, to je bio Raspberry Pi 3 B+, ali sada je Raspberry Pi 4 B izašao. Što se tiče kućišta, kabela za napajanje, hladnjaka, ventilatora, odlučili smo da budući da će Raspberry Pi raditi 24 sata dnevno, htjeli smo kućište s ventilatorom, iako mirnim. A kabel za napajanje s ugrađenim prekidačem za napajanje olakšava resetiranje sustava bez povlačenja utikača. Druga glavna razlika između Raspberry Pi 3 B+ i Raspberry Pi 4B je ta što 4 B ima mikro-HDMI utikač, što znači da vam je potreban adapter (uključen je u komplet u nastavku).

    • Ako idete s Raspberry Pi 3 B+: Raspberry Pi 3 B+ Case Case (ne uključuje Raspberry Pi)
    • Ako idete s Raspberry Pi 4 B: Raspberry Pi 4 B futrola (ne uključuje Raspberry Pi)
  • HDMI kabel: Sve je u redu, sve dok podržava CEC. Imajte na umu da će se Raspberry Pi obično montirati na zid iza televizora/monitora ili eventualno na sam televizor/monitor, pa je kratki 3 'kabel vjerojatno dovoljan. Predugo kabel i to će se pokazati. Također razmislite o tome gdje se HDMI priključci nalaze na TV-u/monitoru i biste li mogli razmisliti o kraju kabela od 90 stupnjeva (na primjer, ako su HDMI priključci s jedne strane).
  • MicroSD kartica. Ni ovo nije mnogo važno. Odabrali smo 32 GB umjesto standardnih 16 GB, samo da imamo dodatni prostor za dodatni softver, ako želimo, i da imamo mjesto za pohranu više prezentacija. Odabrali smo ovu: SanDisk Ultra PLUS 32 GB MicroSD kartica. Imajte na umu da je lakše ako kupite MicroSD karticu s već instaliranim NOOBS -om, poput ove: SD kartica s NOOBS -om. Nisam to učinio, ali možete uštedjeti korak ako to učinite. Za više informacija pogledajte ovdje: NOOBS

Napomena o CEC -u: CEC (Consumer Electronics Control) omogućuje nekim komponentama međusobnu kontrolu putem HDMI kabela. Na primjer, DVD uređaj može uključiti/isključiti povezani TV putem HDMI kabela ako oboje podržavaju CEC. To je korisno u našem slučaju, jer Raspberry Pi može uključivati/isključivati televizor/monitor kako želi. Na primjer, u crkvenom okruženju, željeli bismo da monitor bude uključen samo tijekom sati kada je crkva otvorena, a to varira ovisno o danu u tjednu. CEC dopušta Pi -u da uključuje i isključuje televizor u proizvoljno složenom rasporedu.

Korak 2: Sastavite Pi kućište

Sastavite Pi kućište
Sastavite Pi kućište
Sastavite Pi kućište
Sastavite Pi kućište
Sastavite Pi kućište
Sastavite Pi kućište

Montaža je prilično jednostavna. Zalijepite hladnjake na čipove odgovarajuće veličine na Raspberry Pi, sastavite kućište sloj po sloj. Ne zaboravite ukloniti tanke plastične zaštitne folije sa svakog sloja.

Korak 3: Instalirajte Raspbian

Instalirajte Raspbian
Instalirajte Raspbian

Na web mjestu Raspberry Pi postoji izvrstan vodič. Slijedite ove upute za postavljanje.

Postavljanje vašeg Raspberry Pi

Koristio sam Raspbian Lite jer nema dodatnih aplikacija koje vam neće trebati za ovaj projekt.

Korak 4: Dodajte standardni i prilagođeni softver

Nakon što NOOBS instalira Raspbian, prilikom prve prijave, od vas će se tražiti stvari poput jezika, vremenske zone itd. Također će tražiti podatke o WiFi mreži i lozinki, osim ako ste na žičnoj vezi. Na kraju će preuzeti i instalirati sva ažuriranja Raspbiana. Pomaže ako ste na istoj internetskoj vezi kao u konačnom postavljanju, ali to ne mora biti. Odnosno, ovaj korak možete učiniti kod kuće prije postavljanja na krajnjem mjestu. Ne zaboravite postaviti novu internetsku vezu prije posljednjeg ponovnog pokretanja u posljednjem koraku.

Otvorite prozor terminala (kliknite na crnu pravokutnu ikonu blizu gornjeg lijevog kuta zaslona).

Prvo dvaput provjeravamo ima li dodatnih Raspbian ažuriranja. Upišite sljedeće redove, jedan po jedan

sudo apt ažuriranje

sudo apt nadogradnja

(recite "Y" ako vas pita želite li instalirati ažuriranja).

Zatim instaliramo Samba, koja omogućuje dijeljenje mapa s Windows strojevima na mreži.

sudo apt install samba samba-common-bin smbclient cifs-utils

Zatim instaliramo fbi. fbi je unix uslužni program koji prikazuje grafiku na ekranu na kojem nije pokrenut upravitelj prozora.

sudo apt install fbi

Zatim instaliramo inotify-tools. inotify-tools omogućuje slideshowu da u zajedničkoj mapi promatra bilo kakve promjene.

sudo apt install inotify-tools

Zatim instaliramo cec-utils. cec-utils omogućuje Raspberry Pi uključivanje i isključivanje televizora putem HDMI kabela.

sudo apt install cec-utils

Zatim ćete morati preuzeti male pomoćne programe koje sam napisao za reprodukciju slideshowa.

git clone

Ovo će dohvatiti kôd i staviti ga u direktorij pod nazivom raspi_slideshow.

Sada je sav softver dostupan na Raspberry Pi. Sljedeći koraci prolaze kroz konfiguraciju.

Korak 5: Postavite zajedničku mapu

Prema zadanim postavkama, kôd slideshowa traži direktorij (mapu) /dijeljeno /prezentaciju.

Moramo stvoriti taj direktorij. Budući da je na korijenskoj razini, potrebna su nam root dopuštenja, pa je sudo u redu. Možda ćete morati upisati lozinku (zadana postavka je malina) kada izvršite ovu naredbu:

sudo mkdir -p /podijeljeno /Prezentacija

Zatim moramo ovo učiniti čitljivim i upisivim za svakoga na ovom Pi -u. Upišite sljedeću naredbu:

sudo chmod a+rwx /shared /Prezentacija

To ga čini vidljivim samo na ovom Pi. Zatim ovu mapu moramo podijeliti sa svijetom (zapravo, samo drugi strojevi na istoj mreži). Zato preporučujemo da to bude na privatnoj (zaštićenoj lozinkom) Wi-Fi mreži ili ožičenoj lokalnoj mreži.

Kad smo u prethodnom koraku instalirali sambu, ona je stvorila zadanu datoteku /etc/samba/smb.conf

Moramo dodati hrpu redaka na kraj te datoteke. Linije su u datoteci raspi_slideshow/add_to_smb.conf

Najlakši način za to je sljedeći:

sudo bash

mačka raspi_slideshow/add_to_smb.conf >> /etc/samba/smb.conf izlaz

Ovo u osnovi spaja datoteku add_to_smb.conf na kraj /etc/samba/smb.conf

Možete odabrati da to učinite putem uređivača poput nano ako želite, ali to je prilična količina tipkanja.

U osnovi dijeli /shared direktorij kao direktorij koji može čitati i pisati svi na lokalnoj mreži. Ovdje neću opisivati kako ga zaštititi, ali ako želite da bude zaštićen (da biste zahtijevali lozinku za uređivanje), možete pročitati Sambu i shodno tome promijeniti postavke.

Korak 6: Konfigurirajte postavke uključivanja/isključivanja monitora

Koristimo cron za uključivanje i isključivanje televizora/monitora u zakazano vrijeme. Cron je pomoćni program za Linux koji izvršava zadatke u zakazano vrijeme. Ako želite da vaš TV/monitor radi 24 sata dnevno ili 7 dana u tjednu ili želite ručno uključiti i isključiti, možete preskočiti ovaj korak.

Kopirajte primjer datoteke crontab iz direktorija raspi_slideshow u matični direktorij.

cp raspi_slideshow/crontab_example.pi crontab.pi

Datoteka crontab_example.pi primjer je koji pokazuje kako ova vrsta datoteke radi. U Wikipediji i drugdje ima dosta dokumentacije:

Sada ga uređujemo. Pomaže vam da već odredite svoj raspored. Primjer rasporeda je

  • Nedjelja: u 7:00, isključeno u 21:00
  • Srijeda: u 8:00, isključeno u 21:00
  • Subota: u 7:00, isključeno u 21:00
  • Ostali dani: uključeno u 8 sati, isključeno u 17 sati

Sviđa mi se nano budući da je instaliran s Raspbian -om i jednostavan za korištenje. Možete koristiti vi ili bilo koji drugi uređivač.

nano crontab.pi

Uredite datoteku tako da navedete vremena uključivanja/isključivanja za svaki dan. Krećite se pomoću tipki sa strelicama. Povratni prostor za brisanje, upišite za umetanje. Kad završite, pritisnite Control-O za spremanje (morat ćete pritisnuti "enter" za potvrdu naziva datoteke) i Control-X za izlaz iz nano.

Nakon što ste dobili svoju cron datoteku onako kako želite, recite Raspbian -u da je želite izvršiti:

crontab crontab.pi

Ako ikada želite promijeniti svoj raspored, možete urediti $ HOME/crontab.pi i ponovno izvršiti naredbu crontab neposredno iznad. To će vaš stari raspored zamijeniti novim.

Korak 7: Konfigurirajte postavke zaslona

Konfigurirajte postavke zaslona
Konfigurirajte postavke zaslona

Skoro smo gotovi! Moramo konfigurirati postavke prikaza. fbi je uslužni program koji koristimo za prikaz slajdova. Čita svoje postavke iz datoteke.fbirc u kućnom direktoriju.

Prvo provjerite jesmo li u matičnom direktoriju.

cd $ HOME

Zatim kopirajte datoteku iz direktorija raspi_slideshow na početnu stranicu

cp raspi_slideshow/.fbirc.

Ne biste trebali uređivati datoteku. Međutim, ako odaberete, tri su postavke koje vas zanimaju:

slučajno = netočno

blend-msecs = 500

istek = 8

Slučajna linija određuje hoće li fbi nasumično rasporediti slide. true znači da nasumično prikazuje slajdove, false znači da nije. Budući da smo htjeli određenu kontrolu nad redoslijedom slajdova, postavili smo ga na false.

Linija blend-msecs govori koliko milisekundi (1000 = 1 sekunda) traje svaki prijelaz. Vrijednost 0 znači da se slajdovi trenutno mijenjaju s jednog na drugi. Naša postavka 500 znači da slajdovi blijede jedno u drugo u razdoblju od 0,5 sekundi.

Timeout je vrijeme (u sekundama) za prikaz svakog slajda prije prijelaza na sljedeći. To možete prilagoditi ako želite da slajdovi budu duži ili kraći. Samo zapamtite da se ovo odnosi na sve slajdove podjednako. Ne postoji način da se neki slajdovi pojave dulji, a drugi kraći.

Rotiranje zaslona

Ako imate televizor/monitor postavljen okomito, kao i mi, morat ćete zakrenuti zaslon za 90 ili 270 stupnjeva. Ako imate TV/monitor montiran vodoravno, možete preskočiti ostatak ovog koraka.

Ponovno upotrijebite nano. Ovaj put morate pokrenuti kao root, pa ćete morati sudo, što će možda zahtijevati da ponovno unesete lozinku (zadana postavka je malina)

sudo nano /boot/config.txt

Pomoću strelice prema dolje idite do dna ove datoteke. Na kraj datoteke dodajte sljedeći redak:

display_rotate = 1

Ovo će zakrenuti zaslon za 90 stupnjeva. Ako je nakon montaže vaš zaslon naopako, promijenite 1 u 3.

U osnovi display_rotate = 0 (bez rotacije), 1 (90 stupnjeva), 2 (180 stupnjeva), 3 (270 stupnjeva)

Na gornjoj slici smo postavili display_rotate = 1 i morali smo se vratiti i promijeniti u display_rotate = 3. Mnogo lakše nego ponovna montaža televizora!

Korak 8: Promijenite lozinku i postavite automatsko pokretanje

Promijenite lozinku i postavite automatsko pokretanje
Promijenite lozinku i postavite automatsko pokretanje
Promijenite lozinku i postavite automatsko pokretanje
Promijenite lozinku i postavite automatsko pokretanje

U ovom trenutku smo skoro gotovi!

Pritisnite izbornik maline u gornjem lijevom kutu, odaberite Postavke-> Konfiguracija Raspberry Pi

To otvara dijaloški okvir. Kliknite na "Promijeni lozinku …" i promijenite je u nešto što ćete zapamtiti!

Možete odabrati promjenu naziva sustava (polje Hostname).

Svakako kliknite Boot "To CLI"

Postavite automatsku prijavu ("Prijavite se kao korisnik 'pi'")

Sada morate postaviti pokretanje slideshowa pri pokretanju. Najjednostavniji način je dodati jedan redak u svoju.bashrc datoteku. Pokretanje našeg nano uređivača:

nano.bashrc

Strelicom prema dolje do kraja datoteke i dodajte sljedeći redak:

python3 raspi_slideshow/play_slideshow.py

Ove postavke znače sljedeće:

  • Kad god se ponovno pokrene, Raspberry Pi će se automatski prijaviti kao korisnik pi
  • Neće pokrenuti upravitelj prozora, već će se samo pokrenuti na ekranu ("Boot to CLI")
  • Pokrenut će bash ljuska koja čita datoteku.bashrc, a posljednji redak te datoteke kaže pokretanje slideshowa.

Nakon ovog ponovnog pokretanja NEĆE se pokrenuti upravitelj prozora i automatski će se pokrenuti prezentacija. Slideshow možete zaustaviti pritiskom tipke Control-C tijekom slideshowa. Ovo će vas odbiti natrag na bash prompt ($).

Ako želite pokrenuti upravitelj prozora od ove točke (radi otklanjanja pogrešaka ili lakše manipulacije postavkama), to možete učiniti upisivanjem "startx" u naredbeni redak.

Korak 9: Upotrijebite (Postavljanje Windows stroja)

U stvarnoj upotrebi, naš Raspberry Pi se pri pokretanju povezuje s našom privatnom bežičnom mrežom. Dijeli svoj /zajednički direktorij (i sve ispod) s mrežom. Da biste vidjeli ovu mapu s Windows računala, provjerite jeste li na istoj mreži.

Pretpostavljam da ćete se na to povezati s računala sa sustavom Windows u uredu. Za Windows 7 ili Windows 10 otvorite File Explorer za pregled datoteka/mapa na vašem računalu. Desnom tipkom miša kliknite lijevo gdje piše "Računalo" ili "Moje računalo", a zatim odaberite "Kartiraj mrežni pogon …"

To će otvoriti dijaloški okvir. Odaberite koje slovo, npr. "Z:" želite mapirati svoj pogon. Zatim u polje Mapa upišite:

{ime-vašeg-Pi-računala} podijeljeno

gdje je {name-of-your-Pi-computer} naziv koji ste svom Raspberry pi vratili u prethodnom koraku (pogledajte prethodnu sliku s dijaloškim okvirom).

Svakako kliknite "Ponovo se poveži pri prijavi". Moguće je da će se ovaj korak, ako se Raspberry Pi isključi prilikom pokretanja računala sa sustavom Windows, morati ponoviti (ili ponovno pokrenuti računalo sa sustavom Windows) kako bi se vidjela zajednička mapa.

Ako odaberete zaštitu mape lozinkom, možete dodati vjerodajnice odabirom "Poveži se pomoću različitih vjerodajnica" i unosom korisničkog imena/lozinke za Raspberry Pi.

Sada, kada želite da slajdovi uđu u vašu prezentaciju, kopirajte pojedinačne slike slajdova (*) u mapu Prezentacija.

Skripta će nadzirati i prikazivati SAMO sadržaj mape Prezentacije i ništa na razini iznad toga (podijeljeno). Stoga ponekad koristimo trik stavljanja često korištenih slajdova na najvišu razinu, a zatim ih prema potrebi povlačimo u mapu Prezentacija ili izvan nje.

Upamtite, kad se bilo što u mapi Prezentacija promijeni (datoteke se dodaju, brišu ili izmijene), skripta slideshowa čeka 2 minute (120 sekundi, može se konfigurirati u play_slideshow.py, potraži vrijeme čekanja) prije postavljanja i prikaza novih slajdova. To daje osobi vremena da izvrši sve potrebne promjene bez poništavanja nakon dodavanja svake nove datoteke.

Pojedinačne slike slajdova su jpeg, gif ili png datoteke koje predstavljaju jedan slajd. Najlakši način za generiranje istih je korištenje programa Microsoft PowerPoint ili sličnog programa. Možete stvoriti onoliko slajdova koliko želite u Microsoft PowerPointu i spremiti ih kao PowerPoint prezentaciju. Zatim kliknite Datoteka-> Izvoz-> Promijeni vrstu datoteke i spremite kao PNG ili JPEG. Time će se slajdovi prikazati kao pojedinačne datoteke, npr. slide1.png, slide2.png itd. Zatim možete povući i ispustiti pojedinačne datoteke u Z: / Prezentacija (ili bilo koje slovo pogona koje ste koristili). Imajte na umu da je prezentacija sastavljena po abecednom (ne numeričkom) redoslijedu, pa slide11.png dolazi nakon slide1.png i prije slide2.png. Naravno, slajdove možete preimenovati prije kopiranja u mrežnu mapu. Samo provjerite zadržavaju li svoje proširenje (npr.. Png). Skripta dijaprojekcije trenutno traži samo datoteke sa sljedećim proširenjima:.png,.png,.gif,.gif,.jpg,-j.webp

Korak 10: Rješavanje problema

Većina problema može se riješiti starim rješenjem "pokušajte ga isključiti i ponovo uključiti".

Ako se vaš Raspberry Pi ne povezuje, ne ažurira ili se čini da je općenito zaglavljen, pokušajte ga uključiti.

Ako vaš Windows stroj izgubi preslikani mrežni pogon, pokušajte ga uključiti ili uključite pogon ponovo ručno.

Ako imate drugih pitanja/problema, postavite ih u komentarima, a ja ću ažurirati ovaj korak uobičajenim problemima i njihovim rješenjima.

Korak 11: Zaključak i budući rad

GOTOVO

U ovom trenutku možete ponovno pokrenuti svoj Raspberry Pi, bilo putem izbornika ili pomoću gumba za napajanje na kabelu za napajanje. Lijepa stvar kod ovog postavljanja je to što se svaki put kad se Pi pokrene (nestanak struje, pad, bilo što), pokreće u načinu rada slideshow, tako da možete uključiti napajanje prema vlastitoj volji i on bi se trebao dobro oporaviti. Nakon što ovo instalira i radi, možete ga prilično "postaviti i zaboraviti", osim ažuriranja slajdova. U našem slučaju, naš crkveni administrator tjedno ažurira slajdove, a ovaj sustav radi besprijekorno oko godinu dana.

Molimo dajte povratne informacije! Spreman sam popraviti greške ili netočnosti. Razumijem da postoji mnogo različitih načina za rad, pa nisam uzbuđen što odgovaram na pitanja poput "zašto ste koristili python umjesto {programskog jezika X}?" Ili prijedlozi koji su funkcionalno isti (poput "sudo apt" svih paketa odjednom umjesto jednog po jednog). Međutim, funkcionalna poboljšanja uvijek su dobrodošla! Trudim se da ovo bude što funkcionalnije i korisnije, a istovremeno jednostavno za instalaciju i održavanje. Posebno uživam u povratnim informacijama onih koji su imali koristi od ovog Instructable -a. Rado ću vam pomoći ako budem u mogućnosti.

Budući posao

Počinjem raditi na verziji koja će omogućiti miješanje video datoteka (sa zvukom) sa statičkim slajdovima. Mislim da za to mogu upotrijebiti vlc iz naredbenog retka. Ažurirat ću ovo ako ga uspijem natjerati da radi. Slobodno dajte prijedloge!

Preporučeni: