Съдържание:

Сървър за цифрови знаци на Raspberry Pi: 8 стъпки
Сървър за цифрови знаци на Raspberry Pi: 8 стъпки

Видео: Сървър за цифрови знаци на Raspberry Pi: 8 стъпки

Видео: Сървър за цифрови знаци на Raspberry Pi: 8 стъпки
Видео: How to Turn Raspberry Pi Pico into PLC | Beremiz4Pico 2024, Юли
Anonim
Сървър за цифрови знаци на Raspberry Pi
Сървър за цифрови знаци на Raspberry Pi

Абсолютно ръководство за начинаещи в Корсика на малинов PI

Цифровите знаци са навсякъде. Виждате ги по летища, молове, универсални магазини и дори по ъглите на улиците. Не се нуждаете от много скъп персонализиран хардуер, за да изградите своя собствена система за цифрови знаци. Тази инструкция показва как да се изгради сървър за цифрови табели, който може да управлява десетки дисплеи. Всеки дисплей може да бъде толкова прост, колкото монитор и Raspberry PI.

Благодарение на Node Ninjas в Mozilla можете дори да стартирате сървъра на Raspberry Pi с помощта на Corsica.

Corsica е разширяемо решение за цифрови табели, което може да бъде внедрено в повечето POSIX системи. Състои се от сървър и клиенти за дисплей. Клиентските машини не изискват специален софтуер и просто стартират всеки модерен уеб браузър, въпреки че всички от екипа на Corsica силно препоръчват Firefox. Сървърът консумира много малко ресурси и с удоволствие ще работи на Raspberry Pi или друга много малка машина. Сървърът на Корсика, работещ на Raspberry Pi 3+, може лесно да поддържа повече от 100 клиентски дисплея. Тези инструкции са написани специално за Raspberry Pi, работещ с операционната система Raspian (производно на Debian). Тези инструкции също предполагат, че използвате браузъра Firefox. Повечето други съвременни браузъри също трябва да работят.

Стъпка 1: Командният ред на Raspian

Тези инструкции ще ви покажат как да конфигурирате Corsica чрез командния ред. Ако използвате Raspian с графичния потребителски интерфейс (GUI), стигате до командния ред чрез терминалното приложение. Ако използвате Raspian-lite, можете да свържете клавиатура и монитор и да използвате директно командния ред или можете да се свържете през мрежата с помощта на SSH. За повече информация как да активирате и използвате SSH вижте документацията на Raspian SSH. Ще трябва да знаете DNS името или IP адреса на вашия Raspberry Pi. Името по подразбиране в повечето локални мрежи ще бъде raspberrypi.local. Ако това не работи, има инструкции в документацията на Raspian, които ще ви помогнат да откриете правилното име и IP адрес.

Стъпка 2: Инсталиране на софтуер

Корсика използва node и npm. Node ви позволява да стартирате Javascript от страна на сървъра, а npm е мениджърът на пакети на възли.

За да ги инсталирате на Raspberry Pi, първо проверете версията на процесора във вашата система:

uname -m

Ако резултатът започне с armv6, вижте тази публикация в блога. За Raspberry Pi 3 системи и други с armv7 и по -нови процесори:

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

sudo apt install nodejs

Ако не сте запознати с Node, можете да научите повече на nodesource.com.

След това инсталирайте инструментите на командния ред на Корсика:

sudo npm install -g corsica -cli

За да видите наличните команди, въведете

Корсика -помощ

Към това писане наличните команди са:

setup-за настройка на Corsica serverstart [options]-за стартиране на Corsica server рестартиране [options]-за рестартиране на работещ Corsica serverstop-за спиране на работещ Corsica serveradd-plugin [name]-за инсталиране на pluginremove- plugin [name]-за премахване на инсталиран pluginlist-plugins-за изброяване на инсталираните pluginsupdate-за актуализиране както на Корсика, така и на нейните плъгини

Сега можете да използвате инструментите за настройка на софтуера на Корсика:

настройка на Корсика

Настройката на Corsica ще ви попита къде искате да инсталирате Corsica и ще ви покаже местоположението по подразбиране:

Къде да инсталирате Corsica: (/home/pi/corsica-server)

Можете просто да натиснете връщане.

Ще видите някои предупредителни съобщения npm. Те са безопасни за игнориране.

Когато настройката казва „Готово!“, Вие сте инсталирали Корсика.

Можете да стартирате Корсика в терминалната си сесия с:

начало на Корсика

И го спрете с control-C.

Но ако го стартирате по този начин, той ще работи само докато работи вашата терминална сесия. Когато затворите терминалната си сесия, Корсика ще спре.

Ако стартирате Корсика във фонов режим, тя ще работи дори след като изключите терминалната си сесия. Можете да направите това с

corsica start -background

За да спрете екземпляр на Corsica във фонов режим, въведете:

Корсика стоп

Стъпка 3: Конфигурация

Настройката ви вероятно ще се нуждае от персонализиране. В Корсика има два вида персонализиране: конфигурация и настройки. Конфигурацията е предимно статична и се използва от ядрото. Настройките са динамични и се използват предимно от плъгини. Повече за настройките по -късно.

Конфигурацията идва от околната среда и е предназначена за много статични неща, като порт за слушане или приставки за зареждане. Има четири източника за конфигуриране:

1. lib/config.json - Това е мястото, където се съхраняват настройките по подразбиране и е добро място да видите част от това, което може да бъде конфигурирано. Тук не трябва да променяте стойностите.

2. config.js - Настройките, намерени в този файл, се зареждат така, сякаш са от околната среда. Синтаксисът е една конфигурация на ред, напр. `PORT = 8080`. Ако стойностите тук са валидни JSON, те ще бъдат анализирани като такива. Тук настройките ще отменят настройките по подразбиране в `lib/config.json`. Файлът config.js първоначално посочва номера на порта, на който Corsica слуша, и плъгините, използвани от системата.

3..env - Ако скритият файл с име.env е в директорията на Корсика, настройките му се зареждат така, сякаш са от околната среда. Синтаксисът е същият като в config.js. Този файл не съществува в конфигурацията по подразбиране.

4. Променливи на средата - Можете да поставите конфигурационна информация в променливите на системната среда, ако предпочитате. Ако не сте запознати с променливите на средата, е безопасно да игнорирате тази опция.

Стъпка 4: Свързване на екрани на дисплея

След като стартирате Corsica, той ще стартира уеб сървър на порт 8080 на вашата машина, освен ако не сте променили номера на порта във.env файла. Ще трябва да знаете или името на хоста, или IP адреса на вашия Pi. Името по подразбиране за нова инсталация на Raspberry Pi е raspberrypi. Ако не сте го променили, можете просто да отворите браузър на вашата клиентска машина за дисплей и да прегледате до:

raspberrypi.local: 8080

Трябва да видите жълто -черното лого на Корсика. Ще се появи балон с името на Корсика на вашия клиент. Можете (и трябва) да промените името на клиента си на нещо, което показва местоположението на този конкретен дисплей. Най-лесният начин да направите това е да използвате Corsica-repl на Potch. (Поч е основен разработчик на Корсика и той обеща скоро да постави repl в ядрото на Корсика).

Отворете раздела на браузъра и отидете на:

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

(Това предполага, че raspberrypi.local е името на вашия сървър на Корсика).

Ще използваме "TestClient" като име на клиентския дисплей за останалата част от този урок. Отидете на падащото меню в долния десен ъгъл на екрана и намерете изскачащото име на клиента. След това в командния ред в долния ляв ъгъл на екрана въведете:

администратор тип = преименуване име = TestClient

Оставете раздела corsica-repl отворен и преминете към раздела на браузъра, показващ логото на Corsica, и опреснете страницата. Ще видите новото име в изскачащия балон. Ако изчезне твърде бързо, задръжте курсора на мишката в долния десен ъгъл и бутонът „Цял екран“ще се появи с новото име вляво.

Стъпка 5: Добавяне на съдържание

Добавяне на съдържание
Добавяне на съдържание

След като покаже логото на Корсика, клиентът ще покаже някои анимационни животни на син фон.

Етикетът по подразбиране във файла state.json съдържа списък с адреси на уеб страници. Можете да представите всяка уеб страница по този начин, въпреки че оформлението на някои страници ги прави по -малко подходящи за използване с Корсика.

Клиент на Корсика показва съдържание от един или повече тагове, за които се абонира. Новите клиенти идват вече абонирани за маркер, наречен "default".

Анимационните животни са сладки, но нека добавим малко полезно съдържание към въртенето на екрана на нашия тест клиент.

Върнете се в раздела corsica-repl и в командния ред в долния ляв тип:

администратор тип = абонамент маркер = време

Превключете обратно към раздела клиентски дисплей и опреснете страницата.

Прогнозата за времето за Сан Хосе, Калифорния, ще бъде добавена към списъка с показани URL адреси.

Нашият примерен файл state.json съдържа три тагова, наречени „default“, „weather“и „images“. Етикетът "images" съдържа връзки към повече файлове с анимационни графики (.png). Нека ги добавим, като се върнем към раздела corsica-repl и напишем:

администратор тип = абонамент маркер = изображения

Отново се върнете в раздела клиентски дисплей и опреснете страницата. Ще видите някои нови животни, добавени към ротацията. Но забележете, че новите животни се появяват в левия край на страницата с бял фон. Това е така, защото карикатурите със син фон са изброени в state.json като URL адреси, които сочат към подходяща уеб страница, написана на html. Новите карикатури с бял фон са изброени в state.json като URL адреси, които просто сочат графичните файлове-p.webp

Можем да подобрим начина, по който тези графики се показват от Корсика, но за да направим това, ще трябва да „разширим“самата Корсика.

Стъпка 6: Разширяване на Корсика

Разширяване на Корсика
Разширяване на Корсика

Повече от дузина npm Corsica плъгини са достъпни на уебсайта npm. Следвайте тази връзка и въведете „corsica“в полето за търсене в горната част на страницата, за да видите списък с тях. Ще използваме една от тези ппм пп, за да ви позволим да показвате нашите нови животни. Също така е полезно да показвате всяко изображение, което намерите в мрежата, без да показвате разсейващи графики около изображението.

Отидете на командния ред на Corsica, спрете Corsica и инсталирайте приставката corsica-image:

corsica add-plugin corsica-image

След това рестартирайте Корсика:

начало на Корсика

Отворете раздела клиент за дисплей на Corsica във вашия браузър и опреснете страницата. Трябва да видите новите животни, показани центрирани на екрана с тъмно син фон.

Стъпка 7: Персонализиране на съдържанието

Нека да разгледаме разликата между това, което правят URL адресите в маркера по подразбиране и тези в маркера images. Разгледайте state.json, като отидете в командния ред на Корсика и въведете:

cat ~/corsica-server/state.json

В секцията "по подразбиране" на този файл ще намерите ред, който изглежда така:

„https://ramilewski.github.io/corsica-support/show.html?image=kitty.png“, Този URL адрес е връзка към уеб страница с карикатура на коте. Тази уеб страница показва изображение, но също така предоставя фон, който е градиент, който започва в горната част на страницата като син цвят и избледнява до бяло в долната част на страницата. Този фон се създава от CSS и HTML на уеб страницата. Не е част от самата графика.

Разделите "изображения" на страницата имат ред, който изглежда така:

"https://ramilewski.github.io/corsica-support/bunny.png bg =#2244BB", Това е URL адрес, който определя връзка към-p.webp

"#2244BB" е шестнадесетична нотация за тъмно син цвят. За инструмент, който да ви помогне да посочите всеки цвят в шестнадесетична нотация, вижте MDN Color Picker.

При показването на тази линия Корсика използва приставката corsica-image за изобразяване на дисплея. Това означава, че ако намерите изображение, което искате да покажете на дисплеите на вашия Corsica клиент, можете да създадете ред в state.json, който ще показва само това изображение, но не и друго разсейващо съдържание на заобикалящата го страница. За да намерите url на изображение в Firefox, щракнете с десния бутон върху изображението и изберете „Copy Image Location“в контекстното меню, което се показва.

Разделът "времето" на state.json има само един URL адрес. Това извлича прогноза за времето от https://forecast.io. Но освен ако не живеете в Сан Хосе, тази прогноза не е много полезна. За да получите прогноза за вашето местоположение, трябва да знаете географската ширина и дължина в десетични градуси. Ако не го направите, има уеб базиран инструмент, който ще ви позволи да го намерите.

В момента URL адресът в реда в state.json, който определя прогнозата за времето, изглежда така:

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

За да получите прогнозата за вашето местоположение, променете географските и дългите записи в този ред и променете името на вашето местоположение. Използвайте %20 вместо интервали в името на мястото. Цветовият параметър определя цвета на лентите между високите и ниските температури. Параметърът за увеличение се използва за регулиране на размера на прогнозата, така че да се побере на екрана на дисплея.

Когато създавате свой собствен файл state.json, не забравяйте, че ако имате маркер "по подразбиране", всяко съдържание, посочено в този маркер, ще се появи във всеки браузър, който се свързва със сървъра без допълнителна конфигурация.

Показване на времето

В горната част на state.json има някои настройки, които контролират колко дълго всяко изображение да се показва на екрана.

"settings:: timer": {

"resetTime": 30000, "трептене": 5000, Всички времена се измерват в милисекунди (хилядни от секундата). Времето за нулиране е максималното време, през което всяко изображение е на екрана, преди да се покаже следващият екран. Трептенето се умножава по случайно число между -1 и 1 и резултатът се добавя към resetTime. Това осигурява известно разнообразие в времето за показване. Можете да зададете трептене на 0, ако желаете. Показаните настройки ще доведат до показване на всяка страница за между 25 и 35 секунди.

Можете също да зададете различно време за всеки клиент на дисплея:

"settings:: timer": {

"resetTime": 30000, "jitter": 5000, "resetOnConnect": true, "screens": {"TestClient": {"resetTime": 10000, "jitter": 1000}}}, Тук сме задали времето за показване на нашия TestClient между 9 и 11 секунди.

Стъпка 8: Заключение

Показахме как да инсталирате и конфигурирате сървър Corsica на Raspberry Pi. С това, което сте научили тук, можете да изградите универсална, много евтина система за цифрово обозначение. Можете да използвате Raspberry Pis не само като сървър във вашата система, но и за управление на клиентски дисплеи.

Има много повече приставки на уебсайта npm, които можете да използвате, за да добавите други възможности към вашата инсталация на Corsica, включително показване:

  • Снимки от Flickr
  • Туитове
  • Разговори в IRC канал
  • Видео файлове
  • Видеоклипове в YouTube
  • Слайдове в презентации на Google
  • XKCD анимационни филми
  • Съдържание от RSS емисия

Кредити

Корсика е създаването на Node Ninjas от трета степен на Blackbelt от Mozilla, ръководена от Potch, Lonnen и Mythmon.

Тези инструкции за Корсика на малиново зърно бяха събрани заедно от Ричард.

Обикновено можете да намерите всички дебнещи около канала #corsica на irc.mozilla.org.

Препоръчано: