Cuprins:

Un server de semne digitale pe un Raspberry Pi: 8 pași
Un server de semne digitale pe un Raspberry Pi: 8 pași

Video: Un server de semne digitale pe un Raspberry Pi: 8 pași

Video: Un server de semne digitale pe un Raspberry Pi: 8 pași
Video: Cum sa ai un N.A.S cu doar 150 LEI 2024, Iulie
Anonim
Un server de semne digitale pe un Raspberry Pi
Un server de semne digitale pe un Raspberry Pi

Un ghid pentru începători absolut în Corsica pe un Raspberry PI

Semnele digitale sunt peste tot. Îi vezi în aeroporturi, mall-uri, magazine și chiar la colțuri de stradă. Nu aveți nevoie de o mulțime de hardware personalizat scump pentru a vă construi propriul sistem de semne digitale. Acest instructabil arată cum să construiți un server de semnalizare digitală care poate conduce zeci de afișaje. Fiecare afișaj poate fi la fel de simplu ca un monitor și un Raspberry PI.

Datorită Node Ninjas de la Mozilla, puteți rula chiar și serverul pe un Raspberry Pi folosind Corsica.

Corsica este o soluție extensibilă de semnalizare digitală care poate fi implementată pe majoritatea sistemelor POSIX. Se compune dintr-un server și afișează clienți. Echipamentele client nu necesită software special și pur și simplu rulează orice browser web modern, deși toată lumea din echipa Corsica recomandă cu tărie Firefox. Serverul consumă foarte puține resurse și va rula fericit pe un Raspberry Pi sau pe o altă mașină foarte mică. Un server Corsica care rulează pe un Raspberry Pi 3+ poate suporta cu ușurință peste 100 de afișaje client. Aceste instrucțiuni sunt scrise special pentru un Raspberry Pi care rulează sistemul de operare Raspian (un derivat Debian). Aceste instrucțiuni presupun, de asemenea, că utilizați browserul Firefox. Majoritatea celorlalte browsere moderne ar trebui să funcționeze.

Pasul 1: Linia de comandă Raspian

Aceste instrucțiuni vă vor arăta cum să configurați Corsica prin linia de comandă. Dacă utilizați Raspian cu interfața grafică de utilizator (GUI), ajungeți la linia de comandă prin intermediul aplicației terminal. Dacă rulați Raspian-lite, atunci puteți conecta o tastatură și monitoriza și utiliza direct linia de comandă sau vă puteți conecta prin rețea folosind SSH. Pentru mai multe informații despre cum să activați și să utilizați SSH, consultați documentația Raspian SSH. Va trebui să știți numele DNS sau adresa IP a Raspberry Pi. Numele implicit pe majoritatea rețelelor LAN va fi raspberrypi.local. Dacă acest lucru nu funcționează, există instrucțiuni în documentația Raspian care vă vor ajuta să descoperiți numele și adresa IP corecte.

Pasul 2: Instalarea software-ului

Corsica folosește nod și npm. Node vă permite să rulați Javascript partea serverului, iar npm este managerul de pachete nod.

Pentru a le instala pe un Raspberry Pi verificați mai întâi versiunea procesorului din sistemul dvs.:

uname -m

Dacă rezultatul începe cu armv6, consultați această postare pe blog. Pentru sistemele Raspberry Pi 3 și altele cu procesoare armv7 și ulterioare:

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

sudo apt install nodejs

Dacă nu sunteți familiarizați cu Node, puteți afla mai multe la nodesource.com.

Apoi, instalați instrumentele pentru linia de comandă Corsica:

sudo npm install -g corsica-cli

Pentru a vedea comenzile disponibile, tastați

corsica --help

Începând cu această scriere, comenzile disponibile sunt:

setup-- pentru a configura un Corsica serverstart [opțiuni] - pentru a porni Corsica server reporniți [opțiuni] - pentru a reporni un Corsica serverstop care rulează - pentru a opri un Corsica server care rulează add-plugin [nume] - pentru a instala un plugin plugin [nume] - pentru a elimina un pluginlist-plugins instalat - pentru a lista actualizarea pluginului instalat - pentru a actualiza atât Corsica, cât și pluginurile sale

