Spisu treści:
- Krok 1: Linia poleceń Raspian
- Krok 2: Instalacja oprogramowania
- Krok 3: Konfiguracja
- Krok 4: Podłączanie ekranów wyświetlacza
- Krok 5: Dodawanie treści
- Krok 6: Rozszerzenie Korsyki
- Krok 7: Dostosowywanie treści
- Krok 8: Wniosek
Wideo: Serwer Digital Sign na Raspberry Pi: 8 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:30
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
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
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:
Lokalny serwer plików Raspberry Pi Samba: 5 kroków
Lokalny serwer plików Raspberry Pi Samba: Procedura instalacji lokalnego serwera plików krok po kroku
Raspberry Pi NFS i serwer plików Samba: 11 kroków (ze zdjęciami)
Raspberry Pi NFS i serwer plików Samba: Ten projekt jest ostatnim etapem wyniku, który integruje dwa wcześniej wykonane i opublikowane obwody.***1. Wskaźnik temperatury procesora Raspberry Pi - opublikowany 20 listopada 2020 r. https://www.instructables.com/Raspberry-Pi-CPU-Tem…2. Raspberry Pi
Wprowadzenie - Zmień Raspberry Pi w serwer śledzenia GPS: 12 kroków
Wprowadzenie - Zmień Raspberry Pi w serwer śledzenia GPS: W tym przewodniku pokażę, jak zainstalować oprogramowanie do śledzenia GPS Traccar na Raspberry Pi, które będzie odbierać dane z kompatybilnych urządzeń przez Internet, rejestrując ich pozycje na mapie w czasie rzeczywistym śledzenie, a także śledzenie odtwarzania
OreServer - dedykowany serwer Minecraft dla Raspberry Pi ze wskaźnikiem LED odtwarzacza: 9 kroków (ze zdjęciami)
OreServer - dedykowany serwer Minecraft dla Raspberry Pi ze wskaźnikiem LED Player: AKTUALIZACJA z lipca 2020 r. - Zanim zaczniesz ten projekt, pamiętaj, że wprowadzono WIELE zmian i aktualizacji w różnych narzędziach programowych, których użyłem do stworzenia tego przez ponad dwa Lata temu. W rezultacie wiele kroków nie działa już zgodnie z opisem
Plug & Play Mały serwer sieciowy Raspberry Pi: 6 kroków (ze zdjęciami)
Plug & Play Tiny Raspberry Pi Network Server: Niedawno dostałem w swoje ręce dwa Raspberry Pi 1 Model A+ za tanią cenę. Jeśli nie słyszałeś o Pi Model A, jest to jedna z najwcześniejszych form Raspberry Pi, która jest większa niż Pi Zero i mniejsza niż standardowe Raspberry Pi. Zawsze chcę