Sadržaj:

Poslužitelj digitalnih znakova na Raspberry Pi: 8 koraka
Poslužitelj digitalnih znakova na Raspberry Pi: 8 koraka

Video: Poslužitelj digitalnih znakova na Raspberry Pi: 8 koraka

Video: Poslužitelj digitalnih znakova na Raspberry Pi: 8 koraka
Video: CS50 2013 - Week 9 2024, Novembar
Anonim
Poslužitelj digitalnih znakova na Raspberry Pi
Poslužitelj digitalnih znakova na Raspberry Pi

Apsolutni vodič za početnike na Korzici na PI -ju od maline

Digitalni znakovi su posvuda. Možete ih vidjeti na aerodromima, u trgovačkim centrima, robnim kućama, pa čak i na uličicama. Ne trebate puno skupog prilagođenog hardvera za izgradnju vlastitog digitalnog sistema znakova. Ovaj Instructable pokazuje kako izgraditi server za digitalnu signalizaciju koji može pokretati desetke ekrana. Svaki ekran može biti jednostavan kao monitor i Raspberry PI.

Zahvaljujući Node Nindžama u Mozilli možete čak i pokrenuti server na Raspberry Pi -u koristeći Korziku.

Corsica je proširivo rješenje za digitalnu signalizaciju koje se može implementirati na većinu POSIX sistema. Sastoji se od poslužitelja i klijenata za prikaz. Klijentske mašine ne zahtijevaju poseban softver i jednostavno pokreću bilo koji moderni web preglednik, iako svi u timu Corsica toplo preporučuju Firefox. Poslužitelj troši vrlo malo resursa i sa zadovoljstvom će raditi na Raspberry Pi ili drugoj vrlo maloj mašini. Poslužitelj Corsica koji radi na Raspberry Pi 3+ lako može podržati više od 100 klijentskih ekrana. Ova uputstva su napisana posebno za Raspberry Pi sa operativnim sistemom Raspian (Debian derivat). Ove upute također pretpostavljaju da koristite preglednik Firefox. Većina drugih modernih preglednika također bi trebala raditi.

Korak 1: Raspian komandna linija

Ova uputstva će vam pokazati kako da konfigurišete Korziku putem komandne linije. Ako koristite Raspian s grafičkim korisničkim sučeljem (GUI), do naredbene linije dolazite putem aplikacije terminala. Ako koristite Raspian-lite, tada možete spojiti tastaturu i monitor i koristiti direktno komandnu liniju ili se možete povezati putem mreže pomoću SSH-a. Za više informacija o tome kako omogućiti i koristiti SSH pogledajte Raspian SSH dokumentaciju. Morat ćete znati DNS ime ili IP adresu vašeg Raspberry Pi. Zadani naziv na većini LAN -ova bit će raspberrypi.local. Ako to ne uspije, u dokumentaciji Raspian postoje upute koje će vam pomoći da otkrijete ispravno ime i IP adresu.

Korak 2: Instalacija softvera

Korzika koristi node i npm. Node vam omogućava da pokrenete Javascript na strani servera, a npm je upravitelj paketa čvorova.

Da biste ih instalirali na Raspberry Pi, prvo provjerite verziju procesora u vašem sistemu:

uname -m

Ako rezultat počinje s armv6, pogledajte ovaj blog post. Za sisteme Raspberry Pi 3 i druge s armv7 i novijim procesorima:

curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -

sudo apt install nodejs

Ako niste upoznati s Nodeom, možete saznati više na nodesource.com.

Zatim instalirajte Corsica Command Line Tools:

sudo npm install -g corsica -cli

Da biste vidjeli dostupne komande, upišite

corsica --help

Do ovog pisanja dostupne su naredbe:

setup-- za postavljanje Corsica serverapokretanje [opcije]-za pokretanje ponovnog pokretanja servera Corsica [opcije]-za ponovno pokretanje aktivnog Corsica servera za zaustavljanje-za zaustavljanje aktivnog Corsica serveradd-dodatka [ime]-za instaliranje dodatka za uklanjanje- plugin [name]-za uklanjanje instaliranih pluginlist-plugins-za popis instaliranih pluginsupdate-za ažuriranje i Korzike i njenih dodataka

Sada možete koristiti alate za postavljanje softvera Corsica:

Corsica setup

Postavka Korzike će vas pitati gdje želite instalirati Korziku i pokazati vam zadanu lokaciju:

Gdje instalirati Korziku: (/home/pi/corsica-server)

Možete jednostavno pritisnuti Return.

Vidjet ćete neke poruke upozorenja npm. Ovo je sigurno zanemariti.

Kada postavka kaže "Gotovo!", Instalirali ste Korziku.

Korziku možete pokrenuti u terminalnoj sesiji sa:

corsica start

I zaustavite to sa control-C.

Ali ako ga pokrenete na taj način, radit će samo dok traje vaša terminalska sesija. Kad zatvorite terminalnu sesiju, korzika će prestati.

Ako pokrenete Korziku u pozadini, radit će i nakon što prekinete terminalsku sesiju. To možete učiniti pomoću

corsica start -background

Da biste zaustavili izvođenje instance Corsica u pozadini, upišite:

corsica stop

Korak 3: Konfiguracija

Vašem postavljanju će vjerojatno trebati neka prilagodba. Na Korzici postoje dvije vrste prilagođavanja: konfiguracija i postavke. Konfiguracija je uglavnom statična i koristi je jezgro. Postavke su dinamične i uglavnom ih koriste dodaci. Više o postavkama kasnije.

Konfiguracija dolazi iz okruženja i služi za vrlo statične stvari, poput porta za slušanje ili dodataka za učitavanje. Postoje četiri izvora za konfiguraciju:

1. lib/config.json - Ovo je mjesto gdje se spremaju zadane postavke i dobro mjesto za vidjeti nešto od onoga što se može konfigurirati. Ovdje ne biste trebali mijenjati vrijednosti.

2. config.js - Postavke pronađene u ovoj datoteci učitavaju se kao da su iz okruženja. Sintaksa je jedna konfiguracija po retku, npr. `PORT = 8080`. Ako su ovdje važeće vrijednosti JSON, one će se kao takve raščlaniti. Postavke ovdje će nadjačati zadane vrijednosti u `lib/config.json`. Datoteka config.js u početku navodi broj porta na kojem Korzika sluša i dodatke koje sistem koristi.

3..env - Ako se skrivena datoteka pod imenom.env nalazi u direktoriju Korzika, njene postavke se učitavaju kao da su iz okruženja. Sintaksa je ista kao u config.js. Ova datoteka ne postoji u zadanoj konfiguraciji.

4. Varijable okruženja - Ako želite, možete staviti informacije o konfiguraciji u varijable okruženja sistema. Ako niste upoznati s varijablama okruženja, možete zanemariti ovu opciju.

Korak 4: Povezivanje ekrana ekrana

Kada pokrenete Corsica, ona će pokrenuti web server na portu 8080 vaše mašine, osim ako ste promijenili broj porta u.env datoteci. Morat ćete znati ime hosta ili IP adresu svog Pi -a. Zadani naziv za novu instalaciju Raspberry Pi je raspberrypi. Ako ga niste promijenili, možete samo otvoriti preglednik na računaru klijenta za prikaz i pregledati:

raspberrypi.local: 8080

Trebali biste vidjeti žuto -crni logo Korzike. Mjehurić će se pojaviti s imenom Korzike vašeg klijenta. Možete (i trebali biste) promijeniti ime svog klijenta u nešto što ukazuje na lokaciju ovog ekrana. Najlakši način za to je korištenje Potchove korzika-repl. (Potch je glavni programer Korzike i obećao je da će uskoro staviti repl u jezgru Korzike).

Otvorite karticu preglednika i potražite:

potch.github.io/corsica-repl?server=https://raspberrypi.local:8080/

(To pretpostavlja da je raspberrypi.local naziv vašeg Corsica servera).

Za ostatak ovog vodiča koristit ćemo "TestClient" kao naziv ekrana klijenta. Idite na padajući izbornik u donjem desnom kutu ekrana i pronađite ime klijenta koje se pojavilo. Zatim u komandnu liniju u donjem lijevom kutu ekrana upišite:

admin tip = preimenuj ime = TestClient

Ostavite karticu corsica-repl otvorenu i pređite na karticu preglednika s logotipom Korzike i osvježite stranicu. U skočnom prozoru vidjet ćete novo ime. Ako nestane prebrzo, zadržite pokazivač miša u donjem desnom kutu i pojavit će se gumb "Cijeli ekran" s novim imenom s lijeve strane.

Korak 5: Dodavanje sadržaja

Dodavanje sadržaja
Dodavanje sadržaja

Nakon prikazivanja logotipa Korzike, klijent će prikazati neke crtane životinje na plavoj pozadini.

Zadana oznaka u datoteci state.json sadrži popis adresa web stranica. Na ovaj način možete predstaviti bilo koju web stranicu, iako ih izgled nekih stranica čini manje prikladnima za upotrebu na Korzici.

Klijent Corsica prikazuje sadržaj iz jedne ili više oznaka na koje se pretplatio. Novi klijenti dolaze već pretplaćeni na oznaku pod nazivom "default".

Crtane životinje su slatke, ali dodajmo neke korisne sadržaje u rotaciju ekrana na našem testnom klijentu.

Vratite se na karticu corsica-repl i u komandnu liniju u donjem lijevom kucanju:

admin type = subscribe tag = weather

Vratite se na karticu klijenta za prikaz i osvježite stranicu.

Vremenska prognoza za San Jose, California, bit će dodana na popis prikazanih URL -ova.

Naš uzorak datoteke state.json sadrži tri oznake pod nazivom "default", "weather" i "images". Oznaka "images" sadrži veze do više datoteka sa slikama crtanih životinja (.png). Dodajmo ih tako da se vratimo na karticu corsica-repl i upišemo:

admin type = subscribe tag = images

Ponovo se vratite na karticu klijenta za prikaz i osvježite stranicu. Vidjet ćete neke nove životinje dodane u rotaciju. No, primijetite da se nove životinje pojavljuju na lijevom rubu stranice s bijelom pozadinom. To je zato što su crtići s plavom pozadinom navedeni u state.json kao urlovi koji upućuju na odgovarajuću web stranicu napisanu na html -u. Novi crtani filmovi s bijelom pozadinom navedeni su u state.json kao urlovi koji samo upućuju na-p.webp

Možemo poboljšati način na koji Korzika prikazuje te grafike, ali da bismo to učinili, morat ćemo "proširiti" samu Korziku.

Korak 6: Proširenje Korzike

Proširenje Korzike
Proširenje Korzike

Više od desetak npm dodataka za Korziku dostupno je na npm web stranici. Slijedite tu vezu i unesite "corsica" u okvir za pretraživanje na vrhu stranice da vidite njihov popis. Koristit ćemo jedan od tih dodataka npm kako bismo vam omogućili prikazivanje naših novih životinja. Također je korisno prikazati bilo koju sliku koju pronađete na webu, bez prikazivanja ometajućih grafika koje okružuju sliku.

Idite na komandnu liniju Corsica, zaustavite Corsica i instalirajte dodatak corsica-image:

corsica add-plugin corsica-image

Zatim ponovo pokrenite Korziku:

corsica start

Otvorite karticu corsica display client u svom pregledniku i osvježite stranicu. Trebali biste vidjeti nove životinje prikazane centrirane na ekranu s tamnoplavom pozadinom.

Korak 7: Prilagođavanje sadržaja

Pogledajmo razliku između toga što rade url -ovi u zadanoj oznaci i oni u oznaci images. Pogledajte state.json tako što ćete otići na komandnu liniju Korzike i upisati:

cat ~/corsica-server/state.json

U odjeljku "zadano" te datoteke pronaći ćete redak koji izgleda ovako:

"https://ramilewski.github.io/corsica-support/show.html?image=kitty.png", Ovaj url je veza na web stranicu sa crtićem mačića. Ta web stranica prikazuje sliku, ali također pruža pozadinu koja je gradijent koji počinje na vrhu stranice kao plava boja, a blijedi na bijelo pri dnu stranice. Tu pozadinu stvaraju CSS i HTML web stranice. To nije dio same grafike.

Odjeljci "slike" na stranici imaju liniju koja izgleda ovako:

"https://ramilewski.github.io/corsica-support/bunny.png bg =#2244BB", Ovo je url koji navodi vezu do-p.webp

"#2244BB" je heksadecimalni zapis za tamno plavu boju. Za alat koji će vam pomoći da navedete bilo koju boju u heksadecimalnom zapisu pogledajte MDN birač boja.

Pri prikazivanju ove linije Korzika je koristila dodatak corsica-image za iscrtavanje prikaza. To znači da ako pronađete sliku koju želite prikazati na ekranima klijenta Corsica, možete stvoriti liniju u state.json koja će prikazivati samo tu sliku, ali ne i bilo koji drugi sadržaj koji odvlači pažnju okolne stranice. Da biste pronašli url slike u Firefoxu, desnom tipkom miša kliknite sliku i odaberite "Kopiraj lokaciju slike" u kontekstnom izborniku koji se pojavi.

Odjeljak "vrijeme" state.json ima samo jedan URL. Ovo dohvaća vremensku prognozu s https://forecast.io. Ali ako ne živite u San Joseu, ta prognoza nije od velike koristi. Da biste dobili prognozu za svoju lokaciju, morate znati geografsku širinu i dužinu u decimalnim stupnjevima. Ako to ne učinite, postoji web-alat koji će vam omogućiti da ga pronađete.

Trenutno url u retku u state.json koji navodi vremensku prognozu izgleda ovako:

"https://forecast.io/embed/#lat=37.3352&lon=-121.8871&name=San%20Jose%20CA&color=#4466bb zoom = 300"

Da biste dobili prognozu za svoju lokaciju, promijenite unose u zemljopisnom i dužinskom položaju u tom retku i promijenite naziv u svoju lokaciju. Koristite %20 umjesto razmaka u nazivu mjesta. Parametar boje određuje boju šipki između visoke i niske temperature. Parametar zuma koristi se za podešavanje veličine predviđanja tako da stane na ekran.

Kada kreirate vlastitu datoteku state.json, imajte na umu da će se, ako imate "zadanu" oznaku, bilo koji sadržaj naveden u toj oznaci pojaviti u bilo kojem pregledniku koji se povezuje s poslužiteljem bez daljnje konfiguracije.

Prikaz vremena

Pri vrhu state.json postoje neke postavke koje kontroliraju koliko dugo se svaka slika prikazuje na ekranu.

"settings:: timer": {

"resetTime": 30000, "jitter": 5000, Sva se vremena mjere u milisekundama (hiljaditim dijelovima sekunde). Vrijeme resetiranja je maksimalno vrijeme prikaza svake slike na ekranu prije nego što se prikaže sljedeći ekran. Drhtavica se množi slučajnim brojem između -1 i 1 i rezultat se dodaje u resetTime. Ovo pruža određenu raznolikost u vremenu prikaza. Ako želite, možete postaviti jitter na 0. Prikazane postavke će rezultirati time da se svaka stranica prikazuje između 25 i 35 sekundi.

Također možete postaviti različito vrijeme za svakog klijenta za prikaz:

"settings:: timer": {

"resetTime": 30000, "jitter": 5000, "resetOnConnect": true, "screens": {"TestClient": {"resetTime": 10000, "jitter": 1000}}}, Ovdje smo postavili vrijeme prikaza za naš TestClient između 9 i 11 sekundi.

Korak 8: Zaključak

Pokazali smo kako instalirati i konfigurirati Corsica server na Raspberry Pi. S ovim što ste ovdje naučili, možete izgraditi svestran, vrlo jeftin sistem digitalne signalizacije. Raspberry Pis možete koristiti ne samo kao poslužitelj u svom sistemu, već i za pokretanje prikaza klijenata.

Na web stranici npm postoji još mnogo dodataka koje možete koristiti za dodavanje drugih mogućnosti instalaciji Corsica, uključujući prikazivanje:

  • Slike sa Flickr -a
  • Tweets
  • Razgovori na IRC kanalu
  • Video datoteke
  • YouTube videozapisi
  • Slajdovi u Google prezentacijama
  • XKCD crtani filmovi
  • Sadržaj iz RSS izvora

Krediti

Korzika je stvaranje Node ninja trećeg stepena sa crnim pojasom iz Mozille koju vode Potch, Lonnen i Mythmon.

Ove upute za Korziku na malini Pis je Richard pobrkao zajedno.

Obično možete pronaći sve koji vrebaju oko kanala #corsica na irc.mozilla.org.

Preporučuje se: