树莓派ubuntu系统安装以及配置

1.系统安装

1.1前期准备物品

  • 树莓派4B 2G
  • ubuntu系统​
  • SD卡 32G

1.2系统选择

官方提供了三种系统:桌面版、服务器版、Core版

个人比较推荐服务器64位版,桌面版的图形化界面2G的树莓派运行起来很容易崩掉,尤其是应用开的多的时候
镜像位置:https://cn.ubuntu.com/download/raspberry-pi
烧录工具:https://www.raspberrypi.com/software/
官方镜像

系统烧录工具

1.3安装

  1. 打开系统烧录软件,选择对相应的镜像、SD卡,烧录
    系统选择
    系统选择
    在这里插入图片描述
  2. 镜像烧录完成后拔出SD卡在重新插入电脑。找到文件夹
    在这里插入图片描述
    找到对应的文件
    在这里插入图片描述
  3. 修改内容,写入WiFi名称和密码
    在这里插入图片描述
  4. 内存卡插入树莓派,开机启动

2.软件配置

2.1无线链接

找到路由器中树莓派的IP地址,这个根据自己的路由器自行查找
打开命令行工具,输入如下命令

# @后面为你的树莓派ip地址
ssh [email protected]
yes
# 输入密码:ubuntu
# 根据提示修改新的密码

这个时候成功的进入了系统,初步的链接就完成了

2.2换源

ubuntu的软件源都在国外速度很慢,需要国内的镜像源,而这里我选择的是清华源


                
<think>好的,用户想在树莓派上运行Ubuntu系统配置GPIO实现PWM功能。首先,我需要回顾一下树莓派Ubuntu系统下的GPIO配置方法。根据引用内容,用户可能已经尝试过不同的系统,比如Ubuntu Mate和ROS,但需要注意内存限制。比如引用[2]提到,Ubuntu Desktop版只推荐4G和8G的树莓派安装,所以用户需要确认自己的树莓派型号是否合适。 然后,关于GPIO配置,引用[3]提到了使用WiringPi库和C语言来控制PWM,但这是在默认的Raspbian系统上的例子。而用户现在使用的是Ubuntu系统,可能需要不同的库或工具。例如,引用[1]提到使用USB转接器来控制GPIO,但用户可能更倾向于直接使用树莓派本身的GPIO引脚。 接下来,我需要确定在Ubuntu系统下是否有可用的库。由于Ubuntu可能没有预装WiringPi,可能需要使用其他方法,比如Python的GPIO库或者sysfs接口。此外,引用[3]中的代码使用了softPwmCreate,这是软件实现的PWM,可能在Ubuntu下同样适用,但需要确认库的兼容性。 另外,用户可能需要安装必要的软件包。例如,在Ubuntu安装wiringpi可能需要从源代码编译,或者使用替代库如pigpio。同时,要注意权限问题,可能需要将用户加入gpio组,或者使用sudo来运行程序。 最后,需要验证步骤是否正确,例如编写一个简单的PWM控制LED的示例代码,并测试是否正常工作。还要提醒用户注意硬件连接,比如正确的GPIO引脚和电路保护措施,如使用限流电阻。</think>在树莓派上运行Ubuntu系统配置GPIO的PWM功能,可通过以下步骤实现: ### 一、系统准备 1. **确认Ubuntu版本** 推荐使用Ubuntu Server 20.04 LTS或更高版本,支持树莓派全系型号(包括2G/4G/8G内存版本)[^2]。若使用带桌面的版本需注意内存限制。 2. **安装GPIO库** Ubuntu默认不包含树莓派GPIO库,需通过以下命令安装: ```bash sudo apt-get update sudo apt-get install python3-rpi.gpio # 适用于Python sudo apt-get install pigpio # 支持C语言/Python的多功能库 ``` ### 二、硬件连接 | GPIO引脚 | 元件 | 备注 | |---------|-----------|----------------------| | GPIO18 | LED阳极 | 需串联220Ω电阻 | | GND | LED阴极 | 直接接地 | ### 三、PWM配置方法 #### 方案1:Python实现(硬件PWM) ```python import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) GPIO.setup(18, GPIO.OUT) pwm = GPIO.PWM(18, 1000) # 1kHz频率 pwm.start(50) # 50%占空比 try: while True: for dc in range(0, 101, 5): pwm.ChangeDutyCycle(dc) time.sleep(0.1) except KeyboardInterrupt: pwm.stop() GPIO.cleanup() ``` #### 方案2:C语言实现(软件PWM) 需先安装`libpigpio-dev`库: ```bash sudo apt-get install libpigpio-dev ``` ```c #include <pigpio.h> int main() { gpioInitialise(); gpioSetPWMrange(18, 100); // 设置PWM范围0-100 gpioSetPWMfrequency(18, 1000); // 1kHz频率 while(1) { for(int duty=0; duty<=100; duty++) { gpioPWM(18, duty); time_sleep(0.05); } } gpioTerminate(); return 0; } ``` ### 四、调试要点 1. **权限问题** 需将用户加入`gpio`组并启动pigpio守护进程: ```bash sudo usermod -a -G gpio $USER sudo systemctl start pigpiod ``` 2. **波形验证** 使用示波器测量GPIO18引脚波形,确认频率(1kHz)和占空比变化是否符合预期。 3. **替代方案** 对于需要精确时序控制的应用,可参考总线适配器方案实现硬件级PWM控制[^1]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值