Sadržaj:

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

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

Video: Raspberry Pi oglasna ploča: 11 koraka (sa slikama)
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Novembar
Anonim
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 oglasna ploča

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 dizajnerski ciljevi:

  • 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 naknada ili vlasničkog softvera, osim onoga što smo već imali (Windows, Office, Powerpoint)
  • Ekran od 49 ", u portretnom/vertikalnom režimu (mada je moguć i pejzažni/horizontalni režim koji je opisan u nastavku)
  • Željena cijena: <1000 USD

Uspjeli smo to učiniti i ušli smo u budžet. Nedavno sam pomogao drugoj obližnjoj crkvi da uradi isti projekat, a ukupni troškovi (ne uključujući troškove električara koji dovodi struju 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), ovo bi se također dobro uklopilo u škole, biblioteke, muzeje, neprofitne organizacije ili druge organizacije s ograničenim budžetom.

Povratne informacije su dobrodošle.

Korak 1: Lista opreme

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

Evo spiska opreme koju smo koristili. Dodaju se komentari. Pokušavam se povezati s web lokacijom proizvođača gdje je to moguće, a ne s trgovcem.

  • TV/monitor. Većina modernih televizora ili monitora će to raditi 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 montiranje u vertikalnom/portretnom ili u horizontalnom/pejzažnom režimu. Televizori su dizajnirani tako da budu vodoravni, pa je njihovo postavljanje okomito malo teže. Također, mnogi televizori su asimetrični odozgo prema dolje (tj. Donji rub je često veći od vrha), pa njegovo postavljanje okomito može izgledati pomalo čudno. Ipak, televizori su generalno jeftiniji, pa smo otišli sa televizorom. Naravno, ako je vaša orijentacija pejzaž, to nije važno. Išli smo s ovim: LG 49 -inčni LED televizor.
  • TV nosač: Ovo je bilo nezgodno jer smo kupili televizor i htjeli ga montirati okomito. Treba uzeti u obzir stil montiranja i to hoće li biti vidljiv, posebno ako je televizor postavljen okomito. Nosač se postavlja na zid u istoj orijentaciji kao da televizor postavljate vodoravno. Ako se odlučite za postavljanje televizora okomito, 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 montiranje u kvadratnom uzorku, dok su neki pravokutnog uzorka. Razmislite o ovome i provjerite da li će montaža raditi na željenoj lokaciji prije kupovine.
  • Raspberry Pi, kućište, kabeli, hladnjak, ventilator itd.: Preporučujem da nabavite najnoviju i najbolju verziju. U vrijeme izgradnje projekta 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, želimo kućište s ventilatorom, iako mirnim. A kabel za napajanje s ugrađenim prekidačem za napajanje olakšava resetiranje sistema bez potrebe za povlačenjem 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 ispod).

    • 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 kabl: 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. Predugačak je kabel i to će se pokazati. Takođe razmislite o tome gdje se HDMI priključci nalaze na TV-u/monitoru i da li biste mogli razmotriti kraj kabla od 90 stepeni (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 (kontrola potrošačke elektronike) dozvoljava da se neke komponente međusobno kontrolišu putem HDMI kabla. Na primjer, DVD uređaj može uključiti/isključiti povezani TV putem HDMI kabela ako oba podržavaju CEC. Ovo 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 tokom sati kada je crkva otvorena, a to varira ovisno o danu u sedmici. CEC dozvoljava 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 stranici Raspberry Pi postoji odličan vodič. Slijedite ta uputstva da biste ga postavili.

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

Kada 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 ne mora biti. Odnosno, ovaj korak možete učiniti kod kuće prije postavljanja na konačnu lokaciju. Ne zaboravite postaviti novu internetsku vezu prije posljednjeg ponovnog pokretanja u posljednjem koraku.

Otvorite prozor terminala (kliknite na crnu pravokutnu ikonu u gornjem lijevom kutu ekrana).

Prvo dvaput provjeravamo ima li daljnjih ažuriranja Raspbian-a. Ukucajte sljedeće redove, jedan po jedan

sudo apt update

sudo apt upgrade

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

Zatim instaliramo Samba, koja omogućava dijeljenje foldera sa Windows mašinama na mreži.

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

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

sudo apt install fbi

Zatim instaliramo inotify-tools. inotify-tools omogućava slideshow-u da u zajedničkoj mapi gleda bilo kakve promjene.

sudo apt install inotify-tools

Zatim instaliramo cec-utils. cec-utils omogućava Raspberry Pi-u 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 dijaprojekcije traži direktorij (mapu) /dijeljeno /prezentaciju.

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

sudo mkdir -p /shared /Prezentacija

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

sudo chmod a+rwx /shared /Presentation

Ovo ga čini vidljivim samo na ovom Pi. Zatim moramo podijeliti ovu mapu sa svijetom (zapravo, samo druge mašine 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.

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

Moramo dodati hrpu redova na kraj te datoteke. Linije se nalaze 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 nanoa, ako želite, ali to je prilično puno tipkanja.

U osnovi, on 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 linux pomoćni program koji izvršava zadatke u zakazano vrijeme. Ako želite da vaš TV/monitor radi 24 sata dnevno ili želite da ga uključite i isključite ručno, 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 je primjer 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

  • Nedelja: 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:00, isključeno u 17:00

Nano mi se sviđa jer je instaliran na Raspbian -u i jednostavan je za upotrebu. 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. Kada završite, pritisnite Control-O za spremanje (morat ćete pritisnuti "enter" za potvrdu imena datoteke) i Control-X za izlaz iz nano.

Jednom kada napravite 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 ponovo izvršiti naredbu crontab odmah 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 da li smo 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 postavke koje vas zanimaju su:

slučajno = netačno

blend-msecs = 500

timeout = 8

Slučajna linija određuje hoće li fbi nasumično rasporediti slajdove. 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 periodu od 0,5 sekundi.

Timeout je vrijeme (u sekundama) za prikaz svakog slajda prije prelaska na sljedeći. Ovo 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 ekrana

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.

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

sudo nano /boot/config.txt

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

display_rotate = 1

Ovo će rotirati ekran za 90 stepeni. Ako je nakon montaže vaš zaslon okrenut naopako, promijenite 1 u 3.

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

Na gornjoj slici smo postavili display_rotate = 1 i morali smo se vratiti i promijeniti ga na display_rotate = 3. Mnogo lakše od ponovnog postavljanja 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!

Kliknite na izbornik maline u gornjem lijevom kutu, odaberite Postavke-> Raspberry Pi konfiguracija

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

Možete izabrati promjenu naziva sistema (polje Hostname).

Obavezno kliknite Boot "To CLI"

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

Sada morate postaviti pokretanje slideshowa pri pokretanju. Najlakši način je da dodate jednu liniju u svoju.bashrc datoteku. Pokretanje našeg nano uređivača:

nano.bashrc

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

python3 raspi_slideshow/play_slideshow.py

Ove postavke znače sljedeće:

  • Kad god se ponovo 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")
  • Pokrenuće bash ljusku koja čita.bashrc datoteku, a poslednji red te datoteke kaže da pokrenete prezentaciju.

Nakon toga, ponovno pokretanje sistema NEĆE pokrenuti upravitelj prozora i automatski će pokrenuti prezentaciju. Slideshow možete zaustaviti pritiskom na Control-C tokom slideshow-a. Ovo će vas odbiti natrag na bash prompt ($).

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

Korak 9: Koristite (Postavljanje Windows mašine)

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

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

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

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

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

Obavezno kliknite "Ponovo se poveži pri prijavi". Moguće je da ako se Raspberry Pi isključi kada se Windows računar pokrene, ovaj korak će se možda morati ponoviti (ili ponovo pokrenuti Windows računar) da bi se videla deljena fascikla.

Ako odaberete zaštitu mape lozinkom, možete dodati vjerodajnice odabirom "Poveži se koristeći različite vjerodajnice" 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 foldera Prezentacija, i ništa na nivou iznad toga (deljeno). Stoga ponekad koristimo trik stavljanja često korištenih slajdova na najviši nivo, a zatim ih prema potrebi povlačimo u mapu Prezentacija ili izvan nje.

Upamtite, kada se bilo šta u fascikli prezentacije promijeni (datoteke se dodaju, izbrišu ili izmijene), skripta slideshowa čeka 2 minute (120 sekundi, može se konfigurirati u play_slideshow.py, traži vrijeme čekanja) prije postavljanja i prikaza novih slajdova. To daje osobi vremena da izvrši sve potrebne izmjene bez resetiranja 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 Microsoft PowerPoint ili sličnog programa. U Microsoft PowerPointu možete generirati onoliko slajdova koliko želite i spremiti ih kao PowerPoint prezentaciju. Zatim kliknite Datoteka-> Izvoz-> Promijeni vrstu datoteke i spremite kao PNG ili JPEG. Ovo će prikazati slajdove kao pojedinačne datoteke, npr. slide1.png, slide2.png, itd. Zatim možete povući i ispustiti pojedinačne datoteke u Z: / Presentation (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 svoju ekstenziju (npr.. Png). Skripta projekcije slajdova trenutno traži samo datoteke sa sljedećim ekstenzijama:.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 napajanjem.

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

DONE

U ovom trenutku možete ponovo pokrenuti svoj Raspberry Pi, bilo putem izbornika ili pomoću gumba za napajanje na kabelu za napajanje. Lijepa stvar u vezi s ovim postavljanjem je to što se svaki put kad se Pi pokrene (nestanak struje, pad, bilo što) pokreće u načinu prikaza slajdova, tako da možete uključiti napajanje po želji i trebalo bi se oporaviti. Nakon što ovo instalira i funkcionira, možete ga prilično "postaviti i zaboraviti", osim ažuriranja slajdova. U našem slučaju, naš crkveni administrator ažurira slajdove sedmično, a ovaj sistem radi besprijekorno oko godinu dana.

Molimo vas pošaljite 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 su uvijek 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 uputstva. 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 koristiti vlc iz komandne linije. Ažurirat ću ovo ako uspijem natjerati ga da radi. Slobodno dajte prijedloge!

Preporučuje se: