Оглавление:

Доска объявлений Raspberry Pi: 11 шагов (с изображениями)
Доска объявлений Raspberry Pi: 11 шагов (с изображениями)

Видео: Доска объявлений Raspberry Pi: 11 шагов (с изображениями)

Видео: Доска объявлений Raspberry Pi: 11 шагов (с изображениями)
Видео: Raspberry Pi - Что нужно знать? Что нужно иметь? Достаточно купить только плату? 2024, Июль
Anonim
Доска объявлений Raspberry Pi
Доска объявлений Raspberry Pi
Доска объявлений Raspberry Pi
Доска объявлений Raspberry Pi
Доска объявлений Raspberry Pi
Доска объявлений Raspberry Pi

Это проект, над которым я работал для своей церкви. Нам нужна была электронная доска объявлений, которая могла бы быть установлена в нартексе / вестибюле и переключаться между статическими слайдами каждые несколько секунд.

Цели нашего дизайна были следующими:

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

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

Из-за низкой стоимости и практически нулевых текущих затрат (только электричество) это также хорошо подходит для школ, библиотек, музеев, некоммерческих или других организаций с ограниченным бюджетом.

Обратная связь приветствуется.

Шаг 1: Список оборудования

Перечень оборудования
Перечень оборудования
Перечень оборудования
Перечень оборудования
Перечень оборудования
Перечень оборудования

Вот список оборудования, которое мы использовали. Добавлены комментарии. Я стараюсь по возможности ссылаться на сайт производителя, а не продавца.

  • ТВ / монитор. Подойдет практически любой современный телевизор или монитор, если у него есть CEC (дополнительную информацию о CEC см. В этой статье в Википедии: https://en.wikipedia.org/wiki/Consumer_Electronics_Control). Большинство мониторов предназначены для установки в вертикальном / портретном или горизонтальном / ландшафтном режимах. Телевизоры спроектированы так, чтобы их можно было устанавливать в горизонтальном положении, поэтому их установка в вертикальном положении немного сложнее. Кроме того, многие телевизоры асимметричны по направлению сверху вниз (то есть нижний край часто больше верхнего), поэтому установка его в вертикальном положении может выглядеть немного странно. Тем не менее, телевизоры в целом дешевле, поэтому мы выбрали телевизор. Конечно, если вы предпочитаете альбомную ориентацию, это не имеет значения. Мы выбрали этот: 49-дюймовый светодиодный телевизор LG.
  • Крепление для телевизора: это было сложно, потому что мы купили телевизор и хотели установить его вертикально. Следует учитывать стиль крепления и то, будет ли он виден, особенно если телевизор установлен вертикально. Крепление размещается на стене в той же ориентации, как если бы вы устанавливали телевизор горизонтально. Если вы решите установить телевизор вертикально, вам необходимо подумать, могут ли отверстия для винтов в креплении телевизора соответствовать повернутым монтажным отверстиям в телевизоре. В некоторых телевизорах крепежные винты располагаются по квадратному шаблону, а в некоторых - по прямоугольной. Подумайте об этом и перед покупкой убедитесь, что ваше крепление будет работать в нужном месте.
  • Raspberry Pi, корпус, кабели, радиатор, вентилятор и т.д.: Я рекомендую вам получить самую последнюю и лучшую версию. В то время, когда мы создавали проект, это был Raspberry Pi 3 B +, но теперь Raspberry Pi 4 B отсутствует. Что касается корпуса, шнура питания, радиаторов, вентилятора, мы решили, что, поскольку Raspberry Pi будет работать 24/7, нам нужен корпус с вентилятором, хотя и тихий. А наличие шнура питания со встроенным выключателем питания позволяет легко перезагрузить систему, не вынимая вилку из розетки. Другое главное отличие Raspberry Pi 3 B + от Raspberry Pi 4B заключается в том, что у 4 B есть разъем micro-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. Это тоже не имеет большого значения. Мы выбрали 32 ГБ вместо стандартных 16 ГБ, чтобы иметь дополнительное место для дополнительного программного обеспечения, если мы хотим, и чтобы было место для хранения нескольких презентаций. Мы выбрали эту: карту памяти MicroSD SanDisk Ultra PLUS 32 ГБ. Обратите внимание, что будет проще, если вы купите карту MicroSD с уже установленными NOOBS, например, эту: SD-карта с NOOBS. Я этого не делал, но вы можете сэкономить шаг, если сделаете это. См. Здесь для получения дополнительной информации: NOOBS

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

Шаг 2: соберите корпус Pi

Соберите корпус Pi
Соберите корпус Pi
Соберите корпус Pi
Соберите корпус Pi
Соберите корпус Pi
Соберите корпус Pi

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

Шаг 3: Установите Raspbian

Установить Raspbian
Установить Raspbian

На сайте Raspberry Pi есть отличное руководство. Следуйте этим инструкциям, чтобы настроить его.

Настройка вашего Raspberry Pi

Я использовал Raspbian Lite, так как в нем нет дополнительных приложений, которые вам не понадобятся для этого проекта.

Шаг 4. Добавьте стандартное и индивидуальное программное обеспечение

После того, как NOOBS установит Raspbian, при первом входе в систему вам будет предложено указать такие вещи, как язык, часовой пояс и т. Д. Он также запросит информацию о сети Wi-Fi и пароле, если вы не используете проводное соединение. Наконец, он загрузит и установит все обновления Raspbian. Это помогает, если вы используете то же подключение к Интернету, что и при окончательной настройке, но это не обязательно. То есть вы можете проделать этот шаг дома перед установкой в окончательном месте. Просто не забудьте настроить новое интернет-соединение перед последней перезагрузкой на последнем шаге.

Откройте окно терминала (щелкните черный прямоугольный значок в верхнем левом углу экрана).

Сначала мы дважды проверяем, есть ли дальнейшие обновления Raspbian. Введите следующие строки по одной

sudo apt update

sudo apt upgrade

(скажите «Y», если появится вопрос, хотите ли вы установить обновления).

Затем мы устанавливаем Samba, которая позволяет совместно использовать папку с компьютерами Windows в сети.

sudo apt установить samba samba-common-bin smbclient cifs-utils

Далее устанавливаем fbi. fbi - это утилита unix, которая отображает графику на экране без оконного менеджера.

sudo apt install fbi

Далее мы устанавливаем inotify-tools. inotify-tools позволяет слайд-шоу отслеживать изменения в общей папке.

sudo apt установить inotify-tools

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

sudo apt установить cec-utils

Затем вам нужно будет загрузить небольшие утилиты, которые я написал для воспроизведения слайд-шоу.

git clone

Это получит код и поместит его в каталог с именем raspi_slideshow.

Теперь все программное обеспечение доступно на Raspberry Pi. Следующие шаги проходят через настройку.

Шаг 5: Настройте общую папку

По умолчанию код слайд-шоу ищет каталог (папку) / общий / презентацию.

Нам нужно создать этот каталог. Поскольку он находится на корневом уровне, нам нужны права root, поэтому sudo в порядке. При выполнении этой команды вам может потребоваться ввести пароль (по умолчанию - raspberry):

sudo mkdir -p / общий / презентация

Затем нам нужно сделать это доступным для чтения и записи любому пользователю этого Pi. Введите следующую команду:

sudo chmod a + rwx / общий / презентация

Это делает его видимым только на этом Pi. Затем нам нужно предоставить доступ к этой папке всему миру (фактически, только другим машинам в той же сети). Вот почему мы рекомендуем использовать его в частной (защищенной паролем) сети Wi-Fi или в проводной локальной сети.

Когда мы установили samba на предыдущем шаге, он создал файл по умолчанию /etc/samba/smb.conf

Нам нужно добавить несколько строк в конец этого файла. Строки находятся в файле raspi_slideshow / add_to_smb.conf

Проще всего это сделать следующим образом:

sudo bash

cat raspi_slideshow / add_to_smb.conf >> /etc/samba/smb.conf выход

Это в основном объединяет файл add_to_smb.conf в конец /etc/samba/smb.conf

Вы можете сделать это с помощью редактора, такого как nano, если хотите, но это довольно много для набора текста.

Обычно он разделяет каталог / shared как каталог, доступный для чтения и записи любому пользователю в локальной сети. Я не буду вдаваться в подробности о том, как защитить его здесь, но если вы хотите, чтобы он был защищен (требуя пароль для редактирования), вы можете прочитать о Samba и соответствующим образом изменить настройки.

Шаг 6. Настройте параметры включения / выключения монитора

Мы используем cron для включения и выключения телевизора / монитора по расписанию. Cron - это утилита Linux, которая запускает задачи по расписанию. Если вы хотите, чтобы ваш телевизор / монитор работал круглосуточно и без выходных, или вы хотите включать и выключать его вручную, вы можете пропустить этот шаг.

Скопируйте пример файла crontab из каталога raspi_slideshow в домашний каталог.

cp raspi_slideshow / crontab_example.pi crontab.pi

Файл crontab_example.pi - это пример, показывающий, как работает этот тип файла. В Википедии и других источниках есть много документации:

Теперь редактируем. Полезно иметь заранее составленный график. Пример расписания:

  • Воскресенье: в 7 утра, выходной в 9 вечера.
  • Среда: в 8.00, выходной в 21.00
  • Суббота: в 7 утра, выходной в 9 вечера.
  • В другие дни: в 8.00, выходной в 17.00.

Мне нравится nano, так как он устанавливается вместе с Raspbian и прост в использовании. Вы можете использовать vi или любой другой редактор.

нано 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.

Вам не нужно редактировать файл. Однако, если вы выберете, вас могут заинтересовать три настройки:

random = false

blend-msecs = 500

тайм-аут = 8

Случайная линия определяет, рандомизирует ли fbi порядок слайдов. true означает, что слайды рандомизируются, false - нет. Поскольку нам нужен некоторый контроль над порядком расположения слайдов, мы установили для него значение false.

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

Тайм-аут - это время (в секундах), в течение которого каждый слайд отображается перед переходом к следующему. Вы можете изменить это, если хотите, чтобы слайды были длиннее или короче. Просто помните, что это применимо ко всем слайдам в равной степени. Невозможно сделать так, чтобы одни слайды были длиннее, а другие - короче.

Повернуть дисплей

Если ваш телевизор / монитор установлен вертикально, как это делаем мы, вам нужно будет повернуть дисплей на 90 или 270 градусов. Если ваш телевизор / монитор установлен горизонтально, вы можете пропустить оставшуюся часть этого шага.

Снова используйте нано. На этот раз вам нужно запустить как root, поэтому вам понадобится sudo, что может потребовать повторного ввода пароля (по умолчанию - raspberry)

судо нано /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: измените пароль и настройте автозапуск

Изменить пароль и настроить автозапуск
Изменить пароль и настроить автозапуск
Изменить пароль и настроить автозапуск
Изменить пароль и настроить автозапуск

На этом мы почти закончили!

Нажмите на меню малины в верхнем левом углу, выберите Настройки-> Конфигурация Raspberry Pi.

Это вызывает диалоговое окно. Нажмите «Изменить пароль…» и измените его на то, что вы запомните!

Вы можете изменить имя системы (поле Hostname).

Убедитесь, что вы нажали "Загрузиться в интерфейс командной строки".

Установить автоматический вход («Войти как пользователь 'pi'»)

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

нано.bashrc

Стрелку вниз в конец файла и добавьте следующую строку:

python3 raspi_slideshow / play_slideshow.py

Эти настройки означают, что:

  • Каждый раз при перезагрузке Raspberry Pi автоматически входит в систему как пользователь pi.
  • Он не запускает оконный менеджер, а просто запускается на экране ("Загрузка в CLI")
  • Он запустит оболочку bash, которая читает файл.bashrc, и последняя строка этого файла говорит, что нужно запустить слайд-шоу.

После этого перезагрузка НЕ запускает оконный менеджер и автоматически запускает слайд-шоу. Вы можете остановить слайд-шоу, нажав Control-C во время слайд-шоу. Это вернет вас обратно к приглашению bash ($).

Если вы хотите запустить оконный менеджер с этого момента (для отладки или более простого изменения настроек), вы можете сделать это, набрав «startx» в командной строке.

Шаг 9: Используйте (Настройка машины с Windows)

На практике наш Raspberry Pi подключается к нашей частной беспроводной сети при запуске. Он разделяет свой каталог / shared (и все, что ниже) в сеть. Чтобы увидеть эту папку на компьютере с Windows, убедитесь, что вы находитесь в той же сети.

Я предполагаю, что вы будете подключаться к нему с компьютера Windows в офисе. Для Windows 7 или Windows 10 откройте проводник, чтобы просмотреть файлы / папки на вашем компьютере. Щелкните правой кнопкой мыши слева, где написано «Компьютер» или «Мой компьютер», затем выберите «Подключить сетевой диск…»

Это вызовет диалоговое окно. Выберите, какую букву, например «Z:», к которому вы хотите привязать свой диск. Затем в поле «Папка» введите:

{имя-вашего-пи-компьютера} общий

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

Обязательно нажмите «Подключиться при входе в систему». Возможно, что если Raspberry Pi выключится при загрузке компьютера с Windows, этот шаг, возможно, придется повторить (или перезагрузить компьютер с Windows), чтобы увидеть общую папку.

Если вы решите защитить свою папку паролем, вы можете добавить учетные данные, выбрав «Подключиться с использованием разных учетных данных» и введя имя пользователя / пароль для Raspberry Pi.

Теперь, когда вы хотите, чтобы слайды вошли в слайд-шоу, скопируйте отдельные изображения слайдов (*) в папку «Презентации».

Сценарий будет отслеживать и отображать ТОЛЬКО содержимое папки «Презентация» и ничего выше этого уровня (shared). Таким образом, мы иногда используем уловку, заключающуюся в размещении часто используемых слайдов на верхнем уровне и последующем перетаскивании их по мере необходимости в папку «Презентация» или из нее.

Помните, что когда что-либо в папке «Презентация» изменяется (файлы добавляются, удаляются или изменяются), сценарий слайд-шоу ждет 2 минуты (120 секунд, настраивается в play_slideshow.py, поиск wait_time) перед сбросом и отображением новых слайдов. Это дает человеку время внести все необходимые изменения без сброса настроек после добавления каждого нового файла.

Отдельные изображения слайдов представляют собой файлы jpeg, gif или png, представляющие один слайд. Самый простой способ создать их - использовать Microsoft PowerPoint или аналогичную программу. Вы можете создать сколько угодно слайдов в Microsoft PowerPoint и сохранить их как презентацию PowerPoint. Затем нажмите Файл-> Экспорт-> Изменить тип файла и сохраните как-p.webp

Шаг 10: Устранение неполадок

Большинство проблем можно решить с помощью старого решения «попробуйте выключить и снова включить».

Если ваш Raspberry Pi не подключается, не обновляется или вообще зависает, попробуйте выключить и снова включить его.

Если ваша машина Windows теряет подключенный сетевой диск, попробуйте выключить и снова включить его или снова вручную добавить диск.

Если у вас есть другие вопросы / проблемы, напишите в комментариях, и я обновлю этот шаг, указав типичные проблемы и их решения.

Шаг 11: Заключение и дальнейшая работа

СДЕЛАНО

На этом этапе вы можете перезагрузить Raspberry Pi либо через меню, либо с помощью кнопки питания на шнуре питания. Хорошая вещь в этой настройке заключается в том, что всякий раз, когда Pi загружается (сбой питания, сбой и т. Как только он будет установлен и заработает, вы можете в значительной степени «установить и забыть», кроме обновлений слайдов. В нашем случае администратор нашей церкви еженедельно обновляет слайды, и эта система работает безупречно около года.

Пожалуйста, оставьте отзыв! Я готов исправить ошибки или неточности. Я понимаю, что есть много разных способов сделать что-то, поэтому я не в восторге от ответов на такие вопросы, как "почему вы использовали python вместо {язык программирования X}?" Или предложения, которые функционально одинаковы (например, "sudo apt" все пакеты сразу, а не по одному). Однако функциональные улучшения всегда приветствуются! Я стараюсь сделать его максимально функциональным и полезным, а также простым в установке и обслуживании. Мне особенно нравятся отзывы тех, кто получил пользу от этого руководства. Я с радостью помогу, если смогу.

Будущая работа

Я начинаю работать над версией, которая позволит смешивать видеофайлы (со звуком) со статическими слайдами. Думаю, я могу использовать для этого vlc из командной строки. Я обновлю это, если смогу заставить его работать. Не стесняйтесь вносить предложения!

Рекомендуемые: