Kazalo:

Strežnik za digitalne znake na Raspberry Pi: 8 korakov
Strežnik za digitalne znake na Raspberry Pi: 8 korakov

Video: Strežnik za digitalne znake na Raspberry Pi: 8 korakov

Video: Strežnik za digitalne znake na Raspberry Pi: 8 korakov
Video: CS50 2015 - Week 7, continued 2024, November
Anonim
Strežnik za digitalne znake na Raspberry Pi
Strežnik za digitalne znake na Raspberry Pi

Absolutni začetniški vodnik po Korziki na malini PI

Digitalni znaki so povsod. Vidite jih na letališčih, v nakupovalnih središčih, veleblagovnicah in celo na vogalih ulic. Za izdelavo lastnega sistema digitalnih znakov ne potrebujete veliko drage strojne opreme po meri. Ta Instructable prikazuje, kako zgraditi strežnik za digitalno označevanje, ki lahko poganja več deset zaslonov. Vsak zaslon je lahko preprost kot monitor in Raspberry PI.

Zahvaljujoč Node Ninjas pri Mozilli lahko celo strežnik zaženete na Raspberry Pi s pomočjo Korzike.

Korzika je razširljiva rešitev za digitalno označevanje, ki jo je mogoče implementirati v večino sistemov POSIX. Sestavljen je iz odjemalcev strežnika in zaslona. Odjemalski stroji ne potrebujejo posebne programske opreme in preprosto zaženejo kateri koli sodoben spletni brskalnik, čeprav vsi v skupini Corsica zelo priporočajo Firefox. Strežnik porabi zelo malo virov in bo z veseljem deloval na Raspberry Pi ali drugem zelo majhnem računalniku. Strežnik Corsica, ki deluje na Raspberry Pi 3+, lahko enostavno podpira več kot 100 odjemalčevih zaslonov. Ta navodila so napisana posebej za Raspberry Pi z operacijskim sistemom Raspian (izpeljanka Debian). Ta navodila predvidevajo tudi, da uporabljate brskalnik Firefox. Večina drugih sodobnih brskalnikov bi morala delovati.

Korak 1: Ukazna vrstica Raspian

Ta navodila vam bodo pokazala, kako konfigurirati Korziko prek ukazne vrstice. Če uporabljate Raspian z grafičnim uporabniškim vmesnikom (GUI), pridete do ukazne vrstice prek terminalske aplikacije. Če uporabljate Raspian-lite, lahko povežete tipkovnico in monitor ter neposredno uporabite ukazno vrstico ali pa se povežete prek omrežja s pomočjo SSH. Za več informacij o tem, kako omogočite in uporabljate SSH, glejte dokumentacijo Raspian SSH. Vedeti morate ime DNS ali naslov IP vašega Raspberry Pi. Privzeto ime v večini omrežij LAN bo raspberrypi.local. Če to ne deluje, so v dokumentaciji Raspian navodila, ki vam bodo pomagala odkriti pravilno ime in naslov IP.

2. korak: Namestitev programske opreme

Korzika uporablja node in npm. Node vam omogoča zagon strežnika Javascript, npm pa je upravitelj paketov vozlišč.

Če jih želite namestiti na Raspberry Pi, najprej preverite različico procesorja v vašem sistemu:

uname -m

Če se rezultat začne z armv6, si oglejte to objavo na spletnem dnevniku. Za sisteme Raspberry Pi 3 in druge s procesorji armv7 in novejšimi:

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

sudo apt namestite nodejs

Če Node ne poznate, lahko več izveste na nodesource.com.

Nato namestite orodja ukazne vrstice Corsica:

sudo npm install -g corsica -cli

Če si želite ogledati razpoložljive ukaze, vnesite

Korzika -pomoč

Od tega pisanja so na voljo ukazi:

nastavitev-za nastavitev strežnika Corsicastart [možnosti]-za zagon ponovnega zagona strežnika Corsica [možnosti]-za ponovni zagon delujočega strežnika Corsicastop-za ustavitev tečejoče strežnice Corsica serveradd-plugin [name]-za namestitev vtičnika za odstranitev- plugin [name]-za odstranitev nameščenih pluginlist-plugins-za seznam nameščenih pluginsupdate-za posodobitev tako Korzike kot njenih vtičnikov

Zdaj lahko z orodji nastavite programsko opremo Corsica:

nastavitev korzike

Nastavitev Corsica vas bo vprašala, kam želite namestiti Corsica, in prikazala privzeto lokacijo:

Kje namestiti Corsica: (/home/pi/corsica-server)

Lahko preprosto pritisnete Return.

Videli boste nekaj opozorilnih sporočil npm. Te je varno prezreti.

Ko nastavitev pravi "Končano!", Ste namestili Korziko.

Korziko lahko v terminalni seji zaženete z:

začetek Korzike

In ustavite s kontrolnikom-C.

Če pa ga tako zaženete, bo deloval le, dokler bo potekala vaša terminalska seja. Ko zaprete terminalsko sejo, se bo Korzika ustavila.

Če zaženete Korziko v ozadju, bo delovala tudi potem, ko prekinete terminalsko sejo. To lahko storite s

Korzika start -ozadje

Če želite ustaviti izvajanje primerka Corsica v ozadju, vnesite:

Corsica stop

3. korak: Konfiguracija

Vaša nastavitev bo verjetno potrebovala nekaj prilagoditev. Na Korziki obstajata dve vrsti prilagajanja: konfiguracija in nastavitve. Konfiguracija je večinoma statična in jo uporablja jedro. Nastavitve so dinamične in jih večinoma uporabljajo vtičniki. Več o nastavitvah kasneje.

Konfiguracija prihaja iz okolja in je namenjena zelo statičnim stvarem, kot so vrata za poslušanje ali vtičniki za nalaganje. Za konfiguracijo obstajajo štirje viri:

1. lib/config.json - Tu so shranjene privzete vrednosti in dobro mesto za ogled nekaterih nastavitev. Tu ne bi smeli spreminjati vrednosti.

2. config.js - Nastavitve v tej datoteki se naložijo, kot da so iz okolja. Sintaksa je ena konfiguracija na vrstico, npr. `PORT = 8080 . Če so tukaj veljavne vrednosti JSON, bodo kot take razčlenjene. Tu nastavitve preglasijo privzete vrednosti v `lib/config.json`. Datoteka config.js sprva določa številko vrat, na katerih posluša Corsica, in vtičnike, ki jih uporablja sistem.

3..env - Če je skrita datoteka z imenom.env v imeniku Korzike, se njene nastavitve naložijo, kot da so iz okolja. Sintaksa je enaka kot v config.js. Ta datoteka ne obstaja v privzeti konfiguraciji.

4. Spremenljivke okolja - Če želite, lahko v spremenljivke sistemskega okolja vnesete informacije o konfiguraciji. Če spremenljivk okolja ne poznate, lahko to možnost prezrete.

4. korak: Priključitev zaslonskih zaslonov

Ko zaženete Korziko, bo zagnala spletni strežnik na vratih 8080 vašega računalnika, razen če ste spremenili številko vrat v datoteki.env. Vedeti morate ime gostitelja ali naslov IP svojega Pi. Privzeto ime za novo namestitev Raspberry Pi je raspberrypi. Če ga niste spremenili, lahko preprosto odprete brskalnik na odjemalcu za prikaz in poiščete:

raspberrypi.local: 8080

Videti bi morali rumeno -črni logotip Korzike. Pojavi se mehurček z imenom vaše stranke na Korziki. Ime svoje stranke lahko (in morate) spremenite v nekaj, kar označuje lokacijo tega zaslona. Najlažji način za to je, da uporabite Potchovo korziko-repl. (Potch je glavni razvijalec Korzike in obljubil je, da bo v kratkem kmalu postavil repl v jedro Korzike).

Odprite zavihek brskalnika in poiščite:

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

(To predpostavlja, da je raspberrypi.local ime vašega strežnika Corsica).

Za preostanek te vadnice bomo kot ime prikaza odjemalca uporabljali "TestClient". Pojdite na spustni meni v spodnjem desnem kotu zaslona in poiščite ime odjemalca, ki se je pojavilo. Nato v ukazno vrstico v spodnjem levem kotu zaslona vnesite:

admin type = preimenuj ime = TestClient

Zavihek corsica-repl pustite odprt in preklopite na zavihek brskalnika, ki prikazuje logotip Corsica, in osvežite stran. Novo ime boste videli v pojavnem oblačku. Če prehitro izgine, premaknite miško v spodnji desni kot in pojavil se bo gumb »Celozaslonski način« z novim imenom na levi.

5. korak: Dodajanje vsebine

Dodajanje vsebine
Dodajanje vsebine

Po prikazovanju logotipa Korzike bo stranka prikazala nekaj risanih živali na modrem ozadju.

Privzeta oznaka v datoteki state.json vsebuje seznam naslovov spletnih strani. Na ta način lahko predstavite katero koli spletno stran, čeprav so zaradi postavitve nekaterih strani manj primerne za uporabo s Korziko.

Odjemalec Corsica prikaže vsebino iz ene ali več oznak, na katere je naročen. Nove stranke so že naročene na oznako z imenom "default".

Živalske risanke so srčkane, vendar naj dodamo nekaj uporabne vsebine do vrtenja zaslona na naši testni stranki.

Vrnite se na zavihek corsica-repl in v ukazno vrstico spodaj levo vnesite:

admin type = subscribe tag = weather

Preklopite nazaj na zavihek odjemalca zaslona in osvežite stran.

Na seznam prikazanih URL -jev bo dodana vremenska napoved za San Jose, California.

Naša vzorčna datoteka state.json vsebuje tri oznake z imenom "default", "weather" in "images". Oznaka "images" vsebuje povezave do več datotek z risanimi živalskimi slikami (.png). Dodajte jih tako, da se preklopite nazaj na zavihek corsica-repl in vnesete:

admin type = subscribe tag = images

Spet se vrnite na zavihek odjemalca zaslona in osvežite stran. V rotaciji boste videli nekaj novih živali. Vendar opazite, da se nove živali pojavijo na levem robu strani z belim ozadjem. To je zato, ker so risbe z modrim ozadjem navedene v state.json kot URL -ji, ki kažejo na ustrezno spletno stran, napisano v html -ju. Nove risbe z belim ozadjem so navedene v state.json kot URL -ji, ki kažejo samo na grafične datoteke-p.webp

Lahko izboljšamo način prikaza te grafike s strani Korzike, a za to bomo morali "razširiti" samo Korziko.

6. korak: razširitev Korzike

Razširitev Korzike
Razširitev Korzike

Na spletnem mestu npm je na voljo več kot ducat vtičnikov npm Corsica. Sledite tej povezavi in v iskalno polje na vrhu strani vnesite »korzika«, da si ogledate njihov seznam. Uporabili bomo enega od teh vtičnikov npm za prikaz naših novih živali. Prav tako je koristno prikazati katero koli sliko, ki jo najdete v spletu, ne da bi pri tem prikazali moteče grafike, ki obkrožajo sliko.

Pojdite v ukazno vrstico Corsica, ustavite Corsica in namestite vtičnik corsica-image:

corsica add-plugin corsica-image

Nato znova zaženite Korziko:

začetek Korzike

V brskalniku odprite zavihek odjemalca zaslona Corsica in osvežite stran. Morali bi videti nove živali, prikazane na sredini s temno modrim ozadjem.

7. korak: prilagajanje vsebine

Oglejmo si razliko med tem, kaj počnejo URL -ji v privzeti oznaki, in tistimi v oznaki images. Oglejte si state.json tako, da odprete ukazno vrstico Korzika in vnesete:

cat ~/corsica-server/state.json

V razdelku »privzeto« te datoteke boste našli vrstico, ki izgleda tako:

"https://ramilewski.github.io/corsica-support/show.html?image=kitty.png",

Ta URL je povezava do spletne strani z risanko mucka. Ta spletna stran prikazuje sliko, vsebuje pa tudi ozadje, ki je gradient, ki se začne na vrhu strani kot modra barva in zbledi v belo na dnu strani. To ozadje ustvarita CSS in HTML spletne strani. Ni del same grafike.

Razdelki "slike" na strani imajo vrstico, ki izgleda tako:

"https://ramilewski.github.io/corsica-support/bunny.png bg =#2244BB",

To je URL, ki podaja povezavo do slike-p.webp

"#2244BB" je šestnajstiški zapis za temno modro barvo. Za orodje, ki vam pomaga določiti katero koli barvo v šesterokotni notaciji, glejte MDN Color Picker.

Pri prikazovanju te vrstice je Korzika za upodabljanje zaslona uporabila vtičnik corsica-image. To pomeni, da če najdete sliko, ki jo želite prikazati na zaslonih odjemalca Corsica, lahko ustvarite vrstico v state.json, ki bo prikazala samo to sliko, ne pa tudi druge moteče vsebine okoliške strani. Če želite poiskati URL slike v Firefoxu, z desno miškino tipko kliknite sliko in v kontekstnem meniju, ki se prikaže, izberite »Kopiraj lokacijo slike«.

Oddelek "vreme" state.json ima samo en URL. To prinaša vremensko napoved s spletnega mesta https://forecast.io. Toda če ne živite v San Joseju, ta napoved ni zelo uporabna. Če želite dobiti napoved za svojo lokacijo, morate vedeti njeno zemljepisno širino in dolžino v decimalnih stopinjah. Če tega ne storite, obstaja spletno orodje, ki vam bo omogočilo, da ga najdete.

Trenutno je url v vrstici v state.json, ki določa vremensko napoved, videti tako:

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

Če želite dobiti napoved za svojo lokacijo, spremenite zemljepisne in dolge vnose v tej vrstici in spremenite ime v svojo lokacijo. Namesto presledkov v imenu mesta uporabite %20. Barvni parameter določa barvo palic med visoko in nizko temperaturo. Parameter povečave se uporablja za prilagoditev velikosti napovedi, da se prilega zaslonu.

Ko ustvarite svojo datoteko state.json, ne pozabite, da se bo vsaka vsebina, navedena v tej oznaki, pojavila v katerem koli brskalniku, ki se poveže s strežnikom brez dodatne konfiguracije, če imate "privzeto" oznako.

Čas prikazovanja

Na vrhu state.json je nekaj nastavitev, ki določajo, kako dolgo je vsaka slika prikazana na zaslonu.

"settings:: timer": {

"resetTime": 30000, "jitter": 5000,

Vsi časi se merijo v milisekundah (tisočinke sekunde). Čas ponastavitve je največji čas, ko je vsaka slika na zaslonu, preden se prikaže naslednji zaslon. Trepetanje se pomnoži z naključnim številom med -1 in 1, rezultat pa se doda resetTime. To zagotavlja nekaj različnih časov prikaza. Če želite, lahko drhtenje nastavite na 0. Po prikazanih nastavitvah se bo vsaka stran prikazala med 25 in 35 sekundami.

Za vsakega odjemalca zaslona lahko nastavite tudi različne ure:

"settings:: timer": {

"resetTime": 30000, "jitter": 5000, "resetOnConnect": true, "screens": {"TestClient": {"resetTime": 10000, "jitter": 1000}}},

Tu smo nastavili čas prikaza za naš TestClient med 9 in 11 sekund.

8. korak: Zaključek

Pokazali smo, kako namestiti in konfigurirati strežnik Corsica na Raspberry Pi. S tem, kar ste se naučili tukaj, lahko zgradite vsestranski, zelo poceni sistem digitalnih označb. Raspberry Pis lahko uporabite ne le kot strežnik v sistemu, ampak tudi za pogon zaslonov odjemalcev.

Na spletnem mestu npm je še veliko vtičnikov, ki jih lahko uporabite za dodajanje drugih zmožnosti namestitvi Corsica, vključno s prikazom:

  • Slike iz Flickrja
  • Tviti
  • Pogovori v kanalu IRC
  • Video datoteke
  • YouTube video posnetki
  • Diapozitivi v Googlovih predstavitvah
  • Risanke XKCD
  • Vsebina iz vira RSS

Krediti

Korzika je nastanek tretje stopnje črnih pasov Node Ninja iz Mozille, ki jo vodijo potch, lonnen in mitmon.

Ta navodila za Korziko na malini Pis je skupaj zložil Richard.

Običajno najdete vse, ki se skrivajo okoli kanala #corsica na irc.mozilla.org.

Priporočena: