CM5-HMI-7A-ACCE 使用教程

产品特性​

  • 提供 7 英寸、8 英寸和 10.1 英寸屏幕版本,配备 500 万像素前置摄像头
  • 禁止带电时拔插除 USB 和 HDMI 之外的任何设备
  • Type C 可用作 USB SLAVE 接口烧录镜像或设备供电。
  • 板载 M.2 M KEY 接口,支持 NVMe 硬盘协议(或者 PCIE 协议的 AI 模块)
  • 板载 M.2 B KEY 接口,支持接入 4G/5G 通信模块
  • 2 路 RS485 + 2 路 RS232 或 4 路 RS485 版本可选(隔离)
  • 1 路 CAN 支持 1Mbps 通信速率(隔离)
  • 2 路 数字输出 + 2 路 数字输入(隔离)
  • 2 路 ADC 模拟输入(可通过拆焊器件实现 4 ~ 20mA 电流采集)
  • 单路可控蜂鸣器
  • 板载 EEPROM 和加密芯片
  • 板载 BOOT 按键,可以上电前按住 BOOT 按键,通过 Type C 连接电脑,让设备接入烧录模式
  • 使用 Type C 烧录不要连接其他设备,否则供电不足导致无法识别设备
  • 板载法拉电容模块,支持掉电保护

板载资源


  1. Type-C 接口
    可作为供电接口、eMMC 烧录接口或 USB OTG 接口
  2. HDMI 接口
    支持 4K 输出
  3. USB 接口
    2 × USB 2.0 和 2 × USB 3.2 Gen1;USB 3.2 Gen1 最高速率为 5 Gbps
  4. 1000M 网口
    RJ45 接口,支持 10M、100M、1000M 网络接入
  5. Nano SIM 卡连接器
  6. TF 卡接口
    用于接入带系统的 TF 卡,仅适用于不带 eMMC 的 CM5 版本
  7. 外置天线固定孔
  1. PSW 按键
    长按强制关机,短按软关机或开机
  2. BOOT 按键
    上电前按下,可进入烧录模式
  3. 系统功能指示灯
  4. 串口通信指示灯
  5. 多功能接口
    通过 GPIO 扩展的多功能接口
  6. DC 电源接口
    支持 7~36 V 直流供电

产品尺寸​

下图展示的是 CM5-HMI-7A-ACCE(7 英寸屏幕版本)的外形尺寸。


开发相关​

配套屏幕与摄像头使用​

  • CM5-HMI-xA-ACCE 系列提供 7 英寸、8 英寸和 10.1 英寸屏幕版本,均配备 500 万像素前置摄像头。不同尺寸的屏幕使用不同的 DSI 配置,摄像头使用 OV5647。
  • 产品支持此教程内的全部功能:板载屏幕与摄像头使用教程

镜像烧录​

  • 进入下载模式
    • 板载 BOOT 按键:在上电前按住 BOOT 按键,通过 Type C 连接电脑,等到电源指示灯亮起再松开按键
  • LITE 版本镜像烧录:LITE 版本教程
  • EMMC 版本镜像烧录:EMMC 版本教程

NVMe(M.2 M KEY)​


NVMe SSD 引导启动​

  • 先使用 SD 卡启动树莓派,先挂载测试一下 NVMe 硬盘,确保硬件可以正常工作
  • NVMe SSD 引导启动:引导启动配置教程

MIPI​


风扇控制​

注意

产品未配套风扇,仅在底板预留风扇接口


RTC​


RS485/RS232​

  • 产品板载 RS485/RS232 接口(版本 A 无 RS232 接口)
  • 产品支持此教程内的全部功能:RS485/RS232 使用教程

CAN​

  • 产品板载 CAN 接口(支持最高速率为 1Mbps)
  • 产品支持此教程内的全部功能:CAN 使用教程

模拟输入接口​

注意

产品的模拟输入接口通过 I2C1 扩展 SGM58031XMS10G 实现

  • 本产品模拟采集芯片(SGM58031XMS10G)的 I2C 地址:0x48
  • 芯片默认连接的 I2C 为: I2C1(SDA:GPIO2、SCL:GPIO3)

数字输入接口​

注意

产品的数字输入接口支持的最大输入电压为 36V

控制引脚功能说明
GPIO23IN1数字输入通道1
GPIO24IN2数字输入通道2
  • 当数字输入为高电平(高于 2V)时,GPIO 采集到的电平为低
  • 当数字输入为低电平(低于 0.9V)时,GPIO 采集到的电平为高

数字输出接口​

注意

产品的数字输出为开漏输出,最大截断电压为 150V,最大电流支持 500mA(导通电阻为 18Ω,过压或过流都将烧毁设备)

控制引脚功能说明
GPIO27OUT1数字输出通道1
GPIO22OUT2数字输出通道2
  • 当 GPIO 输出高时,数字输出的输出电平为低
  • 当 GPIO 输出低时,数字输出的输出电平为高阻态

4G / 5G​

  • 产品板载 M.2 B KEY 接口,支持接入 4G / 5G 通信模块
  • 产品支持此教程内的全部功能:4G / 5G使用教程

加密芯片(ATSHA204)​



EEPROM(CAT24C32)​


  • 芯片的 I2C 地址:0x50(可通过修改 A0~A2 电阻的焊接位置调整)
  • 芯片默认连接的 I2C 为: I2C1(SDA:GPIO2、SCL:GPIO3)

掉电保护​

注意
  • 产品的掉电保护仅在使用 7~36V 供电时启用电容充电,并且电容充满的情况下生效。
  • 启用掉电保护功能后,将在外部掉电的情况下通过法拉电容为设备额外提供一段时间的电源,给用户留出数据备份的时间。


  • 启用电容掉电保护功能后,将在外部掉电的情况下通过法拉电容为设备额外提供一段时间的电源,给用户留出数据备份的时间。
  • 产品默认启用电容掉电保护功能,若需禁用此功能,请将左上角大电容旁边的跳线帽移动至 OFF 即可禁用。
受控引脚功能说明
GPIO11电容低电量警告在电容电压过低时示警电路将拉低 GPIO11
GPIO16外部停止供电警告在外部 TYPE-C 与 7V~36V 端子均为断电状态时,由法拉电容续电情况下,断电示警电路将拉高 GPIO16

蜂鸣器​

控制引脚功能说明
GPIO7蜂鸣器有源蜂鸣器
  • 当 GPIO 输出高时,蜂鸣器无输出
  • 当 GPIO 输出低时,蜂鸣器输出声音

指示灯​

指示灯丝印功能说明
STAT4G/5G 模组使能指示灯4G/5G 模块接口指示灯
NET4G/5G 模组运行状态指示灯
PWR树莓派系统指示灯树莓派系统指示灯
ACT树莓派工作状态指示灯
USER1用户自定义功能指示灯1连接至 GPIO25,低电平有效
USER2用户自定义功能指示灯2连接至 GPIO26,低电平有效


配套屏幕与摄像头使用

本节介绍在树莓派上如何使配套的屏幕与摄像头功能,为后续项目开发奠定基础。

注意:请按教程链接相关接口,不要交叉排线连接,否则将导致配置与硬件连接不对应,使之不能正常驱动设备
注意:DSI 与 CSI 接口默认为禁用状态,使用前需先配置 config.txt 文件

配置说明

CM5-HMI-xA-ACCE 系列提供 7 英寸、8 英寸和 10.1 英寸屏幕版本,均配备 500 万像素前置摄像头。不同尺寸的屏幕使用不同的 DSI 设备树配置,摄像头使用 OV5647 设备树配置。

  • 进入 config.txt 文件

    sudo nano /boot/firmware/config.txt
  • 7 英寸屏幕版本
    • CM5-HMI-7A-ACCE 配备 7 英寸、720 × 1280 分辨率的屏幕。对应的屏幕与摄像头配置如下:
    dtoverlay=vc4-kms-v3d
    dtoverlay=ov5647
    dtoverlay=vc4-kms-dsi-waveshare-panel-v2,7_0_inch_a,dsi0
  • 8 英寸屏幕版本
    • CM5-HMI-8A-ACCE 配备 8 英寸、800 × 1280 分辨率的屏幕。对应的屏幕与摄像头配置如下:
    dtoverlay=vc4-kms-v3d
    dtoverlay=ov5647
    dtoverlay=vc4-kms-dsi-waveshare-panel-v2,8_0_inch_a,dsi0
  • 10.1 英寸屏幕版本
    • CM5-HMI-10.1A-ACCE 配备 10.1 英寸、800 × 1280 分辨率的屏幕。对应的屏幕与摄像头配置如下:
    dtoverlay=vc4-kms-v3d
    dtoverlay=ov5647
    dtoverlay=vc4-kms-dsi-waveshare-panel-v2,10_1_inch_a,dsi0
  • 修改之后重启树莓派,就可以正常点亮 DSI 屏幕

    sudo reboot
  • 更多自定义屏幕使用参见 DSI 接口使用教程

  • 更多自定义摄像头使用参见 CSI 接口使用教程

NVMe

本节介绍在树莓派上如何使用 NVMe 硬盘功能,为后续项目开发奠定基础。

注意:在使用此功能前需先启用 PCIe 接口

启用 PCIe 接口​

  • 启用 PCIe gen3 接口(PCIe gen2 默认为启用状态)
    • 进入 config.txt 文件

      sudo nano /boot/firmware/config.txt
    • PCIE 默认是 gen2,如果需要启用 PCIE gen3, 则在 config.txt 中添加

      dtparam=pciex1_gen=3
    • 修改之后重启树莓派,就可以识别到设备了

      sudo reboot
    • 重启后查看 PCIe 识别情况

      lspci


NVMe 硬盘操作​

格式化硬盘​

  • 若没有启用 PCIe 接口的话,先启用 PCIe 接口

  • 查看支持的格式,输入 sudo mkfs. 后,按 tab 按键 可以看到很多种不同的后缀名,不同的后缀名对应允许格式化的格式

    sudo mkfs.


  • 列出所有硬盘

    lsblk


  • 假设要将 /dev/nvme0n1p1 格式化为 ext4 文件格式,就是执行

    sudo mkfs.ext4 /dev/nvme0n1p1



硬盘分区​

  • 若没有启用 PCIe 接口的话,先启用 PCIe 接口

  • 列出所有硬盘(如果想看到详细信息执行sudo fdisk -l)

    lsblk


  • 假设要将 /dev/nvme0n1 重新分区,就是执行以下指令(注意:设备号是总设备号,不要添加 p1,那只是一个分区而已)

    sudo fdisk /dev/nvme0n1
  • 添加分区执行 n 即可,最后 w 保存退出

  • fdisk 功能说明:

    • n 新建分区
    • q 不保存退出
    • p 打印分区表
    • m 打印选择菜单
    • d 删除分区
    • w 保存退出
    • t 修改 ID 号

手动挂载​

  • 若没有启用 PCIe 接口的话,先启用 PCIe 接口

  • 确认需要挂载的目录。如果 /home/pi/toshiba 不存在,执行以下命令创建:

    sudo mkdir -p /home/pi/toshiba
  • 列出所有硬盘(如果想看到详细信息执行sudo fdisk -l)

    lsblk


  • 假设要将 /dev/nvme0n1p1 挂载到 /home/pi/toshiba

    sudo mount /dev/nvme0n1p1 /home/pi/toshiba
  • 查看文件系统磁盘空间使用情况。

    df -h

开机自动挂载​

  • 注意:自动挂载只有在不作为系统盘时使用,仅作为扩展磁盘时进行此类配置

  • 若没有启用 PCIe 接口的话,先启用 PCIe 接口

  • 修改 fstab 文件

    sudo nano /etc/fstab
  • 在文件最下方添加 (/dev/nvme0n1p1 设备名, /home/pi/toshiba 挂载到目录,ext4 是文件系统类型 ,defaults 使用默认的挂载选项)

    /dev/nvme0n1p1 /home/pi/toshiba ext4 defaults 0 0
  • 使更改生效(测试无问题再重启,不然会导致无法挂载导致无法开机)

    sudo mount -a
  • 在没有问题的情况下,执行重启操作

    sudo reboot
  • 重启后查看挂载情况

    lsblk

读写测试​

  • 若没有启用 PCIe 接口的话,先启用 PCIe 接口

  • 查看挂载情况

    lsblk
  • 挂载正常的情况下进入挂载目录(这里挂载目录是 /home/pi/toshiba)

    cd /home/pi/toshiba
  • 拷贝树莓派内存内容到硬盘(写)

    sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches" # 释放内存
    sudo dd if=/dev/zero of=./test_write count=2000 bs=1024k # 写测试


  • 拷贝硬盘内容到树莓派内存(读)

    sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches" # 释放内存
    sudo dd if=./test_write of=/dev/null count=2000 bs=1024k # 读测试


  • 注意:不同的卡以及环境在树莓派上测试效果不同,部分硬盘速率受限,如果想要测试准确的性能使用 PC 电脑测试

NVMe Boot

本节介绍在树莓派上如何使用 NVMe SSD 引导启动,为后续项目开发奠定基础。

注意:使用 NVMe SSD 引导启动时请不要启用 自动挂载

NVMe SSD 引导启动​

方式一(修改 raspi-config 配置)​

  • 先使用 SD 卡启动树莓派,先挂载测试一下 NVMe 硬盘,确保硬件可以正常工作

  • 进入 raspi-config 配置

    sudo raspi-config


  • 重启树莓派(注意:如果修改多次发现无法修改,请连接网络之后再修改(等待网络自对时),或者设置正确时间之后再修改文件)

    sudo reboot
  • 将系统烧录到 NVME 中,然后将 NVME 连接到板上硬盘接口(或扩展板上的硬盘接口),移除 SD 卡重新上电即可

方式二(修改 引导加载程序 配置)​

  • 先使用 SD 卡启动树莓派,先挂载测试一下 NVMe 硬盘,确保硬件可以正常工作

  • 进入引导加载程序配置

    sudo rpi-eeprom-config --edit
  • 修改树莓派的引导加载程序配置中的 BOOT_ORDER

  • 将 BOOT_ORDER=0xf41 改为 BOOT_ORDER=0xf416 


  • 重启树莓派(注意:如果修改多次发现无法修改,请连接网络之后再修改(等待网络自对时),或者设置正确时间之后再修改文件)

    sudo reboot
  • 将系统烧录到 NVME 中,然后将 NVME 连接到板上硬盘接口(或扩展板上的硬盘接口),移除 SD 卡重新上电即可

DSI

本节介绍在树莓派上如何使用 DSI 接口功能,为后续项目开发奠定基础。

注意:若 config.txt 添加了 DSI 配置,不管是否连接了 DSI 屏幕,显示效果都将以 DSI 接口为主信号进行显示(即启用了 DSI 配置,且只连接了 HDMI 接口(若硬件存在 HDMI),此时 HDMI 将不会显示主页,而是以扩展形式显示)

注意:DSI 接口默认为禁用状态,使用前需先配置 config.txt 文件

DSI 接口选择​

  • 启用 DSI 接口(默认为禁用用状态)

  • 进入 config.txt 文件

    sudo nano /boot/firmware/config.txt
  • 若想仅使用 DSI0 (MIPI0),则添加以下指令

    # DSI0 (MIPI0)
    dtoverlay=vc4-kms-dsi-7inch,dsi0
  • 若想仅使用 DSI1 (MIPI1),则添加以下指令

    # DSI1 (MIPI1)
    dtoverlay=vc4-kms-dsi-7inch,dsi1
  • 若想同时使用 DSI0 (MIPI0) 和 DSI1 (MIPI1),则添加以下指令

    # DSI0 (MIPI0) And DSI1 (MIPI1)
    dtoverlay=vc4-kms-dsi-7inch,dsi0
    dtoverlay=vc4-kms-dsi-7inch,dsi1
  • 修改之后重启树莓派,就可以正常点亮 DSI 屏幕

    sudo reboot


CSI

本节介绍在树莓派上如何使用 CSI 接口功能,为后续项目开发奠定基础。

注意:单个摄像头只能连接 MIPI0

注意:CSI 接口默认为禁用状态,使用前需先配置 config.txt 文件

csi 接口选择-驱动设置​

  • 启用 CSI 接口(默认为禁用用状态)

  • 进入 config.txt 文件

    sudo nano /boot/firmware/config.txt
  • 根据使用的摄像头型号在 config.txt 中添加相应配置(以下使用 imx219 驱动的摄像头举例)

    摄像头驱动型号CAM0 设置语句CAM1 设置语句
    OV9281dtoverlay=ov9281,cam0dtoverlay=ov9281,cam1
    IMX290/IMX327dtoverlay=imx290,clock-frequency=37125000,cam0dtoverlay=imx290,clock-frequency=37125000,cam1
    IMX378dtoverlay=imx378,cam0dtoverlay=imx378,cam1
    IMX219dtoverlay=imx219,cam0dtoverlay=imx219,cam1
    IMX477dtoverlay=imx477,cam0dtoverlay=imx477,cam1
    IMX296dtoverlay=imx296,cam0dtoverlay=imx296,cam1
    IMX708dtoverlay=imx708,cam0dtoverlay=imx708,cam1
  • 若想仅使用 CSI0 (MIPI0),则添加以下指令

    # CSI0 (MIPI0)
    dtoverlay=imx219,cam0
  • 若想仅使用 CSI1 (MIPI1),则添加以下指令

    # CSI1 (MIPI1)
    dtoverlay=imx219,cam1
  • 若想同时使用 CSI0 (MIPI0) 和 CSI1 (MIPI1),则添加以下指令

    # CSI0 (MIPI0) And CSI1 (MIPI1)
    dtoverlay=imx219,cam0
    dtoverlay=imx219,cam1
  • 修改之后重启树莓派,就可以正常使用 CSI 接口驱动摄像头了

    sudo reboot

摄像头检测​

  • 若没有启用 CSI 接口的话,先启用 CSI 接口(注意:驱动设置要和使用的摄像头一致)

  • 使用指令检测当前连接的摄像头

    rpicam-hello --list-cameras
  • 打开对应的摄像头

    # 打开编号为 0 的摄像头
    rpicam-hello --camera 0 -t 0
    # 打开编号为 1 的摄像头
    rpicam-hello --camera 1 -t 0
  • 如果可以识别无法启动,尝试更新系统:

    sudo rpi-update

显示实时画面​

  • 若没有启用 CSI 接口的话,先启用 CSI 接口(注意:驱动设置要和使用的摄像头一致)

  • 显示摄像头画面到桌面(注意:使用 SSH 连接时,不能使用以下指令显示)

    rpicam-hello -t 0

拍照​

  • 若没有启用 CSI 接口的话,先启用 CSI 接口(注意:驱动设置要和使用的摄像头一致)

  • 拍摄一张照片,并将照片存放到当前目录

    rpicam-jpeg -o test.jpg

视频录制​

  • 若没有启用 CSI 接口的话,先启用 CSI 接口(注意:驱动设置要和使用的摄像头一致)

  • 录制一个 10s 的视频,并将视频存放到当前目录

    rpicam-vid -t 10s -o test.h264


FAN

本节介绍在树莓派上如何使用 FAN 接口功能,为后续项目开发奠定基础。

提示
  • 风扇接口默认为自动温控,会随核心温度自动调整转速。如需手动设置转速,建议在不需要时及时切换回自动温控模式。
  • 请在上电前连接好风扇,否则相关控制指令将无效。

FAN 关键说明​

  • 在树莓派中 FAN 设备默认为 /sys/devices/platform/cooling_fan/hwmon/hwmon0/pwm1(仅在上电前连接才可以识别到风扇设备)

手动控制转速​

注意

风扇接口默认为自动温控,会根据核心温度自动调整转速。手动设置转速后将失去自动温控功能,建议不需要时及时切换回自动模式。

指令控制实现​

  • 注意相关说明,FAN 关键说明

  • 查看是否存在风扇设备(有日志输出即存在设备)

    ls /sys/devices/platform/cooling_fan/hwmon/hwmon0
  • 切为手动控制(默认为自动温控)

    echo 1 | sudo tee /sys/devices/platform/cooling_fan/hwmon/hwmon0/pwm1_enable
    # sudo echo 1 > /sys/devices/platform/cooling_fan/hwmon/hwmon0/pwm1_enable
  • 控制风扇转速为 100% (255: 风扇转速,可选 0~255)

    echo 255 | sudo tee /sys/devices/platform/cooling_fan/hwmon/hwmon0/pwm1
    # sudo echo 255 > /sys/devices/platform/cooling_fan/hwmon/hwmon0/pwm1
  • 控制风扇转速为 50% (255: 风扇转速,可选 0~255)

    echo 128 | sudo tee /sys/devices/platform/cooling_fan/hwmon/hwmon0/pwm1
    # sudo echo 128 > /sys/devices/platform/cooling_fan/hwmon/hwmon0/pwm1
  • 控制风扇转速为 0% (255: 风扇转速,可选 0~255)

    echo 0 | sudo tee /sys/devices/platform/cooling_fan/hwmon/hwmon0/pwm1
    # sudo echo 0 > /sys/devices/platform/cooling_fan/hwmon/hwmon0/pwm1

初始配置实现​

  • PI5 风扇默认是温度控制 50 度才开始转,如果想要控制其他温度就可以转,在配置中添加指定内容即可

  • 进入 config.txt 文件

    sudo nano /boot/firmware/config.txt
  • 在最下方添加以下指令(【fan_temp0/1/2/3:表示温度(36000表示36℃)】、【fan_temp0/1/2/3_hyst:表示迟滞温度】、【fan_temp0/1/2/3_speed:表示对应的转速(值最大255)】)

    dtparam=fan_temp0=36000,fan_temp0_hyst=2000,fan_temp0_speed=90
    dtparam=fan_temp1=40000,fan_temp1_hyst=3000,fan_temp1_speed=150
    dtparam=fan_temp2=52000,fan_temp2_hyst=4000,fan_temp2_speed=200
    dtparam=fan_temp3=58000,fan_temp3_hyst=5000,fan_temp3_speed=255

查看当前转速​

  • 注意相关说明,FAN 关键说明

  • 查看是否存在风扇设备(有日志输出即存在设备)

    ls /sys/devices/platform/cooling_fan/hwmon/hwmon0
  • 打印当前风扇转速

    cat /sys/devices/platform/cooling_fan/hwmon/hwmon0/fan1_input

恢复自动温控​

  • 注意相关说明,FAN 关键说明

  • 查看是否存在风扇设备(有日志输出即存在设备)

    ls /sys/devices/platform/cooling_fan/hwmon/hwmon0
  • 切为自动温控

    echo 2 | sudo tee /sys/devices/platform/cooling_fan/hwmon/hwmon0/pwm1_enable
    # sudo echo 2 > /sys/devices/platform/cooling_fan/hwmon/hwmon0/pwm1_enable


RTC

本节介绍在树莓派上如何使用 RTC 功能,为后续项目开发奠定基础。

信息

若要使用完整 RTC 功能,请连接 RTC 电池

RTC 关键说明​

  • 在树莓派中 RTC 设备为 /dev/rtc0

  • 在 RTC 设备有连接并且工作正常时,若树莓派在网络连接后自动网络对时,那么 RTC 时间会在自动网络对时后更新时间

  • 新版本默认没有 hwclock 安装相关指令,请安装相关工具

    sudo apt install -y util-linux-extra

RTC 操作​

  • 以下使用 hwclock 工具进行测试

获取 RTC 时间​

  • 若运行 hwclock 失败,查看 RTC 关键说明 执行安装指令

  • 查看 RTC 时间

    sudo hwclock -r
  • 读取指定 RTC 设备的时间 (-f:后跟选择的设备,/dev/rtc0:指定操作的 RTC 设备)

    sudo hwclock -f /dev/rtc0 -r

设置 RTC 时间​

  • 若运行 hwclock 失败,查看 RTC 关键说明执行安装指令

  • 设置 RTC 时钟时间:

    sudo hwclock --set --date="3/7/2024 16:55:05"

同步 RTC 时钟​

  • 若运行 hwclock 失败,查看 RTC 关键说明 执行安装指令

  • 将 RTC 时间和当前系统时间同步(将 RTC 时间修改为当前系统时间)

    sudo hwclock -w
  • 将系统时间和当前 RTC 时间同步(将系统时间修改为当前 RTC 时间)

    sudo hwclock -s

定时关机​

  • 使用 shutdown 命令让系统在指定时间后自动关机。

  • 注意

  • 10 分钟后关机

    sudo shutdown -h +10
  • 在 23:30 自动关机(注意,此操作前请确认当前时间是否正常,是否需要重新对时)

    sudo shutdown -h 23:30

定时开机-低功耗唤醒​

注意

要实现此功能,必须连接 RTC 电池,以保证在外部掉电的情况下 RTC 仍能正常工作。

  • 进入 EEPROM 配置项

    sudo -E rpi-eeprom-config --edit
  • 在配置文件末尾添加以下内容,以启用定时唤醒功能

    POWER_OFF_ON_HALT=1
    WAKE_ON_GPIO=0
  • 修改完成后,重启树莓派使配置生效

    sudo reboot
  • 可以使用以下方法测试功能(效果:配置完成后,将系统关机,10 分钟后内部 RTC 将自动唤醒并重新启动设备。)

    • 设置从当前时刻开始 600 秒(10 分钟)后 唤醒

      echo +600 | sudo tee /sys/class/rtc/rtc0/wakealarm
    • 执行关机,等待到指定时间自动开机

      sudo halt
      # 或者 sudo poweroff

RTC 电池充电​

注意

仅在连接支持充电的 RTC 电池时才可执行此操作

  • 进入 config.txt 文件

    sudo nano /boot/firmware/config.txt
  • 在 config.txt 中添加充电配置(其中 3000000 表示最大电压,充电充到 3V 就会关闭充电,电压低于 3V 会启动涓流充电)

    dtparam=rtc_bbat_vchg=3000000


RS485/RS232

本节介绍在树莓派上如何使用 RS485/RS232 接口功能,为后续项目开发奠定基础。

启用接口配置​

  • 启用 RS485/RS232 接口(默认为禁用用状态)

  • 进入 config.txt 文件

    sudo nano /boot/firmware/config.txt
  • 若想使用 RS485/RS232,则添加以下指令(以下对应 4 个通信接口)


    # 对应 CH0
    dtoverlay=uart0-pi5
    # 对应 CH1
    dtoverlay=uart2-pi5
    # 对应 CH2
    dtoverlay=uart3-pi5
    # 对应 CH3
    dtoverlay=uart4-pi5
  • 同时启用总共 4 个通道的 RS485/RS232

    # 同时启用 CH0 ~ CH3,板上总共 4 个通道的 RS485/RS232
    dtoverlay=uart0-pi5
    dtoverlay=uart2-pi5
    dtoverlay=uart3-pi5
    dtoverlay=uart4-pi5
  • 修改之后重启树莓派,就可以正常使用程序驱动 RS485/RS232

    sudo reboot


CAN

本节介绍在树莓派上如何使用 CAN 接口功能,为后续项目开发奠定基础。

启用接口配置​

  • 启用 CAN 接口(默认为禁用用状态)

  • 进入 config.txt 文件

    sudo nano /boot/firmware/config.txt
  • 若想使用 CAN,则添加以下指令

    dtoverlay=spi1-1cs
    dtoverlay=mcp2515,spi1-0,oscillator=16000000,interrupt=17
  • 修改之后重启树莓派,就可以正常使用程序驱动 CAN

    sudo reboot
  • 重启后使用以下指令查看相关端口,可以看到有一个 can 端口

    ifconfig
    • 若 can 端口为 DOWN 状态,则需要 UP 一下设备(这里识别出来为 can0,故指令中使用 can0,最后的 500000 参数为 CAN 总线波特率,单位是 bit/s。)

      sudo ip link set can0 up type can bitrate 500000
  • 在 SPI 设备中也可以查询到相关设备

    dmesg | grep spi



使用​

  • 安装工具

    sudo apt update
    sudo apt-get install can-utils
  • 使用 cansend 发送数据(发送 0x11 0x22 0x33 0x44,这里硬件识别出来为 can0,故指令中使用 can0)

    cansend can0 000#11.22.33.44


  • 使用 candump 监听 CAN 数据帧(这里识别出来为 can0,故指令中使用 can0)

    candump can0


4G/5G

本节介绍在树莓派上如何使用 M.2 B KEY 接口功能,为后续项目开发奠定基础。

危险
  • 测试使用 SIM7600,如果使用其他模组参考对应 4G/5G 模组的 WIKI
  • 板子本身不支持 4G/5G,需要通过 M.2 B KEY 接口来接入模组,M.2 B KEY 只有 USB2.0 通道,不支持 PCIE 设备
注意
  • 如果需要关闭4G/5G 模组,可以使用 GPIO6 (BCM编码 6) 控制,GPIO6 输出高电平关闭模组,GPIO6 输出低电平开启模组
  • 关闭或者开启模需要一定时间(大约30秒)

异常情况​

没有新增ttyUSB设备​

  • 在终端执行以下指令加载 USB 设备描述符

    sudo modprobe option
    sudo sh -c 'echo "1e0e 9011" > /sys/bus/usb-serial/drivers/option1/new_id'
    sudo sh -c 'echo "1e0e 9018" > /sys/bus/usb-serial/drivers/option1/new_id'
    sudo sh -c 'echo "1e0e 901E" > /sys/bus/usb-serial/drivers/option1/new_id'

搭建AT指令配置环境​

  • 安装文本的串口通信工具 minicom

    sudo apt-get install minicom
  • 连接 4G/5G 模块端口(这里使用连接模块时新增的 ttyUSB2,根据实际情况选择端口)

    sudo minicom -D /dev/ttyUSB2
  • 下面AT指令4G/5G模组指令通用

    命令说明返回值
    AT测试指令OK
    ATEATE1设置回显
    ATE0关闭回显
    OK
    AT+CGMI查询模组制造商OK
    AT+CGMM查询模组型号OK
    AT+CGSN查询产品序列号OK
    AT+CSUB查询模块版本以及芯片OK
    AT+CGMR查询固件版本序列号OK
    AT+IPREX设置模块硬件串口波特率 +IPREX:OK
    AT+CRESET复位模块OK
    AT+CSQ网络信号质量查询,返回信号值 +CSQ: 17,99OK
    AT+CPIN?查询SIM卡状态,返回READY,表示SIM卡能正常识别+CPIN: READY
    AT+COPS?查询当前运营商,正常联网后会返回运营商信息 +COPS:OK
    AT+CREG?查询网络注册状态 +CREG:OK
    AT+CPSI?查询UE系统信息
    AT+CNMP网络模式选择命令:
    2:Automatic
    13:GSM only
    38:LTE only
    48 : Any modes but LTE
    ... ....
    OK

ifconfig查询设备失败​

  • 点击此处搭建 AT 指令配置环境

  • 对比新增的 ttyUSB 接口(若新增的接口为 ttyUSB0~ttyUSB4),若没有新增 ttyUSB 设备,点击此处配置

  • 使用新增的 ttyUSB 接口进行配置修改(这里使用新增的 ttyUSB2)

    sudo minicom -D /dev/ttyUSB2
  • 输入以下指令点击回车,模块会自动重启以更新设置(根据实际模块要求进行设置,每个模块支持的拨号方式不同,以下使用的是高通的 RNDIS 拨号)

  • 此指令只需要设置一次,下次上电会默认在这个模式下(1E0E:为厂商ID 9011:根据实际模块要求)

    AT+CUSBCFG=USBID,1E0E,9011


  • 重新扫描设备

    ifconfig

4g-5g使用​

  • 将 4G/5G 模组 和 SIM 卡接入设备后再上电

  • 使用 ifconfig 可以扫描到 usb0(USB网卡,具体看新增的是哪个设备,不一定都是 usb0), 若 ifconfig 未查询到设备,跳转查看

    ifconfig


  • 若正常连接 SIM 卡,NET 指示灯正常闪烁,但仍然没有 IP,请确认 SIM 卡正常

  • SIM 卡正常的情况下仍无法识别到 IP,则在终端执行以下指令更新 IP

    sudo dhclient -v usb0
    sudo apt-get install udhcpc
    sudo udhcpc -i usb0
    sudo route add -net 0.0.0.0 usb0
  • 测试通过无线网卡 ping 百度能否正常联网,注意必须要连接天线

    ping -I usb0 www.baidu.com # 这里连接 4G/5G 模块新增的端口为 usb0,具体指令根据实际情况调整
  • 如果你使用物联网卡,比如移动物联网卡,成功注册网络;但是拨号上网失败,无法ping通,可以尝试用以下AT指令的其中一条选择最优频段(点击此处搭建 AT 指令配置环境)

    AT+CNBP=0x0002000000400183,0x000001E000000000,0x0000000000000021
    AT+CNBP=0x0002000000400180,0x480000000000000000000000000000000000000000000042000001E200000095,0x0000000000000021


组装指南

开始组装前,请断开电源,并根据下图确认紧固件、排线和连接线的编号。


组装完成后,检查排线、连接线、接线端子和螺丝是否固定,再连接电源。


相关资料

1. 硬件资料​

2. 技术手册​

技术支持

周一-周五(9:30-6:30)周六(9:30-5:30)

手机:13434470212

邮箱:services04@spotpear.cn

QQ:202004841