Съдържание:

Табло за обяви на Raspberry Pi: 11 стъпки (със снимки)
Табло за обяви на Raspberry Pi: 11 стъпки (със снимки)

Видео: Табло за обяви на Raspberry Pi: 11 стъпки (със снимки)

Видео: Табло за обяви на Raspberry Pi: 11 стъпки (със снимки)
Видео: Автоматичен плановик за смяна на календара в Excel 2024, Юли
Anonim
Табло за обяви Raspberry Pi
Табло за обяви Raspberry Pi
Табло за обяви на Raspberry Pi
Табло за обяви на Raspberry Pi
Табло за обяви Raspberry Pi
Табло за обяви Raspberry Pi

Това е проект, по който работих за моята църква. Искахме електронно табло за обяви, което да бъде монтирано в зоната на притвора/фоайето и да преминава през статични слайдове на всеки няколко секунди.

Това бяха нашите дизайнерски цели:

  • Статични слайдове, без видео и аудио
  • Администраторът генерира слайдове в Powerpoint (познат инструмент, няма нов софтуер за научаване)
  • Администраторът може да плъзга и пуска нова презентация, за да замени старата
  • Няма облачно решение, тъй като дъската за обяви ще бъде в нашата частна безжична мрежа
  • Без месечни лицензионни такси или собствен софтуер, освен това, което вече имахме (Windows, Office, Powerpoint)
  • 49 -инчов екран, в портретен/вертикален режим (въпреки че е възможен и хоризонтален/хоризонтален режим, описан по -долу)
  • Желана цена: <$ 1000

Успяхме да направим това и влязохме под бюджета. Наскоро помогнах на друга близка църква да направи същия проект, а общите разходи (без да се включват разходите за електротехник за подаване на ток на правилното място на стената и труда, свързан с монтажа) бяха по -малко от 500 долара.

Поради ниската цена и по същество нулевите текущи разходи (само електроенергия), това също би паснало добре на училища, библиотеки, музеи, организации с нестопанска цел или други организации с ограничен бюджет.

Обратната връзка е добре дошла.

Стъпка 1: Списък на оборудването

Списък на оборудването
Списък на оборудването
Списък на оборудването
Списък на оборудването
Списък на оборудването
Списък на оборудването

Ето списък на оборудването, което използвахме. Добавят се коментари. Опитвам се да се свързвам към сайта на производителя, където е възможно, вместо към търговец на дребно.

  • Телевизор/монитор. Почти всеки съвременен телевизор или монитор ще го направи, стига да има CEC (вижте тази статия в Wikipedia за повече информация за CEC: https://en.wikipedia.org/wiki/Consumer_Electronics_Control). Повечето монитори са направени за монтиране във вертикален/портретен или в хоризонтален/пейзажен режим. Телевизорите са проектирани да бъдат хоризонтални, така че вертикалното им монтиране е малко по -сложно. Също така много телевизори са асиметрични отгоре надолу (т.е. долният ръб често е по-голям от горния), така че вертикалното му монтиране може да изглежда малко странно. Все пак телевизорите са по -евтини като цяло, затова отидохме с телевизор. Разбира се, ако предпочитаната ориентация е пейзажна, това няма значение. Отидохме с този: LG 49 "LED телевизор.
  • Телевизионно монтиране: Това беше сложно, защото купихме телевизор и искахме да го монтираме вертикално. Нещата, които трябва да имате предвид, са стилът на монтиране и дали той ще се вижда, особено ако телевизорът е монтиран вертикално. Монтажът е поставен на стената в същата ориентация, както ако сте монтирали телевизора хоризонтално. Ако решите да монтирате телевизора вертикално, трябва да прецените дали отворите за монтаж на винтове в стойката на телевизора могат да приютят въртящите се монтажни отвори в телевизора. Някои телевизори поставят винтовете за монтиране в квадратна форма, докато някои са правоъгълни. Обмислете това и се уверете, че монтажът ще работи на желаното място, преди да закупите.
  • Raspberry Pi, калъф, кабели, радиатор, вентилатор и др.: Препоръчвам ви да получите най -новата и най -добрата версия. По времето, когато изграждахме проекта, това беше Raspberry Pi 3 B+, но сега Raspberry Pi 4 B е излязъл. Що се отнася до корпуса, захранващия кабел, радиаторите, вентилатора, решихме, че тъй като Raspberry Pi ще работи 24/7, искахме калъф с вентилатор, макар и тих. А наличието на захранващ кабел с вграден превключвател на захранването улеснява нулирането на системата, без да се налага да дърпате щепсела. Другата основна разлика между Raspberry Pi 3 B+ и Raspberry Pi 4B е, че 4 B има микро-HDMI щепсел, което означава, че имате нужда от адаптер (включен е в комплекта по-долу).

    • Ако отидете с Raspberry Pi 3 B+: Raspberry Pi 3 B+ Case Kit (не включва Raspberry Pi)
    • Ако отидете с Raspberry Pi 4 B: Raspberry Pi 4 B Case Kit (не включва Raspberry Pi)
  • HDMI кабел: Всичко е наред, стига да поддържа CEC. Обърнете внимание, че обикновено Raspberry Pi ще бъде монтиран на стената зад телевизора/монитора или евентуално прикрепен към самия телевизор/монитор, така че къс 3 -инчов кабел вероятно е достатъчен. Твърде дълъг кабел и той ще се покаже. Помислете също къде са HDMI портовете на телевизора/монитора и дали можете да помислите за 90-градусов край на кабела (например, ако HDMI портовете са от едната страна).
  • MicroSD карта. Това също няма голямо значение. Избрахме 32GB вместо стандартни 16GB, само за да имаме допълнително място за допълнителен софтуер, ако искаме, и да имаме място за съхранение на множество презентации. Избрахме тази: SanDisk Ultra PLUS 32GB MicroSD карта. Обърнете внимание, че е по -лесно, ако закупите MicroSD карта с вече инсталиран NOOBS, като тази: SD карта с NOOBS. Не го направих, но можете да спестите крачка, ако го направите. Вижте тук за повече информация: NOOBS

Бележка относно CEC: CEC (Consumer Electronics Control) позволява на някои компоненти да се контролират взаимно чрез HDMI кабела. Например, DVD плейър може да включва/изключва свързания телевизор чрез HDMI кабел, ако и двата поддържат CEC. Това е полезно в нашия случай, тъй като Raspberry Pi може да включва/изключва телевизора/монитора, както желае. Например в църковна обстановка бихме искали мониторът да е включен само през часове, когато църквата е отворена, и това варира в зависимост от деня от седмицата. CEC позволява на Pi да включва и изключва телевизора в произволно сложен график.

Стъпка 2: Сглобете Pi Case

Сглобете кутията Pi
Сглобете кутията Pi
Сглобете кутията Pi
Сглобете кутията Pi
Сглобете Pi Case
Сглобете Pi Case

Сглобяването е доста лесно. Залепете радиаторите върху чиповете със съответния размер върху Raspberry Pi, сглобете кутията слой по слой. Не забравяйте да премахнете тънките пластмасови защитни листове от всеки слой.

Стъпка 3: Инсталирайте Raspbian

Инсталирайте Raspbian
Инсталирайте Raspbian

На сайта на Raspberry Pi има отлично ръководство. Следвайте тези инструкции, за да го настроите.

Настройване на вашия Raspberry Pi

Използвах Raspbian Lite, тъй като няма допълнителни приложения, които няма да ви трябват за този проект.

Стъпка 4: Добавете стандартен и персонализиран софтуер

След като NOOBS инсталира Raspbian, при първото влизане ще бъдете подканени за неща като език, часова зона и т.н. Той също така ще ви подкани за WiFi мрежа и информация за паролата, освен ако не сте на кабелна връзка. И накрая, той ще изтегли и инсталира всички актуализации на Raspbian. Помага, ако сте на същата интернет връзка като при окончателната настройка, но не е задължително. Тоест, можете да направите тази стъпка у дома, преди да настроите на крайното място. Само не забравяйте да настроите новата интернет връзка преди последното рестартиране в последната стъпка.

Отворете терминален прозорец (щракнете върху черната правоъгълна икона близо до горния ляв ъгъл на екрана).

Първо проверяваме отново дали има други актуализации на Raspbian. Въведете следните редове, един по един

sudo apt актуализация

sudo apt ъпгрейд

(кажете „Y“, ако ви попита дали искате да инсталирате актуализации).

След това инсталираме Samba, която позволява споделяне на папки с машината (ите) на Windows в мрежата.

sudo apt инсталирате samba samba-common-bin smbclient cifs-utils

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

sudo apt инсталирате fbi

След това инсталираме inotify-tools. inotify-tools позволява на слайдшоуто да наблюдава споделената папка за всякакви промени.

sudo apt install inotify-tools

След това инсталираме cec-utils. cec-utils позволява на Raspberry Pi да включва и изключва телевизора чрез HDMI кабел.

sudo apt инсталирате cec-utils

След това ще трябва да изтеглите малките помощни програми, които написах, за да пуснете слайдшоуто.

git clone

Това ще извлече кода и ще го постави в директория, наречена raspi_slideshow.

Сега целият софтуер е наличен на Raspberry Pi. Следващите стъпки преминават през конфигурацията.

Стъпка 5: Настройте споделена папка

По подразбиране кодът за слайдшоу търси директория (папка) /споделена /презентация.

Трябва да създадем тази директория. Тъй като е на ниво root, имаме нужда от root права, така че sudo е в ред. Може да се наложи да въведете паролата (по подразбиране е малинова), когато изпълните тази команда:

sudo mkdir -p /споделено /Презентация

След това трябва да направим това четимо и записваемо от всеки на този Pi. Въведете следната команда:

sudo chmod a+rwx /shared /Presentation

Това го прави видим само на този Pi. След това трябва да споделим тази папка със света (всъщност само други машини в същата мрежа). Ето защо препоръчваме това да бъде в частна (защитена с парола) Wi-Fi мрежа или кабелна локална мрежа.

Когато инсталирахме samba в предишната стъпка, тя създаде файл по подразбиране /etc/samba/smb.conf

Трябва да добавим куп редове в края на този файл. Редовете са във файла raspi_slideshow/add_to_smb.conf

Най -лесният начин да направите това е следното:

sudo bash

котка raspi_slideshow/add_to_smb.conf >> /etc/samba/smb.conf изход

Това основно свързва файла add_to_smb.conf до края на /etc/samba/smb.conf

Можете да изберете да го направите чрез редактор като nano, ако предпочитате, но това е доста голямо количество писане.

По принцип той споделя /споделената директория като директория, която може да се чете и записва от всеки в локалната мрежа. Няма да разгледам как да го защитя тук, но ако искате да бъде защитен (да изисква парола за редактиране), можете да прочетете Samba и да промените съответно настройките.

Стъпка 6: Конфигурирайте настройките за включване/изключване на монитора

Използваме cron за включване и изключване на телевизора/монитора в планирани часове. Cron е помощна програма за Linux, която изпълнява задачи в планирани часове. Ако искате вашият телевизор/монитор да работи денонощно или искате да го включвате и изключвате ръчно, можете да пропуснете тази стъпка.

Копирайте примерния файл crontab от директорията raspi_slideshow в домашната директория.

cp raspi_slideshow/crontab_example.pi crontab.pi

Файлът crontab_example.pi е пример, който показва как работи този тип файл. Има много документация в Wikipedia и другаде:

Сега го редактираме. Помага да си направите график вече. Примерният график е

  • Неделя: в 7 часа сутринта, изключване в 21 часа
  • Сряда: в 8 ч., Изключване в 21:00 ч
  • Събота: в 7 часа сутринта, изключване в 21 часа
  • Други дни: включен в 8 часа сутринта, изключен в 17 часа

Харесва ми nano, тъй като е инсталиран с Raspbian и е лесен за използване. Можете да използвате vi или друг редактор.

nano crontab.pi

Редактирайте файла, за да посочите времената за включване/изключване за всеки ден. Използвайте клавишите със стрелки, за да се придвижвате. Backspace за изтриване, въвеждане за вмъкване. Когато приключите, Control-O за запазване (ще трябва да натиснете "enter", за да потвърдите името на файла), и Control-X, за да излезете от nano.

След като имате вашия cron файл по начина, по който искате, кажете на Raspbian, че искате да го изпълните:

crontab crontab.pi

Ако някога искате да промените графика си, можете да редактирате $ HOME/crontab.pi и да изпълните отново командата crontab непосредствено по-горе. Това ще замени стария ви график с новия.

Стъпка 7: Конфигурирайте настройките на дисплея

Конфигурирайте настройките на дисплея
Конфигурирайте настройките на дисплея

Почти свършихме! Трябва да конфигурираме настройките на дисплея. fbi е помощната програма, която използваме за показване на слайдовете. Той чете настройките си от файла.fbirc в домашната директория.

Първо се уверете, че сме в началната директория.

cd $ HOME

След това копирайте файла от директорията raspi_slideshow до дома

cp raspi_slideshow/.fbirc.

Не е необходимо да редактирате файла. Ако обаче изберете, трите настройки, които представляват интерес, са:

случайно = невярно

blend-msecs = 500

таймаут = 8

Случайната линия определя дали fbi рандомизира реда на слайдовете. true означава, че прави рандомизиране на слайдовете, false означава, че не го прави. Тъй като искахме някакъв контрол върху реда в който са слайдовете, го зададохме на false.

Редът blend-msecs казва колко милисекунди (1000 = 1 секунда) продължава всеки преход. Стойност 0 означава, че слайдовете се променят незабавно от един на друг. Нашата настройка на 500 означава, че слайдовете избледняват един за друг за период от 0,5 секунди.

Времето за изчакване е времето (в секунди), през което всеки слайд се показва преди да премине към следващия. Можете да регулирате това, ако искате слайдовете да бъдат по -дълги или по -къси. Само не забравяйте, че това се отнася за всички слайдове еднакво. Няма начин някои слайдове да изглеждат по -дълги, а други по -къси.

Завъртане на дисплея

Ако вашият телевизор/монитор е монтиран вертикално, както ние правим, ще трябва да завъртите дисплея на 90 градуса или 270 градуса. Ако имате телевизор/монитор монтиран хоризонтално, можете да пропуснете останалата част от тази стъпка.

Използвайте nano отново. Този път трябва да стартирате като root, така че ще трябва да направите sudo, което може да изисква да въведете отново паролата си (по подразбиране е малинов)

sudo nano /boot/config.txt

Използвайте стрелката надолу, за да преминете чак до дъното на този файл. Добавете следния ред в края на файла:

display_rotate = 1

Това ще завърти дисплея на 90 градуса. Ако след монтажа дисплеят ви е обърнат, сменете 1 на 3.

По принцип display_rotate = 0 (без завъртане), 1 (90 градуса), 2 (180 градуса), 3 (270 градуса)

На горната снимка бяхме задали display_rotate = 1 и трябваше да се върнем и да го променим на display_rotate = 3. Много по-лесно от повторното монтиране на телевизора!

Стъпка 8: Променете паролата и настройте Auto-run

Променете паролата и настройте автоматичното стартиране
Променете паролата и настройте автоматичното стартиране
Променете паролата и настройте автоматичното стартиране
Променете паролата и настройте автоматичното стартиране

На този етап почти приключихме!

Кликнете върху малиновото меню в горния ляв ъгъл, изберете Предпочитания-> Конфигурация на Raspberry Pi

Това извежда диалогов прозорец. Кликнете върху „Промяна на паролата …“и я променете на нещо, което ще запомните!

Можете да изберете да промените името на системата (поле Hostname).

Уверете се, че щракнете върху Boot "To CLI"

Задайте автоматично влизане ("Вход като потребител 'pi'")

Сега трябва да настроите слайдшоуто да се изпълнява при стартиране. Най -лесният начин е да добавите един ред към вашия.bashrc файл. Задействаме нашия nano редактор:

nano.bashrc

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

python3 raspi_slideshow/play_slideshow.py

Тези настройки означават, че:

  • При всяко рестартиране Raspberry Pi автоматично ще влиза като потребител pi
  • Той няма да стартира прозоречен мениджър, а просто ще се изпълнява на екрана ("Boot to CLI")
  • Той ще стартира bash shell, който чете.bashrc файла, а последният ред на този файл казва да стартира слайдшоуто.

След това рестартирането НЕ ще задейства мениджъра на прозорци и автоматично ще стартира слайдшоуто. Можете да спрете слайдшоуто, като натиснете Control-C по време на слайдшоуто. Това ще ви отскочи до подканата за bash ($).

Ако искате да стартирате прозоречния мениджър от този момент (за отстраняване на грешки или по -лесно манипулиране на настройките), можете да го направите, като напишете "startx" в командния ред.

Стъпка 9: Използвайте (Настройка на Windows машината)

При реална употреба Raspberry Pi се свързва с нашата частна безжична мрежа при стартиране. Той споделя своята /споделена директория (и всичко отдолу) с мрежата. За да видите тази папка от машина с Windows, уверете се, че сте в същата мрежа.

Предполагам, че ще се свързвате с това от компютър с Windows в офис. За Windows 7 или Windows 10 отворете File Explorer, за да видите файловете/папките на вашия компютър. Щракнете с десния бутон вляво, където пише „Компютър“или „Моят компютър“, след което изберете „Карта на мрежовото устройство …“

Това ще отвори диалогов прозорец. Изберете каква буква, напр. "Z:", към който искате да картографирате вашето шофиране. След това в полето Папка въведете:

{name-of-your-Pi-computer} споделено

където {name-of-your-Pi-computer} е името, което сте върнали на Raspberry pi в предишната стъпка (вижте предишната снимка с диалоговия прозорец).

Не забравяйте да кликнете върху „Повторно свързване при влизане“. Възможно е, ако Raspberry Pi се изключи при зареждане на компютъра с Windows, тази стъпка може да се наложи да се повтори (или компютърът с Windows да се рестартира), за да се види споделената папка.

Ако решите да защитите папката си с парола, можете да добавите идентификационни данни, като изберете „Свързване с помощта на различни идентификационни данни“и въведете потребителското име/паролата за Raspberry Pi.

Сега, когато искате слайдовете да влизат в слайдшоуто ви, копирайте отделни изображения на слайдове (*) в папката „Презентация“.

Скриптът ще наблюдава и показва САМО съдържанието на папката Презентация и нищо на нивото над това (споделено). По този начин понякога използваме трика да поставяме често използвани слайдове на най-високо ниво и след това да ги плъзгаме според нуждите в или извън папката Презентация.

Не забравяйте, че когато нещо в папката „Презентация“се промени (файловете се добавят, изтриват или променят), скриптът за слайдшоу изчаква 2 минути (120 секунди, конфигуриран в play_slideshow.py, търсене на чакане_време), преди да нулира и покаже новите слайдове. Това дава на лицето време да направи всички необходими промени без нулиране след добавяне на всеки нов файл.

Отделните изображения на слайдове са jpeg, gif или png файлове, които представляват един слайд. Най -лесният начин да ги генерирате е да използвате Microsoft PowerPoint или подобна програма. Можете да генерирате колкото искате слайдове в Microsoft PowerPoint и да ги запазите като презентация на PowerPoint. След това щракнете върху File-> Export-> Change File Type и запишете като PNG или JPEG. Това ще изведе слайдовете като отделни файлове, напр. slide1.png, slide2.png и т.н. След това можете да плъзгате и пускате отделни файлове в Z: / Presentation (или каквато и да е буква от устройството, която сте използвали). Имайте предвид, че презентацията е подредена по азбучен (не цифров) ред, така че slide11.png идва след slide1.png и преди slide2.png. Разбира се, можете да преименувате слайдовете, преди да ги копирате в мрежовата папка. Просто се уверете, че запазват разширението си (напр.. Png). Скриптът за слайдшоу в момента търси само файлове със следните разширения:.png,.png,.gif,.gif,.jpg,-j.webp

Стъпка 10: Отстраняване на неизправности

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

Ако вашият Raspberry Pi не се свързва, не се актуализира или изглежда като цяло заседнал, опитайте да го включите.

Ако устройството ви с Windows загуби картографираното мрежово устройство, опитайте да го включите или да го добавите ръчно отново.

Ако имате други въпроси/проблеми, моля, публикувайте в коментарите и аз ще актуализирам тази стъпка с често срещани проблеми и техните решения.

Стъпка 11: Заключение и бъдеща работа

СВЪРШЕН

В този момент можете да рестартирате вашия Raspberry Pi, или чрез менютата, или с бутона за захранване на захранващия кабел. Хубавото на тази настройка е, че когато Pi се стартира (прекъсване на захранването, срив, каквото и да е), той се стартира в режим на слайдшоу, така че можете да включите цикъла по желание и той трябва да се възстанови добре. След като това е инсталирано и работи, можете почти да го "настроите и забравите", освен актуализациите на слайдовете. В нашия случай нашият църковен администратор актуализира слайдовете седмично и тази система работи безупречно от около година.

Моля, дайте обратна връзка! Възприемчив съм към поправянето на грешки или неточности. Разбирам, че има много различни начини да се правят неща, така че не съм развълнуван да отговарям на въпроси като "защо сте използвали python вместо {език за програмиране X}?" Или предложения, които са функционално еднакви (като „sudo apt“всички пакети наведнъж, вместо един по един). Функционалните подобрения обаче винаги са добре дошли! Опитвам се да направя това възможно най -функционално и полезно, като същевременно съм лесен за инсталиране и лесен за поддръжка. Особено се радвам на обратна връзка от тези, които са се възползвали от тази инструкция. Щастлив съм да помогна, ако мога.

Бъдеща работа

Започвам да работя върху версия, която ще позволи видео файлове (със звук) да се смесват със статичните слайдове. Мисля, че мога да използвам vlc за това от командния ред. Ще актуализирам това, ако успея да го накарам да работи. Чувствайте се свободни да правите предложения!

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