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, Srpanj
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. Viđate ih u zračnim lukama, trgovačkim centrima, robnim kućama, pa čak i na uglovima ulica. Ne trebate puno skupog prilagođenog hardvera za izgradnju vlastitog sustava digitalnih znakova. Ovaj Instructable pokazuje kako izgraditi poslužitelj za digitalnu signalizaciju koji može pokrenuti desetke zaslona. Svaki zaslon može biti jednostavan kao monitor i Raspberry PI.

Zahvaljujući Node Ninjama u Mozilli možete čak i pokrenuti poslužitelj 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 sustava. Sastoji se od poslužitelja i klijenata za prikaz. Klijentski strojevi ne zahtijevaju poseban softver i jednostavno pokreću bilo koji moderni web preglednik, iako svi u timu na Korzici toplo preporučuju Firefox. Poslužitelj troši vrlo malo resursa i sa zadovoljstvom će raditi na Raspberry Pi ili drugom vrlo malom stroju. Poslužitelj Corsica koji radi na Raspberry Pi 3+ lako može podržati više od 100 klijentskih zaslona. Ove upute napisane su posebno za Raspberry Pi s operacijskim sustavom Raspian (izvedba Debian). Ove upute također pretpostavljaju da koristite preglednik Firefox. Većina drugih modernih preglednika također bi trebala raditi.

Korak 1: Raspianska naredbena linija

Ove upute će vam pokazati kako konfigurirati Korziku putem naredbenog retka. Ako koristite Raspian s grafičkim korisničkim sučeljem (GUI), do naredbenog retka dolazite putem aplikacije terminala. Ako koristite Raspian-lite, tada možete spojiti tipkovnicu i monitor te izravno koristiti naredbeni redak ili se možete povezati putem mreže putem SSH-a. Za više informacija o tome kako omogućiti i koristiti SSH pogledajte dokumentaciju Raspian SSH. 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 otkriti ispravno ime i IP adresu.

Korak 2: Instalacija softvera

Korzika koristi čvor i npm. Node vam omogućuje pokretanje poslužiteljskog Javascripta, a npm je upravitelj paketa čvorova.

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

uname -m

Ako rezultat počinje s armv6, pogledajte ovaj blog post. Za sustave 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 alate za naredbeni redak Corsica:

sudo npm install -g corsica -cli

Da biste vidjeli dostupne naredbe, upišite

korzika -pomoć

Do ovog pisanja dostupne su naredbe:

setup-za postavljanje Corsica poslužiteljapokretanje [opcije]-za pokretanje ponovnog pokretanja poslužitelja Corsica [opcije]-za ponovno pokretanje pokrenutog poslužitelja Corsicastopstop-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:

postavljanje Korzike

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. To je sigurno zanemariti.

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

Korziku možete pokrenuti u terminalnoj sesiji sa:

Korzika početak

I zaustavite to sa control-C.

No 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 s

corsica start -pozadina

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

korzika stop

Korak 3: Konfiguracija

Vaše postavljanje vjerojatno će trebati prilagodbu. Na Korzici postoje dvije vrste prilagođavanja: konfiguracija i postavke. Konfiguracija je uglavnom statična i koristi je jezgra. 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 - Ovdje 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. `LUKA = 8080`. Ako su ovdje važeće vrijednosti JSON, one će se kao takve raščlaniti. Ovdje postavke nadjačat će zadane vrijednosti u `lib/config.json`. Datoteka config.js u početku navodi broj porta na kojem Korzika sluša i dodatke koje sustav koristi.

3..env - Ako se skrivena datoteka s imenom.env nalazi u direktoriju Korzika, njezine se postavke 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, informacije o konfiguraciji možete staviti u varijable okruženja sustava. Ako niste upoznati s varijablama okruženja, možete zanemariti ovu opciju.

Korak 4: Povezivanje zaslona zaslona

Nakon što pokrenete Corsica, pokrenut će web poslužitelj na portu 8080 vašeg računala, 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 označava mjesto ovog zaslona. Najlakši način za to je korištenje Potchove korzike-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 poslužitelja Corsica).

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

admin type = preimenovanje = TestClient

Ostavite karticu corsica-repl otvorenu i prijeđite na karticu preglednika s logotipom Korzike te osvježite stranicu. Novi naziv vidjet ćete u skočnom oblačiću. Ako nestane prebrzo, zadržite pokazivač miša u donjem desnom kutu i pojavit će se gumb "Cijeli zaslon" 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 životinje iz crtića 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 s jedne ili više oznaka na koje se pretplatio. Novi klijenti dolaze već pretplaćeni na oznaku pod nazivom "default".

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

Vratite se na karticu corsica-repl i u naredbeni redak dolje lijevo unesite:

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 na 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

Ponovno se vratite na karticu klijenta za prikaz i osvježite stranicu. Vidjet ćete da su 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 crtići 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 web stranici npm. Slijedite tu vezu i unesite "corsica" u okvir za pretraživanje pri vrhu stranice kako biste vidjeli njihov popis. Koristit ćemo jedan od tih dodataka npm kako bismo vam omogućili prikaz naših novih životinja. Također je korisno prikazati bilo koju sliku koju nađete na webu, bez prikazivanja ometajućih slika koje okružuju sliku.

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

corsica add-plugin corsica-image

Zatim ponovno pokrenite Korziku:

Korzika početak

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 da odete na naredbenu liniju Korzike i upišete:

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 s 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. Nije dio same grafike.

Odjeljci "slike" na stranici imaju redak koji 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 u navođenju bilo koje boje u heksadecimalnom zapisu pogledajte MDN alat za odabir boja.

U prikazivanju ove linije Korzika je upotrijebila dodatak corsica-image za iscrtavanje zaslona. To znači da ako pronađete sliku koju želite prikazati na zaslonima klijenta Corsica, možete stvoriti redak u state.json koji će prikazati 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. No, osim ako živite u San Joseu, ta prognoza nije od velike koristi. Da biste dobili prognozu za svoju lokaciju, morate znati zemljopisnu š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 zemljopisnom 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 zaslon.

Kada stvarate 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 (tisućinke sekunde). Vrijeme resetiranja je maksimalno vrijeme prikaza svake slike na zaslonu prije nego što se prikaže sljedeći zaslon. Drhtavica se množi slučajnim brojem između -1 i 1 i rezultat se dodaje u resetTime. To pruža određenu raznolikost u vremenu prikaza. Možete postaviti jitter na 0 ako želite. Prikazane postavke rezultirat će prikazivanjem svake stranice između 25 i 35 sekundi.

Također možete postaviti različita vremena za svakog klijenta zaslona:

"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 poslužitelj Corsica na Raspberry Pi. S ovim što ste ovdje naučili, možete izgraditi svestran, vrlo jeftin sustav digitalne signalizacije. Raspberry Pis možete koristiti ne samo kao poslužitelj u svom sustavu, već i za pokretanje prikaza klijenata.

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

  • Slike sa Flickra
  • Tweetovi
  • Razgovori na IRC kanalu
  • Video datoteke
  • YouTube videozapisi
  • Slajdovi u Googleovim prezentacijama
  • XKCD crtići
  • Sadržaj iz RSS izvora

Zasluge

Korzika je stvaranje trećih stupnjeva čvorova Ninja Ninja iz Mozille koju vode potch, lonnen i mitmon.

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čeni: