#java #raspberry-pi #gpio #raspberry-pi4
#java #raspberry-pi #gpio #raspberry-pi4
Вопрос:
Я хочу управлять ЖК-дисплеем 16 * 2 на моем raspberry pi4 с помощью Java. Проблема в том, что Pi4J — решение для модификации gpio с помощью java не обновлено до pi4. Есть ли другое решение? Эта ошибка возникает при запуске программы:
pi@raspberrypi:~/desktop/gpio $ sudo ./start.sh
<—Pi4J—> Пример управления GPIO … запущен. Maista
Не удается определить версию оборудования. Я вижу: Аппаратное обеспечение: BCM2711
,
- ожидается BCM2708 или BCM2709. Если это подлинный Raspberry Pi, пожалуйста, сообщите об этом projects@drogon.net . Если это не Raspberry Pi, тогда вы предоставлены сами себе, поскольку WiringPi предназначен только для поддержки Raspberry Pi.
Комментарии:
1. Вы обращались projects@drogon.net ? Или посмотрите на веб-сайт pi4j? Похоже, авторы были бы лучше подготовлены к тому, чтобы рассказать о своем коде.
2. Если вы не нашли то, что вам нужно, вам следует посмотреть на raspberrypi.stackexchange.com .
3. @user13784117, разработчик WiringPi выбросил полотенце. Обращение к нему, скорее всего, ничего не даст.
4. Обещание открытого исходного кода заключается в том, что если автор не исправит это, вы можете сделать это самостоятельно 🙂
5. Для большинства ЖК-дисплеев (часто hd44780) в ядре есть драйвер. Используйте это, и ваша жизнь станет намного проще.
Ответ №1:
Pi4J использует WiringPi для управления GPIO. Поэтому, пожалуйста, обновите его до версии 2.52, поскольку он поддерживает Raspberry Pi 4, см. http://wiringpi.com/wiringpi-updated-to-2-52-for-the-raspberry-pi-4b /
$ gpio -v
gpio version: 2.50
$ cd /tmp
$ wget https://project-downloads.drogon.net/wiringpi-latest.deb
$ sudo dpkg -i wiringpi-latest.deb
$ gpio -v
gpio version: 2.52
Вы можете найти полный пример java pi4j lcd в моем блоге на https://webtechie.be/post/2020-01-26-openweathermap-forecast-on-lcd-with-raspberry-pi-java-and-pi4j/
Комментарии:
1. Приятно! Можете ли вы принять мой ответ как решение, Джон?
2. используете ли вы Raspberry Pi 4 с Pi4j v.1.2 для приложения прогноза погоды?
3. Для своей книги я использовал Pi 3 для аппаратных экспериментов, но на самом деле с Pi4J, как вы можете видеть на github.com/FDelporte/JavaOnRaspberryPi/blob/master /… и github.com/FDelporte/JavaOnRaspberryPi/blob/master /… . Я еще не пробовал этот конкретный пример на Pi 4, но другие работали без каких-либо проблем после обновления WiringPi до версии 2.52.
Ответ №2:
Я выяснил, что причина, по которой у меня это не работало, заключается в том, что sudo dpkg -i wiringpi-latest.deb
устанавливает gpio в /usr/bin/gpio
, но в /usr/local/bin/gpio
был другой файл gpio, который имел приоритет. Вы можете узнать, подходит ли это для вас, выполнив which gpio
.
Я переименовал старый файл из gpio
в gpio.old
(я не хотел его удалять, на всякий случай) и выполнил sudo dpkg -i wiringpi-latest.deb
снова. Теперь, когда я запускаю which gpio
, я нахожу правильный исполняемый файл.
Ответ №3:
Я нашел это, которое может вам помочь. Это кажется простым для понимания, вам просто нужно изменить некоторые XML-файлы.
Комментарии:
1. помимо того, что это ответ только для ссылок, этот учебник ссылается на версию pi4j 2015 года (версия 0.0.5) — поскольку 1.2 отсутствует, этот ответ не очень полезен