树莓派4B——镜像、wiringpi库安装及编译器的配置

准备工作:

1.下载树莓派镜像:https://downloads.raspberrypi.org/raspios_full_arm64/images/

(我下载的是2023-05-03的64位镜像)

2.下载wiringpi:

方法一:使用指令来安装

方法二:下载wiringpi库的文件夹(这是3.0版本的)

下载链接:

链接:https://pan.baidu.com/s/1WCHtQEnSGqry6MLMUO2PPA?pwd=jvcq 
提取码:jvcq

3.下载VNC、PUTTY、winscp、SDFormatter:

链接:https://pan.baidu.com/s/1d2wMfqGoY7NvpXmY80iCZw?pwd=34mq 
提取码:34mq

4.下载镜像烧录工具:https://www.raspberrypi.com/software/

c793a913b63b4cc6bd611ba844fb3bfd.png
 

一、树莓派4B烧录镜像

1.首先用SDFormatter格式化SD卡;

2.打开镜像烧录工具,选择要安装的镜像,再配置WiFi信息(用来查看树莓派的IP;可以是家里的WiFi,电脑热点...)和用户信息,如图。

2941c864165141c189272e9b8c71ff17.png

a7535483712042ab93832af6c981e03b.png

注意:以下步骤的username和密码要记住,接下来要用。

09c25e9809a94cb39c0888657a9035dc.png

3d227145234743b7b8fc719d34441513.png

3.开始烧录镜像,等待十分钟左右。

二、配置树莓派

1.把SD卡插进卡槽后,通电开机,等待五分钟左右,查询树莓派IP(可以在路由器后台、电脑热点设置里查询)并复制

2.打开putty,粘贴查询的IP

2ecd5aa508ea4d64b3dfa830d8ef0c89.png

3.输入uesrname和密码(密码输完回车就可以了,是不会显示出来的),登入树莓派

a5e8673302a14c8c973b758141c213a7.png

4.输入下面的代码,配置VNC等信息

sudo raspi-config

9caa98f4bf4a4c479a864dcec7741266.png

按照以下步骤进行:

  1. 用键盘下键按到"Display Options"→"VNC Resolution"→回车→“1280 x 720”(这里根据自己的电脑屏幕大小选择)→回车(好像最新版的系统不用选择分辨率的大小)
  2. 用键盘下键按到"Interface Options"→"VNC"→回车→“Yes”→回车→回车
  3. 按两次键盘右键到Finish→回车→“Yes”→回车(看到Would you like to reboot now? )
  4. 等待重启

5.打开VNC Viewer,添加树莓派。

a2b8d8a0cf374d12934c7b777bc05a70.png

输入树莓派IP并给设备取名字

a591bd9f49714bb3bc02e6d8771f9eaf.png

输入之前设置的username和密码

a98479aa1eff40c5a8624e8929fc173f.png

树莓派无线连接就到此结束了!

三、安装wiringpi库

首先更新软件版本(也可以不更新):

sudo apt-get upgrade
sudo apt-get update

第一:如果在终端执行sudo apt-get update命令时下载速度慢;那就进行更换软件源地址(有时清华大学的源不能用需要换回原来的):

这是清华大学的:

deb https://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi
# deb-src https://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi

更换方法:

在终端输入:

sudo nano /etc/apt/sources.list

先把上面的复制,再通过鼠标右键粘贴(Paste)进去,再把原来的在deb前面添加#注释掉

7ce49e06153d45b3a7cc5c31f4c46933.png

第二:如果终端显示以下内容,请输入以下指令!

内容部分:(这是因为一个进程(packagekitd)已经锁定了/var/lib/apt/lists/目录。你手动杀死占用锁的进程(packagekitd),然后再次尝试更新。执行以下命令)

pi@raspberrypi:~ $ sudo apt-get update
Reading package lists... Done
E: Could not get lock /var/lib/apt/lists/lock. It is held by process 1082 (packagekitd)
N: Be aware that removing the lock file is not a solution and may break your system.
E: Unable to lock directory /var/lib/apt/lists/

sudo killall packagekitd
sudo apt-get update

方法一(一般安装的是最新版的):

1、把wiringPi的旧版本移除,输入指令:

sudo apt-get remove wiringpi

2、从GitHub上克隆wiringPi的源码库(有时候会打不开,大家可以在GitHub仓库中复制一个wiringpi库的URL把下面的地址进行替换)

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

3、编译并安装wiringpi,输入指令(进入WiringPi文件夹中进行编译):

 cd WiringPi
./build

4、如果权限不够,输入:

sudo chmod 777 build
./build

这里有一个值得注意的地方(下面用红色框框圈起来的下面要用到,可以复制一下):

857bcddf26af473485ed2d0a5e3de835.png

5、测试WiringPi是否安装成功:

cd ~
gpio -v
gpio readall

如果出现下图内容,那恭喜你安装成功了!就跳过方法二!!!

f0c7a7babc3049219b6acdd0d8667f57.png

方法二:

1、将wiringpi库文件夹用U盘拷贝(或者使用winscp上传)到树莓派中的pi文件夹中。

2、再用终端进入wiringpi文件夹

cd WiringPi/

3、输入指令:

sudo chmod 777 build
./build

4、输入指令验证是否安装成功:

gpio -v
gpio readall

四、在Geany Progammer's Editor运行包含WiringPi库的C语言代码

1、打开Geany Progammer's Editor

a873bb9f1e074f24a0c9f46ec28e1a32.png

2、新建一个C语言项目

c373e7153ffa44888bacaa652cad6864.png

3、打开设置build指令

25fe15e875af4174a022601e860d20e2.png

在下面框起来的三个文本的最后面都加上(注意:“-”前面要加一个空格,这里我已经加了空格,直接复制过去就可以了)

 -lwiringPi


936f200298724bb19557b50cd358e6d4.png

添加完按OK保存,添加完是这样的

c2df7b410f814abaac37441244f87ee0.png

说明:为什么要添加-lwiringPi。

添加了-lwiringPi可以避免build找不到一些引用的变量,如下图:

4bbe59853a6a4eeba4f0514c1296769f.png

当我们添加了-lwiringPi就可以避免这问题

a771f66dee0d491eb12b61e44b60e647.png

还有一个方法可以避免找不到一些引用的变量,

先创建、编写一个用到了wiringPi库的C语言代码(这里用LED的亮灭为示例)。

//C代码文件命名为led.c
#include <wiringPi.h>
#include <stdio.h>
#include <stdlib.h>

#define LED_PIN 29


int main() {
    if (-1 == wiringPiSetup()) //初始化
    {
        printf("Setup wiringPi failed!");
        exit(1);
    }

    pinMode(LED_PIN, OUTPUT);

    while (1) 
    {
        digitalWrite(LED_PIN, LOW);
        printf("LED亮\n");
	    delay(1000);//灯亮一秒

        digitalWrite(LED_PIN, HIGH);
        printf("LED灭\n");
        delay(1000);
     }
    
    return 0;
}

将led.c保存在/home/pi路径下,打开终端

输入以下指令(将.c文件转换成.o文件):

gcc led.c -o led -lwiringPi

再输入以下指令(运行生成一个可执行文件):

./led

在使用这个方法把led换成自己命名的.c文件名字(我个人比较喜欢前者,比较方便,但是这个方法是在Linux系统中必备的技能)

这样就可以运行含有wiringpi库的led.c文件了

063a8062561a4dc792a02f6410eea25d.png

因作者水平有限(大一在读),有任何问题欢迎大家指正!

  • 16
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值