树莓派 Raspberry Pi —— wiringPi库安装

本文介绍如何在树莓派上安装wiringPi库,包括从官方网站下载最新版本的wiringPi并进行安装的方法。同时提供检测安装是否成功的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  树莓派的GPIO可以像单片机(51单片机,Arduino,STM32等)一样进行IO控制(输出高、低电平,IIC,SPI,串口通信,PWM输出等),在此使用常用的WiringPi库来进行GPIO的操作,本节介绍wiringPi库的安装。(我树莓派使用的系统是Ubuntu 16.04 Mate)
1. wiringPi下载
可以从官方网站下载下载链接,打开该链接后选择最新版本的wiringPi,点击最右边的snapshot下载

2. wiringPi安装
将下载好的wiringPi安装包解压,其中xxx代表你所下载的wiringPi的版本号

$ tar xfz wiringPi-xxx.tar.gz

进入解压好的文件夹进行编译

$ cd wiringPi-98bcb20
$ ./build

至此已经完成安装


可能有些朋友会好奇为什么执行的是./build命令,而不是先make然后再make install,在这里做一个简单的解释:  此处的build的文件是一个.sh文件,即脚本文件,打开build文件你会发现在这个脚本中包含有make/make install/make clean等命令,这样命令都被整合在一个build.sh文件中,可以通过选择执行脚本时的不同输入参数来执行不同的命令,在此不做详细的解释,有兴趣的朋友可以自己去研究。


3.检测安装是否成功
查看wirinfPi版本

$ gpio -v

输出如下:

查看树莓派GPIO引脚编号及定义

$ gpio readall

输出如下:

至此说明wiringPi库已经安装成功。

  可能某些朋友在网上看到还有其他安装方式,博主亲测该方法可以使用,安装后的wiringPi库支持C/C++/Python多种语言。

### 树莓派雷达模块安装与配置 #### 1. 思岚激光雷达的安装与配置 如果计划将思岚激光雷达集成到基于树莓派的机器人小车上,可以按照以下流程操作。首先需要下载思岚激光雷达的相关驱动程序包。访问思岚科技官网并导航至“下载与支持”页面,在 RPLIDAR A Series 的 GitHub 仓中获取最新版本的代码[^1]。 完成代码下载后,需通过 SSH 连接到树莓派设备。假设目标 IP 地址为 `192.168.12.1`,可以通过命令行执行以下指令来挂载共享目录: ```bash sudo mount -t nfs 192.168.12.1:/home/huike/robot_ws /mnt ``` 接着,确保已正确连接雷达硬件,并验证其通信接口是否正常工作。通常情况下,RPLIDAR 使用 USB 或 UART 接口进行数据传输。测试阶段可通过运行官方提供的 Python SDK 来读取扫描数据[^1]。 --- #### 2. A111 毫米波雷达的安装与配置 对于 A111 毫米波雷达,同样可以在树莓派平台上实现功能演示。具体步骤包括但不限于克隆相关项目的 Git 存储以及编译必要的依赖项[^2]。 以下是设置 A111 雷达的基本指导: - **环境搭建**:确认操作系统兼容性(推荐使用 Raspberry Pi OS),同时安装开发所需的工具链。 - **固件更新**:部分型号可能需要手动刷新内部固件以匹配最新的 API 版本。 - **Demo 测试**:参考 Bilibili 上分享的教学视频了解实际应用场景下的表现效果[^2]。 例如呼吸检测算法或者障碍物分区判断等功能都可以借助此类高频传感器得以实现。 --- #### 3. 超声波雷达的基础应用 除了上述提到的专业级别产品外,入门级开发者也可以尝试利用成本较低廉但性能可靠的 HC-SR04 超声波模块来进行距离测量实验[^3][^5]。这类装置结构简单易懂,仅需两个 GPIO 引脚即可完成全部交互逻辑设计——即 Trig(触发信号发送端) 和 Echo(回响接收端)[^5]。 为了提高编程灵活性,建议采用 WiringPi 作为底层抽象层之一。它提供了多种初始化方式供用户选择,比如调用 `wiringPiSetup()` 函数会启用一套自定义映射规则;而选用 `wiringPiSetupGpio()` 则直接对应 BCM 编号体系[^5]。 下面给出一段基础示例代码用于计算物体间相对位置关系: ```c #include <stdio.h> #include <wiringPi.h> #define TRIG_PIN 23 #define ECHO_PIN 24 int main(){ wiringPiSetupGpio(); // 初始化GPIO模式 pinMode(TRIG_PIN, OUTPUT); pinMode(ECHO_PIN, INPUT); digitalWrite(TRIG_PIN, LOW); delayMicroseconds(2); digitalWrite(TRIG_PIN, HIGH); delayMicroseconds(10); digitalWrite(TRIG_PIN, LOW); while(digitalRead(ECHO_PIN)==LOW){} long t_start=micros(); while(digitalRead(ECHO_PIN)==HIGH){} long t_end=micros(); double distance=(t_end-t_start)/58.0; printf("Distance:%f cm\n",distance); return 0; } ``` --- #### 4. 综合考虑其他配件选型 最后值得注意的一点是,无论选取哪种类别的探测器都需要提前规划好整体架构布局方案。例如摄像头单元配合 SLAM 技术构建三维地图模型时往往离不开高性能处理器的支持;而对于轻量化需求场景而言,则更倾向于单纯依靠惯性测量单元(IMU)+ToF/Lidar组合达成避障目的等等[^4]。 综上所述,不同类型的雷达各有优劣之处,应根据具体的项目背景做出合理抉择。 ---
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值