树莓派轻松实现USB数据收发,新手教程与实战案例分享

2026-06-26 0 阅读

引言

树莓派作为一款性价比极高的微型计算机,因其丰富的扩展性和灵活的应用场景而广受欢迎。今天,我们将一起探索如何利用树莓派轻松实现USB数据收发,无论是对于编程新手还是有经验的开发者,这都将是一段有趣的学习旅程。

准备工作

在开始之前,请确保你具备以下准备工作:

  • 树莓派(如树莓派3B+)
  • Micro-USB线
  • microSD卡及其读卡器
  • USB设备(如键盘、鼠标、U盘等)
  • 计算机或笔记本电脑

树莓派系统安装

  1. 下载树莓派的操作系统(如Raspbian)。
  2. 将下载的系统文件烧录到microSD卡中。
  3. 将microSD卡插入树莓派,连接电源。
  4. 使用串口软件(如PuTTY)连接树莓派,配置网络和时区。

USB设备识别

  1. 将USB设备(如键盘、鼠标)连接到树莓派的USB端口。
  2. 打开终端,输入lsusb命令,查看树莓派识别到的USB设备。

数据收发示例

1. USB键盘输入

  1. 在树莓派上安装Python。
  2. 使用以下代码实现接收USB键盘输入:
import usb.core
import usb.util

# 找到USB键盘设备
keyboard = usb.core.find(idVendor=0x046D, idProduct=0xC52B)

# 设置USB键盘
usb.util.claim_interface(keyboard, 0)

# 读取键盘输入
while True:
    data = keyboard.read(64, timeout=1000)
    if data:
        print('Received:', data.decode('utf-8'))

2. USB存储设备读取

  1. 在树莓派上安装mount工具。
  2. 使用以下代码读取U盘中的文件:
import os

# U盘挂载点
mount_point = '/media/pi/usb'

# 检查U盘是否已挂载
if not os.path.exists(mount_point):
    print('USB drive not mounted.')
else:
    # 读取U盘中的文件
    for root, dirs, files in os.walk(mount_point):
        for file in files:
            print(os.path.join(root, file))

实战案例:树莓派控制LED灯

  1. 准备一个LED灯和连接线。
  2. 使用以下代码通过USB读取键盘输入,控制LED灯的开关:
import usb.core
import usb.util
import RPi.GPIO as GPIO

# 初始化GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.OUT)

# 找到USB键盘设备
keyboard = usb.core.find(idVendor=0x046D, idProduct=0xC52B)

# 设置USB键盘
usb.util.claim_interface(keyboard, 0)

# 读取键盘输入,控制LED灯
while True:
    data = keyboard.read(64, timeout=1000)
    if data:
        if data.decode('utf-8') == '1':
            GPIO.output(18, GPIO.HIGH)
        elif data.decode('utf-8') == '0':
            GPIO.output(18, GPIO.LOW)

总结

通过以上教程,你已成功掌握了树莓派实现USB数据收发的方法。在实际应用中,你可以根据自己的需求进行扩展,如控制更多的USB设备、实现更复杂的交互等。希望这篇教程能帮助你更好地了解树莓派,开启你的创意之旅!

分享到: