问题描述
我想用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文件即可。