
Фоторамка: https://ali.click/qwhqd1v?erid=2SDnjdMxuVC
В этой статье коротко расскажу как установить проект inkypi на фоторамку Waveshare RPI zero PhotoPainter.
Сам проект Inkypi тут: https://github.com/fatihak/InkyPi
Проект поддерживает вывод прогноза погоды, Фотографий, ии картинок разных из Openai, картинок из википедии и много еще разных возможностей, о которых можно почитать на странице проекта.
Я же тут хочу описать нюансы с установкой именно на это фоторамку, так как есть разница с официальной инструкцией.
Установка Inkypi:
Клонируем проект Inkypi:
git clone https://github.com/fatihak/InkyPi.git
Переходим в него:
cd InkyPi
Далее запускаем установку:
sudo bash install/install.sh -W epd7in3e
Вот тут первое отличие, нужно устанавливать не epd7in3f, а epd7in3e.
После установки перезагружаем устройство:
sudo reboot
Когда система перезагрузится увидим, что дисплей так и не запустился. Это из-за второго момента. Дело в том, что пин power в этой рамке отличается, от других дисплеев от waveshare.
По этому идём редактировать файл:
nano InkyPi/src/display/waveshare_epd/epdconfig.py
В этом файле находим строчку PWR_PIN и меняем 18 на 27

Сохраняем файл, перегружаемся и теперь дисплей запустится. Но изображение будет вверх ногами:

Чтоб это изменить нужно отредактировать еще один файл:
nano InkyPi/src/display/waveshare_epd/epd7in3e.py
Тут находим блок:
if(imwidth, == self.width and imheight == self.height):
image_temp = image.rotate (180, expand=True)
Именно “.rotate (180, expand=True) “это то что нужно дописать.

На этом настройка закончена. Теперь дисплей будет правильно показывать изображение. Но начнёт он это делать не сразу после перезагрузки, а когда что-то еще выведете на него.
Борьба с зависанием Raspberry pi zero 2w:
Когда я устанавливал inkypi, я увидел, что ругнулось на то, что нет сервиса earlyroom.service.
А этот сервис отвечает за то, чтоб оперативной памяти плате хватило. И это предотвратит зависания малинки, если ей памяти не будет хватать.
Так что давайте этот сервис починим, для стабильности
Копируем файл:
sudo cp /usr/local/etc/systemd/system/earlyoom.service /etc/systemd/system/
Перезагружаем список сервисов systemd:
sudo systemctl daemon-reload
Включаем сервис в автозапуск:
sudo systemctl enable earlyoom
И запускаем сервис:
sudo systemctl start earlyoom