В мире технологий Raspberry Pi 5 стал незаменимым помощником для различных проектов, от автоматизации до создания цифровых устройств. Он часто используется в качестве домашнего сервера, обеспечивая доступ к файлам, медиаконтенту и даже удаленное управление. В этой статье мы рассмотрим, как подключить символьный LCD-дисплей к Raspberry Pi 5 и использовать его для отображения в реальном времени загруженности процессора, оперативной памяти и температуры процессора. Это позволит удобно следить за её состоянием без необходимости подключать монитор или использовать SSH-соединение.
Подключение дисплея
Чтобы сэкономить пины GPIO и упростить подключение других устройств, мы выбрали модуль LCD с I2C интерфейсом. Подключение очень простое: пины SDA и SCL модуля LCD подключаем к соответствующим пинам на плате Raspberry Pi.
Модуль LCD | Raspberry Pi 5 |
---|---|
VCC | 5V |
GND | GND |
SDA | GPIO3 (SDA) |
SCL | GPIO5 (SCL) |
Подготовка Raspberry Pi 5
Да, для использования интерфейса I2C на Raspberry Pi сначала необходимо настроить его:
- Откройте терминал на Raspberry Pi или подключитесь к нему по SSH.
- Введите команду
sudo raspi-config
. - Используйте стрелки на клавиатуре для навигации в меню. Выберите “Interfacing Options” (Опции интерфейса) и нажмите Enter.
- Затем выберите “I2C” и нажмите Enter.
- Вам будет предложено включить I2C. Выберите “Yes” (Да) и нажмите Enter.
- После завершения процесса выберите “Finish” (Завершить) и перезагрузите Raspberry Pi для применения изменений.
Далее нам необходимо установить библиотеки для работы с I2C:
Чтобы избежать использования sudo при каждом обращении к I2C, добавьте вашего пользователя в группу i2c:
Теперь нужно отредактировать файл “/etc/modprobe.d/raspi-blacklist.conf“, чтобы малины при загрузку также загружала драйвер I2C:
Найдите строку blacklist spi-bcm2708blacklist i2c-bcm2708
и закомментируйте (#).
Осталось перезагрузить Raspberry Pi, чтобы применить изменения:
Программирование Raspberry Pi 5
Для начала импортируем необходимые библиотеки:
Далее создадим класс, в котором опишем функции для управления шиной I2C:
Определим константы для команд дисплея:
Далее создадим класс lcd_driver, который будет содержать все необходимые функции для управления дисплеем:
И наконец создадим точку входа, откуда будет начинаться наша программ и будем выводить данные на дисплей:
Программа готова, теперь, чтобы её запустить, введите следующую команду:
Создание системного сервиса
Сейчас для запуска скрипта после каждого включения Raspberry Pi требуется ручное выполнение команды в терминале. Однако такой подход не очень удобен. Было бы лучше, если бы скрипт автоматически запускался при загрузке системы. Это можно достичь путем создания службы Systemd, которая автоматически запускает нашу программу.
Создайте новый файл в папке “/etc/systemd/system/” и назовите его, например, lcd_monitor.service. Далее отредактируйте его, вставив следующий код:
Замените /path/to/your_script_name.py
на путь до вашего скрипта.
Сервис создан, осталось его активировать:
Всё готово, теперь сервис будет автоматически запускаться при включении Raspberry Pi, и вы сможете легко и удобно мониторить загруженность вашей системы.