分类: 树莓派

  • 在树莓派上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
    
  • 在树莓派上开启root权限

    树莓派的root账号默认没有开启,并且没有设置密码,我们先设置root账号的密码:

    sudo passwd root

    然后解锁root用户:

    sudo passwd --unlock root

    此时可以看见提示:

    接下来使用su切换root用户后执行即可:

    su

  • 树莓派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