Spisu treści:

Serwer Digital Sign na Raspberry Pi: 8 kroków
Serwer Digital Sign na Raspberry Pi: 8 kroków

Wideo: Serwer Digital Sign na Raspberry Pi: 8 kroków

Wideo: Serwer Digital Sign na Raspberry Pi: 8 kroków
Wideo: Która wersja Raspberry Pi OS jest dla Ciebie? [tylko dla początkujących] 2024, Grudzień
Anonim
Serwer Digital Sign na Raspberry Pi
Serwer Digital Sign na Raspberry Pi

Absolute Beginner's Guide to Corsica on Raspberry PI

Cyfrowe znaki są wszędzie. Widzisz je na lotniskach, w centrach handlowych, domach towarowych, a nawet na rogach ulic. Nie potrzebujesz dużo drogiego, niestandardowego sprzętu, aby zbudować własny system cyfrowego oznakowania. Ta instrukcja pokazuje, jak zbudować serwer digital signage, który może obsługiwać dziesiątki wyświetlaczy. Każdy wyświetlacz może być tak prosty jak monitor i Raspberry PI.

Dzięki Node Ninjas w Mozilli możesz nawet uruchomić serwer na Raspberry Pi przy użyciu Korsyki.

Corsica to rozszerzalne rozwiązanie digital signage, które można wdrożyć w większości systemów POSIX. Składa się z serwera i klientów wyświetlających. Maszyny klienckie nie wymagają specjalnego oprogramowania i po prostu uruchamiają dowolną nowoczesną przeglądarkę internetową, chociaż wszyscy w zespole Corsica bardzo polecają Firefoksa. Serwer zużywa bardzo mało zasobów i z radością będzie działał na Raspberry Pi lub innej bardzo małej maszynie. Serwer Corsica działający na Raspberry Pi 3+ może z łatwością obsługiwać ponad 100 wyświetlaczy klienckich. Te instrukcje zostały napisane specjalnie dla Raspberry Pi z systemem operacyjnym Raspian (pochodna Debiana). Te instrukcje zakładają również, że używasz przeglądarki Firefox. Większość innych nowoczesnych przeglądarek również powinna działać.

Krok 1: Linia poleceń Raspian

Te instrukcje pokażą Ci, jak skonfigurować Korsykę za pomocą wiersza poleceń. Jeśli używasz Raspiana z graficznym interfejsem użytkownika (GUI), możesz przejść do wiersza poleceń za pośrednictwem aplikacji terminala. Jeśli używasz Raspian-lite, możesz podłączyć klawiaturę i monitor i użyć bezpośrednio wiersza poleceń lub możesz połączyć się przez sieć za pomocą SSH. Aby uzyskać więcej informacji na temat włączania i używania protokołu SSH, zobacz dokumentację Raspian SSH. Musisz znać nazwę DNS lub adres IP swojego Raspberry Pi. Domyślną nazwą w większości sieci LAN będzie raspberrypi.local. Jeśli to nie zadziała, w dokumentacji Raspian znajdują się instrukcje, które pomogą Ci znaleźć poprawną nazwę i adres IP.

Krok 2: Instalacja oprogramowania

Korsyka używa węzła i npm. Węzeł umożliwia uruchamianie kodu JavaScript po stronie serwera, a npm to menedżer pakietów węzła.

Aby zainstalować je na Raspberry Pi, najpierw sprawdź wersję procesora w swoim systemie:

uname -m

Jeśli wynik zaczyna się od armv6, zobacz ten wpis na blogu. Dla systemów Raspberry Pi 3 i innych z procesorami armv7 i nowszymi:

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

sudo apt zainstaluj nodejs

Jeśli nie znasz Node, możesz dowiedzieć się więcej na nodesource.com.

Następnie zainstaluj Corsica Command Line Tools:

sudo npm install -g corsica-cli

Aby zobaczyć dostępne polecenia, wpisz

Korsyka – pomoc

W chwili pisania tego tekstu dostępne polecenia to:

setup -- aby skonfigurować serwer na Korsycestart [opcje] -- aby uruchomić serwer Korsyka restart [opcje] -- aby ponownie uruchomić działający serwer na Korsycestop -- aby zatrzymać działający serwer na Korsyceadd-plugin [nazwa] -- aby zainstalować pluginremove- plugin [nazwa] -- aby usunąć zainstalowaną pluginlist-plugins -- aby wyświetlić listę zainstalowanych pluginsupdate -- aby zaktualizować zarówno Korsykę, jak i jej wtyczki

Teraz możesz użyć narzędzi do konfiguracji oprogramowania Corsica:

konfiguracja na Korsyce

Instalator Corsica zapyta, gdzie chcesz zainstalować Corsica i pokaże domyślną lokalizację:

Gdzie zainstalować Corsica: (/home/pi/corsica-server)

Możesz po prostu nacisnąć klawisz powrotu.

Zobaczysz kilka komunikatów ostrzegawczych npm. Można je bezpiecznie zignorować.

Gdy konfiguracja mówi „Gotowe!”, zainstalowałeś Korsykę.

Możesz uruchomić Korsykę w sesji terminalowej za pomocą:

początek Korsyki

I zatrzymaj to, naciskając Ctrl.

Ale jeśli zaczniesz to w ten sposób, będzie działać tylko tak długo, jak działa twoja sesja terminalu. Kiedy zamkniesz terminal, sesja Corsica zostanie zatrzymana.

Jeśli uruchomisz Korsykę w tle, będzie ona działać nawet po rozłączeniu sesji terminala. Możesz to zrobić za pomocą

Korsyka start -- tło

Aby zatrzymać instancję Corsica działającą w tle, wpisz:

przystanek na Korsyce

Krok 3: Konfiguracja

Twoja konfiguracja będzie prawdopodobnie wymagała dostosowania. Na Korsyce istnieją dwa rodzaje dostosowywania: konfiguracja i ustawienia. Konfiguracja jest w większości statyczna i używana przez rdzeń. Ustawienia są dynamiczne i używane głównie przez wtyczki. Więcej o ustawieniach później.

Konfiguracja pochodzi ze środowiska i służy do bardzo statycznych rzeczy, takich jak port nasłuchiwania lub wtyczki do załadowania. Istnieją cztery źródła konfiguracji:

1. lib/config.json - tutaj przechowywane są wartości domyślne i jest to dobre miejsce, aby zobaczyć, co można skonfigurować. Nie powinieneś tutaj zmieniać wartości.

2. config.js - Ustawienia znalezione w tym pliku są ładowane tak, jakby pochodziły ze środowiska. Składnia to jedna konfiguracja na linię, np. „PORT=8080”. Jeśli wartości tutaj są poprawnymi JSON, zostaną one przeanalizowane jako takie. Ustawienia tutaj zastąpią wartości domyślne w `lib/config.json`. Plik config.js początkowo określa numer portu, na którym nasłuchuje Corsica, oraz wtyczki używane przez system.

3..env - jeśli ukryty plik o nazwie.env znajduje się w katalogu Corsica, jego ustawienia są ładowane tak, jakby pochodziły ze środowiska. Składnia jest taka sama jak w config.js. Ten plik nie istnieje w konfiguracji domyślnej.

4. Zmienne środowiskowe - jeśli wolisz, możesz umieścić informacje o konfiguracji w zmiennych środowiskowych systemu. Jeśli nie znasz zmiennych środowiskowych, możesz bezpiecznie zignorować tę opcję.

Krok 4: Podłączanie ekranów wyświetlacza

Po uruchomieniu Korsyki uruchomi serwer sieciowy na porcie 8080 twojego komputera, chyba że zmieniłeś numer portu w pliku.env. Musisz znać nazwę hosta lub adres IP swojego Pi. Domyślna nazwa nowej instalacji Raspberry Pi to raspberrypi. Jeśli nie zmieniłeś tego, możesz po prostu otworzyć przeglądarkę na swoim komputerze klienckim i przejść do:

raspberrypi.local:8080

Powinieneś zobaczyć żółto-czarne logo Corsica. Pojawi się bańka z nazwą Twojego klienta z Korsyki. Możesz (i powinieneś) zmienić nazwę swojego klienta na taką, która wskazuje lokalizację tego konkretnego ekranu. Najprostszym sposobem na to jest użycie corsica-repl Potcha. (Potch jest głównym twórcą Korsyki i obiecał, że wkrótce wprowadzi Repl do rdzenia Korsyki).

Otwórz kartę przeglądarki i przejdź do:

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

(To zakłada, że raspberrypi.local to nazwa twojego serwera Corsica).

Do końca tego samouczka użyjemy „TestClient” jako nazwy ekranu klienta. Przejdź do listy rozwijanej w prawym dolnym rogu ekranu i znajdź nazwę klienta, która się pojawiła. Następnie w wierszu poleceń w lewym dolnym rogu ekranu wpisz:

typ administratora=zmień nazwę=Klient testowy

Pozostaw otwartą kartę corsica-repl i przejdź do karty przeglądarki z logo Corsica i odśwież stronę. W wyskakującym okienku zobaczysz nową nazwę. Jeśli znika zbyt szybko, najedź myszą na prawy dolny róg, a przycisk „Pełny ekran” pojawi się z nową nazwą po lewej stronie.

Krok 5: Dodawanie treści

Dodawanie treści
Dodawanie treści

Po wyświetleniu logo Korsyki klient wyświetli kilka kreskówkowych zwierząt na niebieskim tle.

Domyślny tag w pliku state.json zawiera listę adresów stron internetowych. Możesz w ten sposób zaprezentować dowolną stronę internetową, chociaż układ niektórych stron sprawia, że są one mniej odpowiednie do wykorzystania na Korsyce.

Klient Korsyki wyświetla treść z co najmniej jednego tagu, który subskrybuje. Nowi klienci przychodzą już zasubskrybowani do tagu o nazwie „default”.

Zwierzęta z kreskówek są urocze, ale dodajmy przydatne treści do obracania ekranu w naszym kliencie testowym.

Wróć do zakładki corsica-repl i w wierszu poleceń w lewym dolnym rogu wpisz:

typ administratora=subskrybuj tag=pogoda

Przełącz się z powrotem na kartę klienta wyświetlania i odśwież stronę.

Do listy wyświetlanych adresów URL zostanie dodana prognoza pogody dla San Jose w Kalifornii.

Nasz przykładowy plik state.json zawiera trzy znaczniki o nazwach „default”, „weather” i „images”. Znacznik „images” zawiera łącza do większej liczby plików graficznych zwierząt kreskówek (.png). Dodajmy je, przełączając się z powrotem na zakładkę corsica-repl i wpisując:

typ administratora=subskrybuj tag=obrazy

Ponownie wróć do karty klienta wyświetlania i odśwież stronę. Zobaczysz kilka nowych zwierząt dodanych do rotacji. Zauważ jednak, że nowe zwierzęta pojawiają się po lewej stronie strony z białym tłem. Dzieje się tak dlatego, że kreskówki z niebieskim tłem są wymienione w state.json jako adresy URL wskazujące na odpowiednią stronę internetową napisaną w html. Nowe bajki z białym tłem są wymienione w state.json jako adresy URL, które po prostu wskazują pliki graficzne-p.webp

Możemy poprawić sposób wyświetlania tych grafik przez Korsykę, ale w tym celu będziemy musieli „rozszerzyć” samą Korsykę.

Krok 6: Rozszerzenie Korsyki

Rozszerzenie Korsyki
Rozszerzenie Korsyki

Na stronie internetowej npm dostępnych jest kilkanaście wtyczek npm Corsica. Kliknij ten link i wpisz „corsica” w polu wyszukiwania u góry strony, aby zobaczyć ich listę. Użyjemy jednej z tych wtyczek npm, aby umożliwić wyświetlanie naszych nowych zwierząt. Przydatne jest również wyświetlanie dowolnego obrazu znalezionego w Internecie bez wyświetlania rozpraszającej grafiki otaczającej obraz.

Przejdź do wiersza poleceń Corsica, zatrzymaj Corsica i zainstaluj wtyczkę corsica-image:

corsica add-plugin corsica-image

Następnie uruchom ponownie Korsykę:

początek Korsyki

Otwórz kartę klienta wyświetlania Corsica w przeglądarce i odśwież stronę. Powinieneś zobaczyć nowe zwierzęta wyświetlane na środku ekranu z ciemnoniebieskim tłem.

Krok 7: Dostosowywanie treści

Przyjrzyjmy się różnicy między tym, co robią adresy URL w tagu domyślnym, a tymi w tagu images. Spójrz na state.json, przechodząc do wiersza poleceń Korsyka i wpisując:

kot ~/corsica-server/state.json

W sekcji "default" tego pliku znajdziesz linię, która wygląda tak:

"https://ramilewski.github.io/corsica-support/show.html?image=kitty.png", Ten adres URL to link do strony internetowej z kreskówką kotka. Ta strona internetowa wyświetla obraz, ale dostarcza również tło, które jest gradientem, który zaczyna się u góry strony jako kolor niebieski i przechodzi do białego u dołu strony. To tło jest tworzone przez CSS i HTML strony internetowej. Nie jest częścią samej grafiki.

Sekcje „obrazy” na stronie mają linię, która wygląda następująco:

"https://ramilewski.github.io/corsica-support/bunny.png bg=#2244BB", To jest adres URL, który określa link do obrazu-p.webp

„#2244BB” to zapis szesnastkowy oznaczający ciemnoniebieski kolor. Aby uzyskać narzędzie, które pomoże Ci określić dowolny kolor w notacji szesnastkowej, zobacz Próbnik kolorów MDN.

Wyświetlając ten wiersz, Corsica użyła wtyczki corsica-image do renderowania obrazu. Oznacza to, że jeśli znajdziesz obraz, który chcesz wyświetlić na ekranach klienta Korsyki, możesz utworzyć wiersz w state.json, który będzie wyświetlał tylko ten obraz, ale nie żadną inną rozpraszającą zawartość otaczającej strony. Aby znaleźć adres URL obrazu w przeglądarce Firefox, kliknij obraz prawym przyciskiem myszy i wybierz „Kopiuj lokalizację obrazu” w wyświetlonym menu kontekstowym.

Sekcja „pogoda” w state.json ma tylko jeden adres URL. Pobiera prognozę pogody z https://forecast.io. Ale jeśli nie mieszkasz w San Jose, ta prognoza nie jest zbyt przydatna. Aby uzyskać prognozę dla swojej lokalizacji, musisz znać szerokość i długość geograficzną w stopniach dziesiętnych. Jeśli nie, istnieje narzędzie internetowe, które pozwoli Ci go znaleźć.

W tej chwili adres URL w wierszu w state.json, który określa prognozę pogody, wygląda następująco:

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

Aby uzyskać prognozę dla swojej lokalizacji, zmień wpisy szerokości i długości geograficznej w tym wierszu i zmień nazwę na swoją lokalizację. Użyj %20 zamiast spacji w nazwie miejsca. Parametr kolor określa kolor pasków pomiędzy wysoką i niską temperaturą. Parametr powiększenia służy do dostosowania rozmiaru prognozy, aby zmieściła się na ekranie wyświetlacza.

Kiedy tworzysz własny plik state.json, pamiętaj, że jeśli masz tag „domyślny”, każda zawartość określona w tym tagu pojawi się w każdej przeglądarce, która łączy się z serwerem bez dalszej konfiguracji.

Wyświetlanie czasu

W górnej części state.json znajduje się kilka ustawień, które kontrolują, jak długo każdy obraz jest wyświetlany na ekranie.

"ustawienia::timer": {

"ResetTime": 30000, "jitter": 5000, Wszystkie czasy są mierzone w milisekundach (tysięcznych części sekundy). ResetTime to maksymalny czas wyświetlania każdego obrazu na ekranie przed wyświetleniem następnego ekranu. Jitter jest mnożony przez losową liczbę od -1 do 1, a wynik jest dodawany do resetTime. Zapewnia to pewną różnorodność czasów wyświetlania. Jeśli chcesz, możesz ustawić jitter na 0. Przedstawione ustawienia spowodują, że każda strona będzie wyświetlana przez od 25 do 35 sekund.

Możesz również ustawić różne czasy dla każdego klienta wyświetlania:

"ustawienia::timer": {

"resetTime": 30000, "jitter": 5000, "resetOnConnect": true, "screens": { "TestClient": { "resetTime": 10000, "jitter": 1000 } } }, Tutaj ustawiliśmy czas wyświetlania dla naszego TestClient na od 9 do 11 sekund.

Krok 8: Wniosek

Pokazaliśmy, jak zainstalować i skonfigurować serwer Corsica na Raspberry Pi. Dzięki temu, czego się tutaj nauczyłeś, możesz zbudować wszechstronny, bardzo tani system digital signage. Możesz używać Raspberry Pis nie tylko jako serwera w swoim systemie, ale także do sterowania wyświetlaczami klienckimi.

Na stronie npm znajduje się wiele innych wtyczek, których można użyć do dodania innych funkcji do instalacji na Korsyce, w tym wyświetlania:

  • Obrazy z Flickr
  • Tweety
  • Rozmowy na kanale IRC
  • Pliki wideo
  • Filmy na youtube
  • Prezentacje w prezentacjach Google
  • bajki XKCD
  • Treść z kanału RSS

Kredyty

Korsyka jest dziełem Node Ninja trzeciego stopnia z czarnego pasa z Mozilli, prowadzonym przez Potcha, Lonnena i Mythmona.

Te instrukcje dla Korsyki na Raspberry Pis zostały sklecone przez Richarda.

Zazwyczaj można znaleźć wszystkich czających się na kanale #corsica na irc.mozilla.org.

Zalecana: