Talaan ng mga Nilalaman:

Isang Digital Sign Server sa isang Raspberry Pi: 8 Hakbang
Isang Digital Sign Server sa isang Raspberry Pi: 8 Hakbang

Video: Isang Digital Sign Server sa isang Raspberry Pi: 8 Hakbang

Video: Isang Digital Sign Server sa isang Raspberry Pi: 8 Hakbang
Video: Building a Hotel IPTV System for +300% Hotel Revenue? You Need To Know This... 2024, Nobyembre
Anonim
Isang Digital Sign Server sa isang Raspberry Pi
Isang Digital Sign Server sa isang Raspberry Pi

Isang Gabay sa Ganap na Nagsisimula sa Corsica sa isang Raspberry PI

Ang mga digital na palatandaan ay saanman. Makikita mo sila sa mga paliparan, mall, department store at kahit sa mga sulok ng kalye. Hindi mo kailangan ng maraming mamahaling pasadyang hardware upang makabuo ng iyong sariling digital sign system. Ipinapakita ng Instructable na ito kung paano bumuo ng isang digital signage server na maaaring maghimok ng dose-dosenang mga pagpapakita. Ang bawat display ay maaaring maging kasing simple ng isang monitor at isang Raspberry PI.

Salamat sa Node Ninjas sa Mozilla maaari mo ring patakbuhin ang server sa isang Raspberry Pi gamit ang Corsica.

Ang Corsica ay isang napakalawak na solusyon sa digital signage na maaaring ipatupad sa karamihan ng mga system ng POSIX. Ito ay binubuo ng isang server at ipakita ang mga kliyente. Ang mga machine machine ay hindi nangangailangan ng espesyal na software at simpleng nagpapatakbo ng anumang modernong web browser, bagaman lahat ng tao sa koponan ng Corsica ay lubos na inirerekumenda ang Firefox. Ang server ay kumakain ng kaunting mga mapagkukunan at masayang tatakbo sa isang Raspberry Pi o iba pang napakaliit na makina. Ang isang Corsica server na tumatakbo sa isang Raspberry Pi 3+ ay madaling suportahan ang higit sa 100 pagpapakita ng client. Ang mga tagubiling ito ay partikular na nakasulat para sa isang Raspberry Pi na nagpapatakbo ng operating system ng Raspian (isang derivative na Debian). Ipinapalagay din ng mga tagubiling ito na gumagamit ka ng browser ng Firefox. Karamihan sa iba pang mga modernong browser ay dapat ding gumana.

Hakbang 1: Ang Linya ng Utos ng Raspian

Ipapakita sa iyo ng mga tagubiling ito kung paano i-configure ang Corsica sa pamamagitan ng linya ng utos. Kung gumagamit ka ng Raspian gamit ang graphic user interface (GUI), makakarating ka sa linya ng utos sa pamamagitan ng application ng terminal. Kung nagpapatakbo ka ng Raspian-lite pagkatapos ay maaari kang ikonekta ang isang keyboard at subaybayan at gamitin nang direkta ang linya ng utos, o maaari kang kumonekta sa network gamit ang SSH. Para sa karagdagang impormasyon sa kung paano paganahin at gamitin ang SSH tingnan ang dokumentasyong Raspian SSH. Kailangan mong malaman ang pangalan ng DNS o ang IP address ng iyong Raspberry Pi. Ang default na pangalan sa karamihan ng mga LAN ay magiging raspberrypi.local. Kung hindi iyon gagana, may mga tagubilin sa dokumentasyong Raspian na makakatulong sa iyo na matuklasan ang tamang pangalan at IP address.

Hakbang 2: Pag-install ng Software

Gumagamit ang Corsica ng node at npm. Pinapayagan ka ng Node na patakbuhin ang server-side Javascript, at ang npm ay ang node package manager.

Upang mai-install ang mga ito sa isang Raspberry Pi unang suriin ang bersyon ng processor sa iyong system:

uname -m

Kung ang resulta ay nagsimula sa armv6, tingnan ang post sa blog na ito. Para sa mga Raspberry Pi 3 system at iba pa na may armv7 at mas bago ang mga processor.

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

sudo apt install nodejs

Kung hindi ka pamilyar sa Node, maaari kang matuto nang higit pa sa nodesource.com.

Susunod, i-install ang Corsica Command Line Tools:

sudo npm i-install -g corsica-kli

Upang makita ang mga magagamit na utos, i-type

corsica --tulong

Sa pagsulat na ito ang mga magagamit na utos ay:

setup-- upang mai-set up ang isang Corsica serverstart [mga pagpipilian] - upang simulan ang Corsica server restart [mga pagpipilian] - upang muling simulan ang isang tumatakbo na Corsica serverstop - upang ihinto ang pagpapatakbo ng Corsica serveradd-plugin [pangalan] - upang mag-install ng isang pluginremove- plugin [pangalan] - upang alisin ang isang naka-install na pluginlist-plugin - upang ilista ang naka-install na pluginsupdate - upang i-update ang parehong Corsica at ang mga plugin nito

Maaari mo nang magamit ang mga tool upang mai-set-up ang Corsica software:

setup ng corsica

Itatanong ng pag-setup ng Corsica kung saan mo nais mag-install ng corsica at ipakita sa iyo ang default na lokasyon:

Kung saan mai-install ang Corsica: (/ home / pi / corsica-server)

Maaari mo lamang pindutin ang return.

Makakakita ka ng ilang mga mensahe ng babala. Ito ay ligtas na huwag pansinin.

Kapag sinabi ng setup na "Tapos na!", Na-install mo ang Corsica.

Maaari mong simulan ang Corsica sa iyong terminal session sa:

simula ng corsica

At itigil ito sa control-C.

Ngunit kung sisimulan mo ito sa ganoong paraan tatakbo lang ito hangga't tumatakbo ang iyong session ng terminal. Kapag isinara mo ang iyong terminal session corsica ay titigil.

Kung sinimulan mo ang Corsica sa background tatakbo ito kahit na matapos mong idiskonekta ang iyong session ng terminal. Magagawa mo yan sa

pagsisimula ng corsica --background

Upang ihinto ang isang halimbawa ng Corsica na tumatakbo sa background, i-type ang:

itigil ang corsica

Hakbang 3: Pag-configure

Ang iyong pag-set up ay maaaring mangailangan ng ilang pagpapasadya. Mayroong dalawang uri ng pagpapasadya sa Corsica: pagsasaayos at mga setting. Ang pagsasaayos ay halos static at ginagamit ng core. Ang mga setting ay pabago-bago at ginagamit karamihan ng mga plugin. Higit pa sa mga setting sa paglaon.

Ang pagsasaayos ay nagmula sa kapaligiran, at para sa mga static na bagay tulad ng port na pakinggan, o ang mga plugin na mai-load. Mayroong apat na mapagkukunan para sa config:

1. lib / config.json - Dito nakaimbak ang mga default, at isang magandang lugar upang makita ang ilan sa maaaring mai-configure. Hindi mo dapat baguhin ang mga halaga dito.

2. config.js - Ang mga setting na matatagpuan sa file na ito ay na-load na parang nagmula sa kapaligiran. Ang syntax ay isang pagsasaayos bawat linya, hal. `PORT = 8080`. Kung ang mga halaga dito ay wastong JSON, mai-parse ito tulad nito. Ang mga setting dito ay mag-o-override ng mga default sa `lib / config.json`. Ang config.js file na unang tumutukoy sa numero ng port kung saan nakikinig ang Corsica, at ang mga plugin na ginamit ng system.

3..env - Kung ang nakatagong file na pinangalanang.env ay nasa direktoryo ng Corsica, ang mga setting nito ay nai-load na parang nagmula sa kapaligiran. Ang syntax ay pareho sa config.js. Ang file na ito ay hindi umiiral sa default na pagsasaayos.

4. Mga variable ng kapaligiran - Maaari mong ilagay ang impormasyon sa pagsasaayos sa mga variable ng kapaligiran sa system kung gusto mo. Kung hindi ka pamilyar sa mga variable ng kapaligiran ligtas na balewalain ang opsyong ito.

Hakbang 4: Pagkonekta sa Mga Screen ng Display

Kapag sinimulan mo ang Corsica magpapatakbo ito ng isang web server sa port 8080 ng iyong machine maliban kung binago mo ang numero ng port sa.env file. Kakailanganin mong malaman ang hostname o ang IP address ng iyong Pi. Ang default na pangalan para sa isang bagong pag-install ng Raspberry Pi ay raspberrypi. Kung hindi mo ito binago maaari mo lamang buksan ang isang browser sa iyong display client machine at mag-browse sa:

raspberrypi.local: 8080

Dapat mong makita ang dilaw at itim na logo ng Corsica. Ang isang bubble ay pop up na may pangalan ng Corsica ng iyong kliyente. Maaari mong (at dapat) baguhin ang pangalan ng iyong kliyente sa isang bagay na nagpapahiwatig ng lokasyon ng partikular na display screen na ito. Ang pinakamadaling paraan upang gawin ito ay ang paggamit ng corsica-repl ng Potch. (Ang Potch ay isang punong-guro ng developer ng Corsica, at ipinangako niyang mailalagay ang core ng Corsica sa madaling panahon).

Magbukas ng isang tab ng browser at mag-browse sa:

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

(Ipinapalagay na raspberrypi.local ang pangalan ng iyong Corsica Server).

Gagamitin namin ang "TestClient" bilang pangalan ng ipinapakita ng kliyente para sa natitirang tutorial na ito. Pumunta sa dropdown sa kanang ibabang sulok ng screen at hanapin ang pangalan ng kliyente na lumitaw. Pagkatapos sa linya ng utos sa kaliwang ibaba ng uri ng screen:

uri ng admin = palitan ang pangalan = TestClient

Iwanan ang tab na corsica-repl na bukas at lumipat sa tab ng browser na nagpapakita ng logo ng Corsica at i-refresh ang pahina. Makikita mo ang bagong pangalan sa pop-up bubble. Kung masyadong mabilis itong nawala, i-hover ang iyong mouse sa kanang ibabang sulok at lilitaw ang pindutang "Fullscreen" na may bagong pangalan sa kaliwa.

Hakbang 5: Pagdaragdag ng Nilalaman

Pagdaragdag ng Nilalaman
Pagdaragdag ng Nilalaman

Matapos ipakita ang logo ng Corsica ay magpapakita ang kliyente ng ilang mga cartoon cartoon sa isang asul na background.

Ang default na tag sa state.json file ay naglalaman ng isang listahan ng mga web page address. Maaari mong ipakita ang anumang web page sa ganitong paraan, kahit na ang layout ng ilang mga pahina ay ginagawang mas hindi naaangkop sa kanila para magamit sa Corsica.

Nagpapakita ang isang Corsica client ng nilalaman mula sa isa o higit pang mga tag kung saan ito nag-subscribe. Ang mga bagong kliyente ay naka-subscribe na sa isang tag na pinangalanang "default".

Ang mga hayop na cartoon ay maganda, ngunit magdagdag tayo ng ilang kapaki-pakinabang na nilalaman sa pag-ikot ng screen sa aming client ng pagsubok.

Bumalik sa tab na corsica-repl at sa linya ng utos sa ibabang kaliwang uri:

uri ng admin = subscribe tag = panahon

Bumalik sa tab ng display client at i-refresh ang pahina.

Isang pagtataya ng panahon para sa San Jose, California, ay maidaragdag sa listahan ng mga ipinakitang url.

Ang aming sample na state.json file ay naglalaman ng tatlong mga tag na pinangalanang "default", "lagay ng panahon" at "mga imahe". Naglalaman ang tag na "mga imahe" ng mga link sa maraming mga cartoon cartoon graphics (.png) na mga file. Idagdag natin ang mga iyon sa pamamagitan ng paglipat pabalik sa tab na corsica-repl at pagta-type:

uri ng admin = subscribe tag = mga imahe

Muli, bumalik sa tab ng display client at i-refresh ang pahina. Makakakita ka ng ilang mga bagong hayop na idinagdag sa pag-ikot. Ngunit pansinin na ang mga bagong hayop ay lilitaw sa kaliwang gilid ng pahina na may puting background. Iyon ay dahil ang mga cartoons na may asul na background ay nakalista sa state.json bilang mga url na tumuturo sa isang tamang web page na nakasulat sa html. Ang mga bagong cartoons na may puting background ay nakalista sa state.json bilang mga url na tumuturo lamang sa-p.webp

Maaari naming pagbutihin ang paraan ng pagpapakita ng mga graphic na iyon sa pamamagitan ng Corsica, ngunit upang gawin iyon kailangan naming "palawakin" ang Corsica mismo.

Hakbang 6: Pagpapalawak ng Corsica

Pagpapalawak ng Corsica
Pagpapalawak ng Corsica

Mahigit sa isang dosenang mga plugin ng Corsica ang magagamit sa website ng npm. Sundin ang link na iyon at ipasok ang "corsica" sa search box sa tuktok ng pahina upang makita ang isang listahan ng mga ito. Gagamitin namin ang isa sa mga plugin na npm upang maipakita sa iyo ang aming mga bagong hayop. Kapaki-pakinabang din upang maipakita ang anumang imaheng nakikita mo sa web, nang hindi nagpapakita ng nakakagambalang mga graphic na nakapalibot sa imahe.

Pumunta sa linya ng utos ng Corsica, ihinto ang Corsica at i-install ang corsica-image plugin:

corsica add-plugin na imahe ng corsica

Pagkatapos i-restart ang corsica:

simula ng corsica

Buksan ang tab na corsica display client sa iyong browser at i-refresh ang pahina. Dapat mong makita ang mga bagong hayop na ipinakitang nakasentro sa screen na may madilim na asul na background.

Hakbang 7: Pagpapasadya ng Nilalaman

Tingnan natin ang pagkakaiba sa pagitan ng ginagawa ng mga url sa default na tag at sa mga nasa tag ng mga imahe. Tingnan ang state.json sa pamamagitan ng pagpunta sa linya ng utos ng Corsica at pagta-type:

cat ~ / corsica-server / state.json

Sa seksyong "default" ng file na iyon ay makakahanap ka ng isang linya na mukhang:

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

Ang url na ito ay isang link sa isang web page na may cartoon ng isang kuting. Nagpapakita ang web page na iyon ng isang imahe, ngunit nagbibigay din ito ng isang background na isang gradient na nagsisimula sa tuktok ng pahina bilang isang asul na kulay, at kumukupas sa puti sa ilalim ng pahina. Ang background na iyon ay nilikha ng CSS at HTML ng web page. Hindi ito bahagi ng graphic mismo.

Ang mga seksyon na "larawan" ng pahina ay may isang linya na katulad ng:

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

Ito ay isang url na tumutukoy sa isang link sa-p.webp

Ang "# 2244BB" ay hexadecimal notation para sa isang madilim na asul na kulay. Para sa isang tool upang matulungan kang tukuyin ang anumang kulay sa notasyong hex tingnan ang MDN Color Picker.

Sa pagpapakita ng linyang ito, ginamit ng Corsica ang plugin na corsica-image upang mai-render ang display. Nangangahulugan ito na kung makakita ka ng isang imahe na nais mong ipakita sa iyong ipinapakita sa Corsica client, maaari kang lumikha ng isang linya sa state.json na magpapakita lamang ng imaheng iyon, ngunit hindi sa anumang iba pang nakagagambalang nilalaman ng nakapalibot na pahina. Upang makita ang url ng isang imahe sa Firefox, i-right click ang imahe at piliin ang "Kopyahin ang Lokasyon ng Larawan" sa lilitaw na menu ng konteksto.

Ang seksyong "panahon" ng estado.json ay may isang url lamang. Kumuha ito ng isang pagtataya ng panahon mula sa https://forecast.io. Ngunit maliban kung nakatira ka sa San Jose, ang pagtataya na iyon ay hindi masyadong kapaki-pakinabang. Upang makakuha ng isang pagtataya para sa iyong lokasyon kailangan mong malaman na ito ay latitude at longitude sa decimal degree. Kung hindi mo gagawin, mayroong isang tool na batay sa web na hahayaan kang hanapin ito.

Sa ngayon ang url sa linya sa estado.json na tumutukoy sa lagay ng panahon ay mukhang:

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

Upang makuha ang forecast para sa iyong lokasyon, palitan ang mga lat at lon entry sa linyang iyon at palitan ang pangalan sa iyong lokasyon. Gumamit ng% 20 sa halip na mga puwang sa pangalan ng lugar. Tinutukoy ng parameter ng kulay ang kulay ng mga bar sa pagitan ng mataas at mababang temperatura. Ginamit ang zoom parameter upang ayusin ang laki ng forecast upang magkasya sa display screen.

Kapag lumikha ka ng iyong sariling state.json file, tandaan na kung mayroon kang isang "default" na tag, ang anumang nilalaman na tinukoy sa tag na iyon ay lilitaw sa anumang browser na kumokonekta sa server nang walang karagdagang pagsasaayos.

Display Timing

Sa tuktok ng state.json mayroong ilang mga setting na kumokontrol kung gaano katagal ipinakita ang bawat imahe sa screen.

"setting:: timer": {

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

Ang lahat ng mga oras ay sinusukat sa milliseconds (ikasampu ng isang segundo). Ang resetTime ay ang maximum na oras na ang bawat imahe ay nasa screen bago ipakita ang susunod na screen. Ang Jitter ay pinarami ng isang random na numero sa pagitan ng -1 at 1 at ang resulta ay idinagdag upang i-resetTime. Nagbibigay ito ng ilang pagkakaiba-iba sa mga oras ng pagpapakita. Maaari mong itakda ang jitter sa 0 kung nais mo. Ang mga ipinakitang setting ay magreresulta sa bawat pahina na lalabas sa pagitan ng 25 at 35 segundo.

Maaari mo ring itakda ang iba't ibang oras para sa bawat display client:

"setting:: timer": {

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

Dito itinakda namin ang oras ng pagpapakita para sa aming TestClient sa pagitan ng 9 at 11 segundo.

Hakbang 8: Konklusyon

Ipinakita namin kung paano mag-install at mag-configure ng isang Corsica server sa isang Raspberry Pi. Sa iyong natutunan dito, maaari kang bumuo ng isang maraming nalalaman, napakababang gastos ng digital signage system. Maaari mong gamitin ang Raspberry Pis hindi lamang bilang server sa iyong system, kundi pati na rin upang himukin ang mga pagpapakita ng kliyente.

Maraming iba pang mga plugin sa website ng npm na maaari mong gamitin upang magdagdag ng iba pang mga kakayahan sa iyong pag-install sa Corsica, kabilang ang pagpapakita:

  • Mga larawan mula kay Flickr
  • Mga tweet
  • Mga pag-uusap sa isang IRC channel
  • Mga file ng video
  • Mga video ng youtube
  • Mga slide sa mga pagtatanghal ng Google
  • Mga cartoons ng XKCD
  • Nilalaman mula sa isang RSS feed

Mga Kredito

Ang Corsica ay ang paglikha ng third-degree blackbelt Node Ninjas mula sa Mozilla na pinangunahan ng potch, lonnen at mitmon.

Ang mga tagubiling ito para sa Corsica sa Raspberry Pis ay binobola ni Richard.

Karaniwan mong mahahanap ang lahat na nagkukubli sa paligid ng #corsica channel sa irc.mozilla.org.

Inirerekumendang: