在树莓派5-安装了ubuntu-24系统,运行python代码

如何安装Ubuntu系统,参考我下面这篇博客:
树莓派5开发板-学习记录1-安装unbuntu系统

一、报错信息

报错信息如下:

pi@ubuntu:~$ cd svm_fastapi/
pi@ubuntu:~/svm_fastapi$ source svm_venv/bin/activate
(svm_venv) pi@ubuntu:~/svm_fastapi$ python3 main.py
Traceback (most recent call last):
  File "/home/pi/svm_fastapi/main.py", line 7, in <module>
    import cv2
  File "/home/pi/svm_fastapi/svm_venv/lib/python3.12/site-packages/cv2/__init__.py", line 181, in <module>
    bootstrap()
  File "/home/pi/svm_fastapi/svm_venv/lib/python3.12/site-packages/cv2/__init__.py", line 153, in bootstrap
    native_module = importlib.import_module("cv2")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ImportError: libGL.so.1: cannot open shared object file: No such file or directory
(svm_venv) pi@ubuntu:~/svm_fastapi$ python main.py
Traceback (most recent call last):
  File "/home/pi/svm_fastapi/main.py", line 7, in <module>
    import cv2
  File "/home/pi/svm_fastapi/svm_venv/lib/python3.12/site-packages/cv2/__init__.py", line 181, in <module>
    bootstrap()
  File "/home/pi/svm_fastapi/svm_venv/lib/python3.12/site-packages/cv2/__init__.py", line 153, in bootstrap
    native_module = importlib.import_module("cv2")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ImportError: libGL.so.1: cannot open shared object file: No such file or directory
(svm_venv) pi@ubuntu:~/svm_fastapi$

报错信息显示在运行 python main.py 时,导入 cv2 库(OpenCV)时发生了 ImportError,具体是由于缺少共享库文件 libGL.so.1。

错误原因分析:

  1. 缺少 libGL.so.1 库文件:libGL.so.1 是 OpenGL(Open Graphics Library)的一个共享库文件,通常用于图像处理和计算的库(例如 OpenCV)。它通常由系统的图形驱动或 OpenGL 实现(如 Mesa)提供。

  2. OpenCV 依赖 OpenGL:当你导入 cv2 时,它试图加载 libGL.so.1 文件,但该文件在系统中找不到。对于像树莓派这样的设备,尤其是在一个相对轻量级的 Ubuntu 系统上,有时这些库文件没有默认安装。

解决方法:

  1. 安装缺少的库文件:

    可以通过以下命令安装缺少的库文件(通常是 libgl1-mesa-glx 或类似的库):

    sudo apt-get update
    sudo apt-get install libgl1-mesa-glx
    
  2. 检查其他依赖项:

    确保所有其他与 OpenCV 相关的依赖项也已正确安装。你可以运行以下命令来确保安装了所有必要的 OpenCV 依赖项:

    sudo apt-get install libglib2.0-0 libsm6 libxrender1 libxext6
    
  3. 重新尝试运行代码:

    在安装了上述库文件后,重新运行你的 Python 脚本:

    python3 main.py
    

如果以上步骤完成后问题依然存在,请确保你正在使用正确的 Python 版本和环境,并确保所有依赖项已正确安装。这样应该可以解决你遇到的 ImportError: libGL.so.1 问题。

之后,报错的信息如下:

报错如下:
svm_venv) pi@ubuntu:~/svm_fastapi$ sudo apt-get install libgl1-mesa-glx
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package libgl1-mesa-glx is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'libgl1-mesa-glx' has no installation candidate
(svm_venv) pi@ubuntu:~/svm_fastapi$

出现这个错误的原因是 libgl1-mesa-glx 包在你的软件源中不可用,可能是因为这个包被更名、替换或不再维护。在较新的 Ubuntu 版本或特定于树莓派的系统中,libgl1-mesa-glx 可能被其他软件包取代。

新方法:

  1. 安装替代的包 libgl1:

    在较新的版本中,libgl1-mesa-glx 可能被更名为 libgl1。你可以尝试安装 libgl1 包来解决这个问题:

    sudo apt-get update
    sudo apt-get install libgl1
    
  2. 安装 libgl1-mesa-glx 的替代品:

    在某些系统中,libgl1-mesa-glx 的功能可能被 libglx-mesa0 或其他类似的库替代。你可以尝试安装这些包:

    sudo apt-get install libglx-mesa0
    
  3. 启用 Universe 仓库:

    确保你的系统启用了 Universe 仓库。某些包可能在 Universe 仓库中可用,但在默认的主仓库中不可用。启用它并更新包列表:

    sudo add-apt-repository universe
    sudo apt-get update
    

    然后再尝试安装 libgl1 或 libglx-mesa0。

  4. 检查可用的 OpenGL 库:

    查看系统中可用的 OpenGL 库,并安装可能的候选包。你可以使用以下命令搜索与 libgl 相关的库:

    apt-cache search libgl | grep -i mesa
    

    然后,根据输出结果安装合适的包。

  5. 使用 aptitude 查找解决方案:

    安装 aptitude(一个更高级的包管理器工具)来查找和安装合适的依赖:

    sudo apt-get install aptitude
    sudo aptitude install libgl1
    

这些步骤应该可以帮助你解决缺少 libGL.so.1 库的问题。安装完这些库后,再尝试运行你的 Python 脚本。
运行python脚本输出信息如下:

Successfully installed python-multipart-0.0.9
(svm_venv) pi@ubuntu:~/svm_fastapi$ python main.py
INFO:     Started server process [3881]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)

根据输出信息,你的 FastAPI 服务器已经成功启动并正在运行。

输出信息的含义:

  1. Successfully installed python-multipart-0.0.9:这表示依赖项 python-multipart 已成功安装。这个库通常用于处理多部分表单数据,例如文件上传。

  2. INFO: Started server process [3881]:服务器进程已成功启动,进程 ID 是 3881。

  3. INFO: Waiting for application startup.
    INFO: Application startup complete.:应用程序已经成功启动,没有遇到任何错误。

  4. INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit):你的 FastAPI 应用现在正通过 Uvicorn 服务器运行在 http://0.0.0.0:8000。你可以在浏览器中访问该 URL 来查看应用程序。

下一步操作:

  • 打开浏览器,访问 http://<你的树莓派IP>:8000(如果是在本地运行则访问 http://localhost:8000 或 http://0.0.0.0:8000)。

  • 如果你的应用有 API 文档,通常可以通过以下路径访问:

    • http://<你的树莓派IP>:8000/docs - 使用 Swagger UI 查看 API 文档。
    • http://<你的树莓派IP>:8000/redoc - 使用 ReDoc 查看 API 文档。
  • 如果你需要停止服务器运行,可以按下 CTRL+C。

打开浏览器,访问 http://<你的树莓派IP>:8000,先查看无线网ip,
在这里插入图片描述
打开网址效果如下:
在这里插入图片描述

二、代码设置开机自启动

要使你的 FastAPI 应用在树莓派上开机自启动,可以使用 systemd 来创建一个服务,这样在系统启动时自动启动你的应用。

步骤:使用 systemd 创建服务文件

  1. 创建一个 systemd 服务文件:

    使用 sudo 权限在 /etc/systemd/system/ 目录下创建一个新的服务文件。例如,可以创建一个名为 svm_fastapi.service 的文件:

    sudo nano /etc/systemd/system/svm_fastapi.service
    
  2. 在服务文件中添加以下内容:

    将以下内容复制到服务文件中。请根据你的实际情况调整文件路径和环境变量。

    [Unit]
    Description=FastAPI Application for SVM
    After=network.target
    
    [Service]
    User=pi
    WorkingDirectory=/home/pi/svm_fastapi
    ExecStart=/home/pi/svm_fastapi/svm_venv/bin/python /home/pi/svm_fastapi/main.py
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    
    • User=pi:设置运行服务的用户,使用当前登录的用户(例如 pi)。
    • WorkingDirectory=/home/pi/svm_fastapi:指定应用的工作目录。
    • ExecStart=/home/pi/svm_fastapi/svm_venv/bin/python /home/pi/svm_fastapi/main.py:指定要运行的命令,这里使用虚拟环境中的 Python 解释器来运行你的 FastAPI 应用。
    • Restart=always:如果服务意外终止,自动重新启动。

目录结构如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果想展示树形结构,可使用tree命令:

# 使用sudo apt install tree命令先安装tree
tree # 树形展示当前目录下所有子文件和目录,该命令不显示中文

tree -N # 中文展示

tree -N -L 2 # 遍历两级菜单

tree /home --charset=gbk -L 2 # 设定中文编码

# -a显示所有文件,-C文件与目录清单加上颜色,-L 2遍历两级菜单
tree -aC -L 2 


2级展开:

3级展开:
在这里插入图片描述

创建svm_venv的虚拟环境,参考我下面这个博客:
fastapi_svm部署测试

  1. 保存并关闭文件。

  2. 重新加载 systemd 守护进程:

    让 systemd 加载新的服务文件:

    sudo systemctl daemon-reload
    
  3. 启用服务以便开机自启动:

    使用以下命令启用服务:

    sudo systemctl enable svm_fastapi.service
    
  4. 立即启动服务:

    使用以下命令启动服务:

    sudo systemctl start svm_fastapi.service
    
  5. 检查服务状态:

    你可以使用以下命令来检查服务的状态,确保它正常运行:

    sudo systemctl status svm_fastapi.service
    

    如果服务正在运行,你应该会看到 active (running) 状态。
    效果如下:
    在这里插入图片描述

注意事项:

  • 日志查看:如果在启动或运行时出现问题,可以使用 journalctl 查看日志信息:

    journalctl -u svm_fastapi.service -f
    
  • 停止或重启服务:可以使用以下命令停止或重启服务:

    sudo systemctl stop svm_fastapi.service
    sudo systemctl restart svm_fastapi.service
    

按照以上步骤操作,你的 FastAPI 应用将在树莓派启动时自动启动。

三、更换无线网热点和密码

要更改树莓派连接的无线网络热点和密码,你需要编辑 Wi-Fi 配置文件。这通常是在树莓派运行 Ubuntu 系统时通过修改 Netplan 配置文件来完成的。

更改无线网络配置步骤:

  1. 查找 Netplan 配置文件:

    Netplan 的配置文件通常位于 /etc/netplan/ 目录中,文件名通常是 01-netcfg.yaml 或类似的文件(可能略有不同)。你可以使用 ls 命令来查看该目录下的文件:

    ls /etc/netplan/
    
  • 备份原始配置文件:在编辑配置文件之前,最好先备份一下原始文件,以防出现错误:

    sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak
    
  1. 编辑 Netplan 配置文件:

    使用你喜欢的文本编辑器(如 nano)编辑配置文件。例如,如果文件名是 01-netcfg.yaml,你可以运行:

    sudo nano /etc/netplan/01-netcfg.yaml
    
  2. 更新无线网络名称(SSID)和密码:

    找到对应无线网络(wifis 下)的部分,然后更新 ssid 和 password。以下是一个典型的配置文件示例:

    network:
      version: 2
      renderer: NetworkManager
      wifis:
        wlan0:
          dhcp4: true
          access-points:
            "Your_New_SSID":  # 将 "Your_New_SSID" 替换为你新的 Wi-Fi 名称
              password: "Your_New_Password"  # 将 "Your_New_Password" 替换为你新的 Wi-Fi 密码
    

    确保缩进正确,因为 YAML 格式要求严格的缩进格式。

  3. 保存并应用更改:

    保存文件(在 nano 中,按 Ctrl + O 然后 Enter,接着 Ctrl + X 退出)。然后,应用更改:

    sudo netplan apply
    
  4. 重启网络服务或设备(可选):

    有时可能需要重启设备或网络服务才能使更改生效。你可以使用以下命令重新启动网络服务:

    sudo systemctl restart NetworkManager.service
    

    或者直接重启树莓派:

    sudo reboot
    

    或者直接关机树莓派,再硬件按钮直接重启:

    sudo poweroff
    

其他提示:

  • 验证网络连接:重启后,确保你的树莓派已成功连接到新的无线网络。可以使用 ping 命令测试网络连接:

    ping www.baidu.com
    

效果如下:
在这里插入图片描述

按照这些步骤,应该可以成功更改树莓派上的无线网络配置。
题外话:使用VNC-viewer对树莓派5 远程连接桌面,
可参考下面的博客:使用VNC-viewer对树莓派5 远程连接桌面—详细记录笔记版