Acum puteți utiliza instrumentele pentru a configura software-ul Corsica:

configurare corsica

Configurarea Corsica vă va întreba unde doriți să instalați corsica și vă va arăta locația implicită:

Unde se instalează Corsica: (/ / home / pi / corsica-server)

Puteți apăsa pur și simplu pe return.

Veți vedea câteva mesaje de avertizare npm. Acestea sunt sigur de ignorat.

Când setarea spune „Gata!”, Ați instalat Corsica.

Puteți porni Corsica în sesiunea de terminal cu:

corsica start

Și oprește-l cu control-C.

Dar dacă porniți așa, va rula numai atâta timp cât rulează sesiunea terminalului. Când închideți sesiunea terminală, corsica se va opri.

Dacă porniți Corsica în fundal, va rula chiar și după ce vă deconectați sesiunea de terminal. Puteți face asta cu

corsica start - fundal

Pentru a opri executarea unei instanțe din Corsica în fundal, tastați:

corsica opreste

Pasul 3: Configurare

Configurarea dvs. va avea probabil nevoie de o anumită personalizare. Există două tipuri de personalizare în Corsica: configurare și setări. Configurarea este în mare parte statică și utilizată de bază. Setările sunt dinamice și sunt utilizate mai ales de pluginuri. Mai multe despre setări mai târziu.

Configurarea vine din mediul înconjurător și este pentru lucruri foarte statice, cum ar fi portul pe care trebuie să îl ascultați sau pluginurile de încărcat. Există patru surse pentru configurare:

1. lib / config.json - Aici sunt stocate valorile implicite și un loc bun pentru a vedea o parte din ceea ce poate fi configurat. Nu ar trebui să schimbați valorile aici.

2. config.js - Setările găsite în acest fișier sunt încărcate ca și cum ar fi din mediul înconjurător. Sintaxa este o configurație pe linie, de ex. `PORT = 8080`. Dacă valorile de aici sunt JSON valide, acestea vor fi analizate ca atare. Setările de aici vor suprascrie valorile implicite din `lib / config.json`. Fișierul config.js specifică inițial numărul portului pe care îl ascultă Corsica și pluginurile utilizate de sistem.

3..env - Dacă fișierul ascuns numit.env se află în directorul Corsica, setările sale sunt încărcate ca și cum ar fi din mediul înconjurător. Sintaxa este aceeași ca în config.js. Acest fișier nu există în configurația implicită.

4. Variabile de mediu - Puteți introduce informații de configurare în variabilele de mediu ale sistemului, dacă preferați. Dacă nu sunteți familiarizați cu variabilele de mediu, este sigur să ignorați această opțiune.

Pasul 4: Conectarea ecranelor de afișare

Odată ce porniți Corsica, acesta va rula un server web pe portul 8080 al mașinii dvs., cu excepția cazului în care ați schimbat numărul portului în fișierul.env. Va trebui să știți fie numele gazdei, fie adresa IP a dispozitivului Pi. Numele implicit pentru o nouă instalare Raspberry Pi este raspberrypi. Dacă nu l-ați schimbat, puteți deschide un browser pe computerul dvs. de afișare și navigați la:

raspberrypi.local: 8080

Ar trebui să vedeți logo-ul Corsica galben și negru. Va apărea un balon cu numele Corsica al clientului dvs. Puteți (și ar trebui) să schimbați numele clientului dvs. cu ceva care să indice locația acestui ecran de afișare. Cel mai simplu mod de a face acest lucru este să folosiți corsica-repl a lui Potch. (Potch este principalul dezvoltator al Corsica și a promis că va pune repede în centrul Corse-ului în curând).

Deschideți o filă de browser și navigați la:

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

(Aceasta presupune că raspberrypi.local este numele serverului dvs. Corsica).

Vom folosi „TestClient” ca numele afișajului clientului pentru restul acestui tutorial. Accesați meniul derulant din colțul din dreapta jos al ecranului și găsiți numele clientului care a apărut. Apoi, în linia de comandă din partea stângă jos a ecranului, tastați:

admin tip = redenumire nume = TestClient

Lăsați fila corsica-repl deschisă și comutați la fila browser care afișează sigla Corsica și reîmprospătați pagina. Veți vedea noul nume în balonul pop-up. Dacă dispare prea repede, plasați mouse-ul în colțul din dreapta jos și butonul „Ecran complet” va apărea cu noul nume în stânga.

Pasul 5: Adăugarea de conținut

Adăugarea de conținut
Adăugarea de conținut

După afișarea siglei Corsica, clientul va afișa câteva animale de desene animate pe un fundal albastru.

Eticheta implicită din fișierul state.json conține o listă de adrese de pagini web. Puteți prezenta orice pagină web în acest fel, deși aspectul unor pagini le face mai puțin potrivite pentru a fi utilizate cu Corsica.

Un client din Corsica afișează conținut de la una sau mai multe etichete la care se abonează. Clienții noi vin deja abonați la o etichetă numită „implicit”.

Animalele de desene animate sunt drăguțe, dar să adăugăm un conținut util la rotația ecranului de pe clientul nostru de testare.

Reveniți la fila corsica-repl și în linia de comandă din partea din stânga jos:

admin type = subscribe tag = weather

Reveniți la fila client afișat și reîmprospătați pagina.

Prognoza meteo pentru San Jose, California, va fi adăugată la lista de adrese URL afișate.

Fișierul nostru exemplu state.json conține trei etichete denumite „implicit”, „vreme” și „imagini”. Eticheta „imagini” conține linkuri către mai multe fișiere cu desene animate pentru animale (.png). Să le adăugăm revenind la fila corsica-repl și tastând:

admin type = subscribe tag = imagini

Din nou, reveniți la fila client afișat și reîmprospătați pagina. Veți vedea câteva animale noi adăugate la rotație. Observați însă că noile animale apar pe marginea stângă a paginii cu un fundal alb. Asta pentru că desenele animate cu fundal albastru sunt listate în state.json ca adrese URL care indică o pagină web adecvată scrisă în html. Noile desene animate cu fundal alb sunt listate în state.json ca adrese URL care indică doar fișierele grafice-p.webp

Putem îmbunătăți modul în care aceste grafice sunt afișate de Corsica, dar pentru a face acest lucru va trebui să „extindem” Corsica însăși.

Pasul 6: Extinderea Corsica

Extinderea Corsica
Extinderea Corsica

Mai mult de o duzină de plugin-uri npm Corsica sunt disponibile pe site-ul web npm. Urmați acel link și introduceți „corsica” în caseta de căutare din partea de sus a paginii pentru a vedea o listă a acestora. Vom folosi unul dintre aceste plugin-uri npm pentru a vă permite să afișați noile noastre animale. De asemenea, este util să afișați orice imagine pe care o găsiți pe web, fără a afișa graficele distractive care înconjoară imaginea.

Mergeți la linia de comandă Corsica, opriți Corsica și instalați pluginul corsica-image:

corsica add-plugin corsica-image

Apoi reporniți corsica:

corsica start

Deschideți fila clientului de afișare corsica din browserul dvs. și reîmprospătați pagina. Ar trebui să vedeți noile animale afișate centrate pe ecran cu un fundal albastru închis.

Pasul 7: Personalizarea conținutului

Să aruncăm o privire asupra diferenței dintre ceea ce fac adresele URL din eticheta implicită și cele din eticheta imagini. Aruncați o privire la state.json mergând la linia de comandă Corsica și tastând:

cat ~ / corsica-server / state.json

În secțiunea „implicită” a fișierului respectiv, veți găsi o linie care arată ca:

„https://ramilewski.github.io/corsica-support/show.html?image=kitty.png”, Această adresă URL este un link către o pagină web cu un desen animat al unui pisoi. Această pagină web afișează o imagine, dar furnizează și un fundal care este un gradient care începe în partea de sus a paginii ca o culoare albastră și se estompează în alb în partea de jos a paginii. Acest fundal este creat de CSS și HTML ale paginii web. Nu face parte din graficul în sine.

Secțiunile „imagini” ale paginii au o linie care arată ca:

„https://ramilewski.github.io/corsica-support/bunny.png bg = # 2244BB”, Aceasta este o adresă URL care specifică un link către imaginea-p.webp

