Raspberry Pi 4使用Java控制GPIO

问题描述

我想用Java控制树莓派pi4上的16 * 2液晶显示器。问题是Pi4J-用Java修改gpios的解决方案未更新为pi4。还有其他解决方案吗?启动程序时发生此错误

pi@raspBerrypi:~/desktop/gpio $ sudo ./start.sh

GPIO控制示例...已启动。马斯塔 无法确定硬件版本。我看到:硬件:BCM2711 ,

  • 期望BCM2708或BCM2709。 如果这是真正的RaspBerry Pi,请报告此 到projects@drogon.net。如果这不是RaspBerry Pi,那么您 由于您自己,因为connectionPi旨在支持 仅限树莓派。

解决方法

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

您可以在https://webtechie.be/post/2020-01-26-openweathermap-forecast-on-lcd-with-raspberry-pi-java-and-pi4j/的博客上找到完整的java + pi4j + lcd示例

,

我发现它对我不起作用的原因是 sudo dpkg -i wiringpi-latest.deb/usr/bin/gpio 中安装了 gpio,但在 /usr/local/bin/gpio 中有另一个 gpio 文件优先。您可以通过运行 which gpio 来确定您是否属于这种情况。

我将旧文件从 gpio 重命名为 gpio.old(我不想删除它,以防万一)并再次执行 sudo dpkg -i wiringpi-latest.deb。现在,当我运行 which gpio 时,我找到了正确的可执行文件。

,

我发现this可以为您提供帮助。 似乎很容易理解,您只需要更改一些xml文件即可。