Цифровые фоторамки, конечно, приятно смотреть, но они могут быть довольно негибкими, а семейные фотографии могут быть немного… ну, скучными. Но если вы добавите экран к Raspberry Pi, вы сможете сделать что-то совершенно уникальное, наложив фотографии из r / earthporn на «вдохновляющие» цитаты из r / shower thinkts (или любую комбинацию ваших любимых субреддитов).
Хотите создать свою собственную динамичную цифровую дискуссионную площадку на Raspberry Pi? Читать дальше.
Приготовь Пи
Вам понадобится последняя версия Raspbian установленный для этого проекта, поэтому при необходимости загрузите и напишите на свою SD-карту Как только вы это сделаете, найдите время для настройки беспроводной сети. и включите SSH .
После того, как все это будет сделано и правильно настроено, убедитесь, что вы успешно подключили Pi к нужному дисплею. Это может быть старый монитор ноутбука, неиспользуемый планшет или ридер Kindle или один из дисплеев, предназначенных для Pi.
Вы также должны предпринять шаги, необходимые для расширения файловой системы Raspberry Pi. Это можно сделать в raspi-config в командной строке. или в меню « Меню»> «Установки»> «Raspberry Pi Configuration» на рабочем столе.
Получение контента от Reddit
Вместо того, чтобы перебирать фотографии, хранящиеся на вашем Pi, вы можете использовать скрипт Python для поиска изображений в Интернете. Каналы Reddit r / EarthPorn (красивые, потрясающие фотографии Земли и абсолютно безопасные для работы!) И r / ShowerThoughts являются отличными кандидатами, и вы можете скачать код со страницы этого scul86 на Github . Загрузите ep_st.py , ep_st.config и template.html и сохраните все три файла в одном месте на вашем Raspberry Pi (возможно, home / pi / Frame ) перед редактированием ep_st.config :
sudo nano /home/pi/Frame/ep_st.config
Здесь найдите текст, озаглавленный [FILEPATHS], и измените его так, чтобы он соответствовал местоположению, в котором вы сохранили три файла. Если вы не уверены, какой должен быть полный путь к файлу, перейдите в файл в командной строке и введите pwd .
Обратите внимание, что вы также можете настроить подредакты, из которых скрипт извлекает текст и изображения, хотя мы рекомендуем оставить их с настройками по умолчанию.
Когда вы закончите, нажмите Ctrl + X , затем Y, чтобы подтвердить изменения.
Далее вам нужно установить praw , оболочку Python для Reddit API. Установите это с
sudo pip install praw
Подождите, пока это будет сделано, а затем переключите ваше внимание на предоставление ep_st.py необходимых разрешений:
sudo chmod 777 /home/pi/Frame/ep_st.py
Затем вы должны сделать файл исполняемым:
sudo chmod +x /home/pi/Frame/ep_st.py
Чтобы проверить слайд-шоу, перейдите в каталог Frame и запустите
python ep_st.py
В графическом интерфейсе перейдите в каталог Frame и найдите только что созданный ep_st.html . Это результат скрипта Python и настроек, которые вы указали в файле конфигурации, поэтому откройте его, чтобы увидеть результаты. Страница настроена на автоматическое обновление и должна обновляться при создании нового вдохновляющего изображения. Если вы беспокоитесь о том, чтобы заполнить ваше дисковое пространство Pi этим, не надо: изображения на самом деле не загружаются, это просто создание файла HTML, который указывает на них удаленно (вероятно, URL-адрес IMGUR) с текстовым наложением.
На этом этапе все, что осталось сделать, это настроить слайд-шоу на автоматический запуск при загрузке Raspberry Pi. Чтобы это произошло, нам нужно запустить скрипт Python и открыть HTML-файл.
Начните с установки и настройки браузера. Мы собираемся использовать Midori, но вы можете выбрать и настроить практически любой Pi-совместимый браузер .
Сначала откройте sudo raspi-config и отключите Overscan . Затем установите браузер:
sudo apt-get install midori x11-xserver-utils matchbox unclutter
Затем откройте nano, чтобы создать скрипт:
sudo nano /home/pi/fullscreen.sh
Здесь введите следующее:
unclutter & matchbox-window-manager & midori -e Fullscreen -a [URL]
Замените [URL] веб-страницей, которую вы хотите загрузить при загрузке. Для нашего файла ep_st.html, сохраненного в подкаталоге / home / pi / Frame , строка будет выглядеть так:
midori -e Fullscreen -a Frame/ep_st.html
Сохраните это с помощью Ctrl + X и подтвердите с помощью Y.
Затем сделайте его исполняемым с
sudo chmod 755 /home/pi/fullscreen.sh
Затем вы должны отредактировать файл автозапуска:
sudo nano ~/.config/lxsession/LXDE-pi/autostart
В конце файла (возможно, здесь уже есть несколько строк из настройки сенсорного экрана вашего Pi. настроить сенсорный экран настроить сенсорный экран ) add:
@xset s off @xset -dpms @xset s noblank @/home/pi/fullscreen.sh
Сохраните и выйдите, затем отредактируйте файл rc.local:
sudo nano /etc/rc.local
Здесь добавьте новую строку выше выхода 0:
su -l pi -c startx
Сохраните и выйдите, затем перезагрузите компьютер.
sudo reboot
Держать огни на
По умолчанию дисплей Pi — независимо от того, подключен ли дисплей — будет отключен через несколько минут бездействия. Мы можем справиться с этим, подключившись через SSH (или используя терминал, если у вас подключена клавиатура) и отредактировав файл lightdm.conf.
sudo nano /etc/lightdm/lightdm.conf
Найдите [SeatDefaults] (скобки включены; вы найдете его ближе к концу файла) и добавьте следующую строку под ним:
xserver-command=X -s 0 -dpms
Сохраните и выйдите с помощью Ctrl + X и перезагрузите компьютер:
sudo reboot
Ваша собственная вдохновляющая цифровая фоторамка!
Сообщите нам в комментариях, как этот проект прошел для вас! Вы придерживались значений по умолчанию, или вы нашли какие-то другие суб-реддиты, которые хорошо работают вместе? Или вы столкнулись с проблемами? Что бы ни случилось, что бы вы ни делали с этим проектом, сообщите нам об этом в комментариях!