准备工作:
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/
一、树莓派4B烧录镜像
1.首先用SDFormatter格式化SD卡;
2.打开镜像烧录工具,选择要安装的镜像,再配置WiFi信息(用来查看树莓派的IP;可以是家里的WiFi,电脑热点...)和用户信息,如图。
注意:以下步骤的username和密码要记住,接下来要用。
3.开始烧录镜像,等待十分钟左右。
二、配置树莓派
1.把SD卡插进卡槽后,通电开机,等待五分钟左右,查询树莓派IP(可以在路由器后台、电脑热点设置里查询)并复制
2.打开putty,粘贴查询的IP
3.输入uesrname和密码(密码输完回车就可以了,是不会显示出来的),登入树莓派
4.输入下面的代码,配置VNC等信息
sudo raspi-config
按照以下步骤进行:
- 用键盘下键按到"Display Options"→"VNC Resolution"→回车→“1280 x 720”(这里根据自己的电脑屏幕大小选择)→回车(好像最新版的系统不用选择分辨率的大小)
- 用键盘下键按到"Interface Options"→"VNC"→回车→“Yes”→回车→回车
- 按两次键盘右键到Finish→回车→“Yes”→回车(看到Would you like to reboot now? )
- 等待重启
5.打开VNC Viewer,添加树莓派。
输入树莓派IP并给设备取名字
输入之前设置的username和密码
树莓派无线连接就到此结束了!
三、安装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前面添加#注释掉
第二:如果终端显示以下内容,请输入以下指令!
内容部分:(这是因为一个进程(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
这里有一个值得注意的地方(下面用红色框框圈起来的下面要用到,可以复制一下):
5、测试WiringPi是否安装成功:
cd ~
gpio -v
gpio readall
如果出现下图内容,那恭喜你安装成功了!就跳过方法二!!!
方法二:
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
2、新建一个C语言项目
3、打开设置build指令
在下面框起来的三个文本的最后面都加上(注意:“-”前面要加一个空格,这里我已经加了空格,直接复制过去就可以了)
-lwiringPi
添加完按OK保存,添加完是这样的
说明:为什么要添加-lwiringPi。
添加了-lwiringPi可以避免build找不到一些引用的变量,如下图:
当我们添加了-lwiringPi就可以避免这问题
还有一个方法可以避免找不到一些引用的变量,
先创建、编写一个用到了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文件了
因作者水平有限(大一在读),有任何问题欢迎大家指正!