四、以太网通信

要通过以太网将树莓派开发板与笔记本电脑直接连接并进行通信,需要对两者进行网络配置,以便它们在同一个本地网络(子网)中相互通信。以下是实现这一目标的步骤。

步骤:通过以太网进行直接连接和通信

  1. 连接开发板与笔记本:

    使用以太网网线将开发板和笔记本电脑直接连接。由于它们直接相连,不需要网络交换机或路由器。

  2. 设置静态 IP 地址:

    由于没有 DHCP 服务器(通常由路由器提供),需要手动为开发板和笔记本电脑配置静态 IP 地址。

在开发板(树莓派)上配置静态 IP:

假设你的树莓派运行的是 Ubuntu 系统,可以通过 Netplan 配置静态 IP。

  • 编辑 Netplan 配置文件:

    打开 Netplan 配置文件进行编辑。通常位于 /etc/netplan/ 目录下的文件(如 01-netcfg.yaml):

    sudo nano /etc/netplan/01-netcfg.yaml
    
  • 配置文件内容示例:

    将配置文件编辑为以下内容,将 wlan0 替换为 eth0,并指定一个静态 IP 地址(例如:192.168.1.2):

    network:
      version: 2
      ethernets:
        eth0:
          dhcp4: false
          addresses:
            - 192.168.1.2/24  # 设置开发板的静态IP地址
    
  • 保存更改并应用配置:

    保存文件(Ctrl + O,然后 Enter,接着 Ctrl + X 退出)。然后运行以下命令以应用配置:

    sudo netplan apply
    
在笔记本电脑上配置静态 IP:

不同的操作系统有不同的步骤来设置静态 IP 地址:

  • Windows:

    1. 打开 “网络和共享中心”。
    2. 选择 “更改适配器设置”。
    3. 右键点击有线网络连接(例如 “以太网”)并选择 “属性”。
    4. 选择 “Internet 协议版本 4 (TCP/IPv4)” 并点击 “属性”。
    5. 选择 “使用下面的 IP 地址”。
      • IP 地址: 192.168.1.3(开发板的 IP 地址设置为 192.168.1.2,它们应在同一子网范围内)
      • 子网掩码: 255.255.255.0
      • 网关: 留空或与开发板 IP 保持一致
  • Ubuntu/Linux:

    1. 打开 “设置”。
    2. 转到 “网络” 部分。
    3. 找到 “有线网络” 并点击齿轮图标以编辑。
    4. 设置为 “手动” 并输入:
      • 地址: 192.168.1.3
      • 子网掩码: 255.255.255.0
      • 网关: 留空或保持一致
  1. 测试连接:

    两者配置好静态 IP 地址后,使用 ping 命令测试开发板与笔记本之间的连接。

    • 在开发板上,打开终端并输入:

      ping 192.168.1.3  # 笔记本的IP地址
      
    • 在笔记本上,打开命令提示符或终端并输入:

      ping 192.168.1.2  # 开发板的IP地址
      

    如果双方都能收到响应(Reply),说明连接正常。

  2. 文件共享和通信:

    一旦网络连接建立,你可以使用 SSH、SCP、FTP 或其他网络工具进行文件共享和通信。例如:

    • 使用 SSH 登录到开发板:

      ssh pi@192.168.1.2  # 使用开发板的IP地址
      
    • 使用 SCP 传输文件:

      从笔记本传输文件到开发板:

      scp /path/to/local/file pi@192.168.1.2:/path/to/remote/directory
      

按照这些步骤,你的树莓派开发板和笔记本电脑应能通过以太网直接通信。

我插入网线后,输出信息如下:


pi@raspberrypi:~ $ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::7253:98e5:e37d:9190  prefixlen 64  scopeid 0x20<link>
        ether 2c:cf:67:76:25:e8  txqueuelen 1000  (Ethernet)
        RX packets 58  bytes 5160 (5.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 139  bytes 22829 (22.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 106

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 152  bytes 13634 (13.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 152  bytes 13634 (13.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.16.48  netmask 255.255.255.0  broadcast 192.168.16.255
        inet6 fe80::8a1f:6f96:7b9b:c7b2  prefixlen 64  scopeid 0x20<link>
        ether 2c:cf:67:76:25:e9  txqueuelen 1000  (Ethernet)
        RX packets 1749  bytes 1735129 (1.6 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1298  bytes 184140 (179.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

从 ifconfig 命令的输出信息来看,树莓派的以太网接口 eth0 是启用的(UP 状态),但它没有分配到 IPv4 地址,只显示了一个 inet6(IPv6)地址(fe80::7253:98e5:e37d:9190)。这可能是因为以太网连接没有从 DHCP 服务器(例如路由器)获取到 IP 地址,或者以太网接口被配置为仅启用 IPv6。

可能原因分析

  1. 没有 DHCP 服务器:

    • 如果你将树莓派直接连接到笔记本电脑,而没有通过路由器或交换机,这两个设备之间可能没有 DHCP 服务器来分配 IP 地址,因此 eth0 接口无法获得 IPv4 地址。
  2. 网络设置问题:

    • 树莓派的网络配置可能不正确,导致它无法通过以太网获取 IP 地址。
  3. 网线问题或接口问题:

    • 网线可能有问题,或者网卡接口配置不正确。

解决方法

方法 1:为树莓派和笔记本手动配置静态 IP 地址

由于你是通过直接连接的方式,可能需要手动为树莓派和笔记本电脑分配静态 IP 地址。

  1. 在树莓派上设置静态 IP 地址:

    编辑 Netplan 配置文件(假设是 Ubuntu 系统,如果是 Raspberry Pi OS,使用 /etc/dhcpcd.conf 配置):

    sudo nano /etc/dhcpcd.conf
    

    添加以下内容以配置 eth0 的静态 IP:

    interface eth0
    static ip_address=192.168.1.2/24
    static routers=192.168.1.1
    static domain_name_servers=8.8.8.8
    
    • static ip_address:为树莓派分配一个静态 IP 地址(如 192.168.1.2)。
    • static routers:设置网关(如果不需要可以省略)。
    • static domain_name_servers:设置 DNS 服务器(如 8.8.8.8,Google DNS)。

    保存文件(Ctrl + O 然后 Enter,接着 Ctrl + X 退出),并重启网络服务或设备:

    sudo systemctl restart dhcpcd
    
  2. 在笔记本电脑上设置静态 IP 地址:

    • Windows:

      • 打开 “网络和共享中心” > “更改适配器设置”。
      • 右键单击有线网络连接(如“以太网”)并选择“属性”。
      • 选择 “Internet 协议版本 4 (TCP/IPv4)” 并点击“属性”。
      • 选择 “使用下面的 IP 地址”:
        • IP 地址:192.168.1.3(在同一子网内但不同于树莓派的 IP 地址)
        • 子网掩码:255.255.255.0
        • 默认网关:留空或使用树莓派的 IP
    • Ubuntu/Linux:

      • 打开 “设置” > “网络”。
      • 找到有线连接,点击齿轮图标进行编辑。
      • 设置为“手动”模式,输入:
        • 地址:192.168.1.3
        • 子网掩码:255.255.255.0
  3. 测试连接:

    使用 ping 命令在树莓派和笔记本电脑之间测试连接。

    • 在树莓派上:

      ping 192.168.1.3  # 笔记本的IP地址
      
    • 在笔记本上:

      ping 192.168.1.2  # 树莓派的IP地址
      

    如果两者都能收到响应,说明连接正常。

方法 2:检查和重新启动网络服务
  1. 重启网络服务:

    如果你希望通过 DHCP 获取 IP 地址,可以重启网络服务以重新获取 IP 地址:

    sudo dhclient -r eth0
    sudo dhclient eth0
    
  2. 检查网线和接口:

    确保网线完好无损且接口连接正确。尝试更换网线或插入不同的接口,检查以太网灯是否亮起(正常情况下应有网络活动指示灯)。

方法 3:启用 DHCP 服务器(如果需要)

如果你有其他设备(如路由器或笔记本电脑)可以作为 DHCP 服务器,可以启用 DHCP 服务器功能,使树莓派能够通过以太网接口获取动态 IP 地址。

通过这些方法,你应该能够成功配置树莓派和笔记本电脑之间的以太网通信。如果需要进一步的帮助或配置,请告诉我!

五、串口通信

通过串口(Serial Port)进行通信是另一种常用的方法,尤其是在嵌入式开发和设备之间的低级通信中。树莓派和笔记本电脑之间可以使用串口进行数据传输,通常需要使用 USB 转串口适配器连接两者。以下是如何通过串口配置开发板(如树莓派)和笔记本电脑之间的通信的步骤。

所需的硬件和连接:

  1. 串口硬件:

    • 树莓派开发板上的串口(UART)接口(通常为 GPIO 引脚上的 TX 和 RX)。
    • USB 转 TTL(串口)适配器或直接通过 USB 转串口电缆(例如:USB-RS232 电缆)连接到笔记本电脑。
  2. 连接方法:

    • 将 USB 转 TTL 适配器连接到树莓派的串口 TX(发送)和 RX(接收)引脚。
    • 使用跳线将适配器上的 TX 引脚连接到树莓派的 RX 引脚,RX 引脚连接到树莓派的 TX 引脚。
    • 笔记本电脑的 USB 接口与 USB 转 TTL 适配器的 USB 端口连接。

步骤:配置树莓派和笔记本电脑的串口通信

1. 在树莓派上配置串口

树莓派默认使用串口(UART)来输出控制台信息,因此需要做一些配置以使其用于普通的串口通信。

  • 禁用串口登录控制台:

    1. 打开树莓派的配置工具:

      sudo raspi-config
      
    2. 选择 Interfacing Options,然后选择 Serial。

    3. 当提示 “Would you like a login shell to be accessible over serial?” 时,选择 No。

    4. 然后启用串口硬件(“Would you like the serial port hardware to be enabled?”),选择 Yes。

    5. 完成后,选择 Finish 并重启树莓派。

  • 安装 minicom 或其他串口通信工具:

    Minicom 是一个常用的串口通信工具,可以用于测试串口通信。

    sudo apt-get update
    sudo apt-get install minicom
    
  • 启动 Minicom 并配置串口:

    启动 Minicom 并配置为使用串口 /dev/serial0(树莓派的默认串口):

    minicom -s
    

    然后设置波特率(例如 9600)、数据位、停止位和无奇偶校验。通常,设置如下:

    • 波特率:9600
    • 数据位:8
    • 停止位:1
    • 无奇偶校验
2. 在笔记本电脑上配置串口
  • 安装串口驱动(如果需要):

    如果你使用的是 USB 转串口适配器,通常需要安装驱动程序。大多数现代操作系统会自动识别和安装必要的驱动程序,但如果没有,可以从适配器制造商的网站下载并安装。

  • 安装串口通信工具:

    可以使用 PuTTY、Tera Term(Windows)或者 screen(Linux/macOS)作为串口通信工具。

    • Windows:下载并安装 PuTTY,并选择串行连接。

    • Linux:安装 screen,例如在 Ubuntu 上:

      sudo apt-get install screen
      
  • 配置串口:

    在笔记本电脑上找到相应的串口设备名称(例如 /dev/ttyUSB0 在 Linux 上或 COM3 在 Windows 上)。然后启动串口工具并配置波特率(例如 9600)和其他参数。

    • Linux:

      使用 screen 连接到串口:

      screen /dev/ttyUSB0 9600
      
    • Windows:

      使用 PuTTY,选择 “Serial” 作为连接类型,并设置串口名称(如 COM3)和波特率。

3. 测试串口通信
  • 在树莓派的 minicom 和笔记本电脑上的串口通信工具中,尝试发送和接收文本。如果连接正常,发送的文本应在另一端显示。

其他注意事项

  • 交叉连接:确保 TX 和 RX 引脚正确连接,即一端的 TX 连接到另一端的 RX,反之亦然。

  • 供电和地线连接:确保两个设备共享相同的地线(GND),否则可能会出现通信错误或电平问题。

  • 调试:如果出现通信问题,检查串口配置(如波特率和其他参数)、连接、以及可能的串口权限问题。

通过以上步骤,你应该能够通过串口成功地配置树莓派和笔记本电脑之间的通信。

可参考下面这篇文章:
树莓派 3B/3B+/4B 的基本配置(保姆级新手教程)

更多推荐