• Category Archives: 树莓派

在树莓派上WiringPi的安装及卸载(执行pi4j时出现Unable to load [libpi4j.so] using path: [/lib/raspberrypi/dy namic/libpi4j.so]的错误)

问题分析:

运行引入了pi4j的springboot项目无法运行,出现上图的错误。从报错信息看到,缺少了libwiringPi.so文件。

查阅资料,树莓派需要操作gpio则需要安装wiringPi,为了确认这个事情,我们输入gpio指令看看是否可以执行成功:

gpio

结果提示如下:

方法一:编译安装安装wiring

在树莓派上使用以下指令克隆github上最新的库:

git clone https://github.com/WiringPi/WiringPi.git

然后进入WiringPi的目录后使用“./build”指令进行编译安装:

然后使用“gpio -v”命令查看安装是否正确:

如上图显示,则代表安装正确,此时可以使用“gpio readall”命令来查看所有gpio的状态了:

卸载

如果哪天不需要使用wiringpi了,使用以下指令即可卸载:

./build uninstall

方法二:使用deb安装包直接安装

到官方的github中找到对应的release:

https://github.com/WiringPi/WiringPi/releases

下载对应版本的deb文件到树莓派的系统上,然后使用以下指令进行安装:

#32位系统:
dpkg -i /wiringpi-2.61-1-armhf.deb

#64位系统:
dpkg -i /wiringpi-2.61-1-arm64.deb

树莓派3B开启I2C总线

编辑/boot/config.txt文件

去掉一下两行代码的注释:

dtparam=i2c1=on
dtparam=i2c_arm=on

重启树莓派,输入 i2cdetect -y -a 1 命令,出现以下提示为开启成功:

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

然后使用以下代码即可获取I2C总线用于编程:

I2CBus i2cbus = I2CFactory.getInstance(I2CBus.BUS_1);

树莓派(raspberry)启用root账户

树莓派使用的linux是debian系统,所以树莓派启用root和debian是相同的。

debian里root账户默认没有密码,但账户锁定。

当需要root权限时,由默认账户经由sudo执行,Raspberry pi 系统中的Raspbian

默认用户是pi 密码为raspberry

重新开启root账号,可由pi用户登录后,在命令行下执行

sudo passwd root

执行此命令后系统会提示输入两遍的root密码,输入你想设的密码即可,然后在执行

sudo passwd --unlock root

这样就可以解锁root账户了。

树莓派3无线wifi连接

如果你有显示器的话,直接打开可视化界面在右上角就可以可视化配置wifi了,很简单。不过很多情况我们是通过ssh连接过去的,也就有必要在终端里配置连接到wifi了。
在树莓派3上由于硬件直接支持了,所以很简单。直接编辑文件即可.先测试一下:

pi@raspi3:~ $ iwlist scan
wlan0 Scan completed :
Cell 01 - Address: 00:1E:20:50:AA:BB
Channel:8
Frequency:2.447 GHz (Channel 8)
Quality=70/70Signal level=-32 dBm
Encryption key:on
ESSID:"WIFINAME"
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
9 Mb/s; 12 Mb/s; 18 Mb/s
Bit Rates:24 Mb/s; 36 Mb/s; 48 Mb/s; 54 Mb/s
Mode:Master
Extra:tsf=0000000000000000
Extra: Last beacon: 2157000ms ago
IE: Unknown: 000546616E6379
IE: Unknown: 010882848B960C121824
IE: Unknown: 030108
IE: Unknown: 050401020000
IE: Unknown: 0706303020010B14
IE: Unknown: 2A0100
IE: Unknown: 32043048606C
IE: IEEE 802.11i/WPA2Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : CCMP TKIP
Authentication Suites (1) : PSK
IE: Unknown: 7F080000000000000040
IE: Unknown: DD180050F2020101000003A4000027A4000042435E0062322F00

 

可以看到周围的wifi热点信息
配置连接到某个热点:

# 编辑wifi文件
sudovim /etc/wpa_supplicant/wpa_supplicant.conf
# 在该文件最后添加下面的话
network={
  ssid="WIFINAME"
  psk="password"
}
# 引号部分分别为wifi的名字和密码
# 保存文件后几秒钟应该就会自动连接到该wifi
# 查看是否连接成功
ifconfigwlan0
close