„# 2244BB” este notația hexazecimală pentru o culoare albastru închis. Pentru un instrument care vă ajută să specificați orice culoare în notație hexagonală, consultați Selectorul de culori MDN.

Afișând această linie, Corsica a folosit pluginul corsica-image pentru a reda afișajul. Aceasta înseamnă că, dacă găsiți o imagine pe care doriți să o afișați pe afișajul clientului dvs. din Corsica, puteți crea o linie în state.json care va afișa doar acea imagine, dar nu orice alt conținut distractiv al paginii înconjurătoare. Pentru a găsi adresa URL a unei imagini în Firefox, faceți clic dreapta pe imagine și selectați „Copiați locația imaginii” în meniul contextual care apare.

Secțiunea „vreme” din state.json are o singură adresă URL. Aceasta obține o prognoză meteo de pe https://forecast.io. Dar, cu excepția cazului în care locuiți în San Jose, prognoza nu este foarte utilă. Pentru a obține o prognoză pentru locația dvs., trebuie să știți latitudinea și longitudinea în grade zecimale. Dacă nu, există un instrument bazat pe web care vă va permite să îl găsiți.

În acest moment, adresa URL din linia state.json care specifică prognoza meteo arată:

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

Pentru a obține prognoza pentru locația dvs., modificați intrările lat și lon din acea linie și schimbați numele în locația dvs. Folosiți% 20 în loc de spații în numele locului. Parametrul de culoare specifică culoarea barelor între temperaturile ridicate și cele scăzute. Parametrul de zoom este utilizat pentru a ajusta dimensiunea prognozei pentru a se potrivi pe ecranul de afișare.

Când creați propriul fișier state.json, amintiți-vă că, dacă aveți o etichetă „implicită”, orice conținut specificat în acea etichetă va apărea în orice browser care se conectează la server fără alte configurări.

Afișare sincronizare

În partea de sus a statului.json există câteva setări care controlează cât timp este afișată fiecare imagine pe ecran.

"settings:: timer": {

"resetTime": 30000, "jitter": 5000, Toate duratele sunt măsurate în milisecunde (miimi de secundă). Resetarea timpului este timpul maxim pe care fiecare imagine este pe ecran înainte de afișarea următorului ecran. Jitterul este înmulțit cu un număr aleatoriu între -1 și 1 și rezultatul este adăugat la resetTime. Acest lucru oferă o oarecare varietate în timpii de afișare. Puteți seta jitter la 0, dacă doriți. Setările afișate vor avea ca rezultat afișarea fiecărei pagini între 25 și 35 de secunde.

De asemenea, puteți seta orele diferite pentru fiecare client de afișare:

"settings:: timer": {

"resetTime": 30000, "jitter": 5000, "resetOnConnect": adevărat, "screens": {"TestClient": {"resetTime": 10000, "jitter": 1000}}}, Aici am setat timpul de afișare pentru TestClient între 9 și 11 secunde.

Pasul 8: Concluzie

Am arătat cum să instalați și să configurați un server Corsica pe un Raspberry Pi. Cu ceea ce ați învățat aici, puteți construi un sistem de semnalizare digitală versatil, cu costuri foarte mici. Puteți utiliza Raspberry Pis nu numai ca server din sistemul dvs., ci și pentru a conduce afișajele clientului.

Există mai multe pluginuri pe site-ul npm pe care le puteți utiliza pentru a adăuga alte funcții la instalarea dvs. din Corsica, inclusiv afișarea:

  • Imagini de la Flickr
  • Tweeturi
  • Conversații într-un canal IRC
  • Fișiere video
  • Videoclipuri YouTube
  • Diapozitive în prezentările Google
  • Desene animate XKCD
  • Conținut dintr-un flux RSS

credite

Corsica este crearea de centuri negre de gradul III Node Ninjas de la Mozilla conduse de potch, lonnen și mythmon.

Aceste instrucțiuni pentru Corsica pe Raspberry Pis au fost îmbrăcate împreună de Richard.

De obicei, puteți găsi pe toți cei care se ascund în jurul canalului #corsica de pe irc.mozilla.org.

Recomandat: