2007 CM4 LoRa and 4G

来自Mcuzone Wiki

关键词

树莓派、Raspberry Pi、LoRa、CM4核心板、系统烧写、4G LTE、SSD、RPiOS

一、简介

CM4_LoRa扩展板基于CM4核心板设计,扩展两路Mini PCIe接口用于连接LoRa模块(同时兼容4G模块);一路PCIe M-KEY接口,支持NVME SSD;一路RTC。其它为CM4标准资源,包括CSI1、DSI1、原生千兆、标准HDMI、启动用TF卡槽、40Pin扩展接口、3.3V和5V风扇插头,以及2路USB2.0-A(其中一路复用1.25mm 4pin接口,可用于内置4G设备连接)。可通过USB-C接口用于eMMC烧写。扩展板采用DC5.5接口,支持7-24V电压输入。

二、硬件资源

1. 一路原生千兆网口;

2. 一路PCIe M.2 M-KEY接口,支持NVME SSD,2242/2280尺寸,默认焊接2280固定柱;

3. 两路USB2.0的MiniPCIE接口,支持LoRa模块,也支持4G LTE模块;

4. 两路USB2.0-A Host主机口,其中一路复用1.25mm 4Pin USB接口;

5. 一路RTC,DS1307,1.5mm-2p接口;

6. 一路标准HDMI口,支持4K分辨率的;

7、一路4-lans CSI(22PIN,0.5mm,翻盖下接);

8. 一路4-lans DSI(22PIN,0.5mm,翻盖下接);

9. 两路Nano SIM卡座,与4G LTE配套使用;

11. 预留SMA天线座;

12. TF卡座,用于无eMMC的cm4核心板启动系统用;

13. 一路USB-C口,用于emmc的烧写;

14. 引出40PIN GPIO,和树莓派4B的引脚完全兼容;

15. 电源:7-24V DC5.5-2.1宽电压输入;

16. 尺寸:111*135mm,PCB板沉金工艺,无铅生产,PCB板材通过UL和ROHS认证,防火等级94V-0。

2007_CM4_LoRa_4G_70.jpg

40pin引脚定义从左到右依次为:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
2脚 5V 5V GND G14 G15 G18 GND G23 G24 GND G25 G08 G07 IDSC GND G12 GND G16 G20 G21
1脚 3V3 G02 G03 G04 GND G17 G27 G22 3V3 G10 G09 G11 GND IDSD G05 G06 G13 G19 G26 GND

三、系统烧写

本文档采用树莓派OS进行测试。树莓派OS的版本为2024-10-22-raspios-bookworm-arm64.img.xz,树莓派OS下载地址:

https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit

对于带eMMC的核心板,系统烧写在eMMC内,板载TF卡将无效;不带eMMC的核心板,则系统烧写在TF卡内或NVMe SSD硬盘里。

带eMMC的核心板,使用跳线帽短接BOOT脚,USB Type C数据线将扩展板上的USB-C接口连接至电脑。

2007_CM4_LoRa_4G_66.jpg

烧写完成后,短路帽拔掉,重新上电,即可启动系统。

烧写方法请参阅:烧写系统的方法

四、树莓派OS的操作

4.1 原生千兆网口测试

我们将网线插入原生千兆网口,系统会自动获取IP,打开终端,运行ifconfig -a,查看ip地址:

2007_CM4_LoRa_4G_01.jpg

可见获取的ip地址为192.168.8.101。

为了操作方便,建议使用PC端的SSH软件连接系统并进行终端操作,SSH软件MobaXterm下载地址:

https://mobaxterm.mobatek.net/download-home-edition.html

我们使用与树莓派的无线网卡的IP地址在同一网段内的PC,通过MobaXterm进行连接:

2007_CM4_LoRa_4G_02.jpg

连接后,大部分操作都可以通过PC端的MobaXterm进行,使得整套硬件系统可以脱离显示器运作。以下测试操作将通过MobaXterm在PC端进行演示。

安装测速软件iperf3:

sudo apt install iperf3

然后我们使用iperf3进行测试:

原生千兆以太网测速结果,client模式为943Mbps左右

2007_CM4_LoRa_4G_03.jpg

server模式为949Mbps左右:

2007_CM4_LoRa_4G_04.jpg

注意:原生千兆网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。

4.2 NVME SSD测试

NVMe SSD可以做系统启动用,使用方法参考烧写章节,在这里SSD测试作为数据存储用。

在树莓派OS中对SSD分区进行授权:

2007_CM4_LoRa_4G_05.jpg

在终端中输入ls /dev,即可看到硬盘加载:

2007_CM4_LoRa_4G_06.jpg

安装硬盘测速软件hdparm:

sudo apt install hdparm

运行命令,可多次运行,测试多次硬盘速度:

sudo hdparm -t /dev/nvme0n1p1

2007_CM4_LoRa_4G_07.jpg

可见SSD硬盘的接口速度约为350MB/s左右。

注意:测试速度受网络状况、硬盘质量、硬盘上的文件存储情况等多种因素影响,以上测试结果仅供参考,不作为实际产品的最终参数。

4.3 DSI测试

用树莓派官方第一代液晶屏测试,液晶屏需独立供电,配22Pin 0.5mm间距转15Pin 1mm间距的转接板和相应的FPC排线与扩展板连接。

连接好后,给扩展板上电。等待系统运行后打开终端,运行下列命令:

sudo nano /boot/firmware/config.txt

在文件末尾加入下列语句:

dtoverlay=vc4-kms-dsi-7inch

2007_CM4_LoRa_4G_08.jpg

保存后重启系统,即可使用树莓派官方7寸触摸屏。

注意:这条语句实际上开启了第二块显示屏,即双屏显示,无论第二块屏的硬件是否安装,在某些软件如全屏截图(PrtScn)中都会显示双屏,如果不需要使用这块屏,建议在config.txt中把这条语句去掉。

4.4 CSI测试

使用OV5647摄像头,等待系统运行后打开终端,运行下列命令:

sudo nano /boot/firmware/config.txt

在文件末尾加入下列语句:

dtoverlay=ov5647,cam1

2007_CM4_LoRa_4G_10.jpg

在实际使用中根据自己的型号进行添加,保存后重启系统,即可使用OV5647摄像头。

重启后在终端中输入:

ls /dev

即可看到video0设备(插一个摄像头显示video0,如果有两路CSI,并插两个摄像头显示video0、video1,和插在哪一路CSI无关)。

2007_CM4_LoRa_4G_11.jpg

在终端中输入libcamera-hello --camera 0即可打开对应的摄像头浏览(camera 0对应dev中的video0)。

2007_CM4_LoRa_4G_12.jpg

如果需要拍照,则输入:

libcamera-jpeg -o test.jpg

照片保存在/home/mcuzone目录下(即用户主目录),照片效果如下:

2007_CM4_LoRa_4G_14.jpg

4.5 USB2.0测试

系统启动后,将U盘插入USB2.0接口,输入lsusb,随后输入lsusb -t查看显示如下:

2007_CM4_LoRa_4G_15.jpg

两处红框表示USB2.0hub已正常识别,并且U盘工作在480M下,因此USB2.0工作模式也正常。

4.6 RTC(DS1307)测试

注意:RTC芯片需要外接电池(电池接口在CM4核心板下面,BOOT脚右边,1.5mm-2p接口)才能保持数据不会丢失。

先将I2C打开:

左上角树莓派标志—Preferences—Raspberry Pi Configuration—Interfaces 如图所示:

3003_21700_5V5A_PD_07.jpg

然后编辑config.txt:

sudo nano /boot/firmware/config.txt

在文件末尾加入下列语句:

dtoverlay=i2c-rtc,ds1307

2007_CM4_LoRa_4G_16.jpg

保存后退出,重启系统,在树莓派终端中输入ls /dev,即可看到RTC设备:

2007_CM4_LoRa_4G_17.jpg

将系统时间写入DS1307的命令是sudo hwclock -w

将系统时间从DS1307读出的命令是sudo hwclock -r

如下图所示:

2007_CM4_LoRa_4G_18.jpg

4.7 LoRa测试

我们选择的LoRa型号为 E22 400T30E,使用LoRa时,必须要M0和M1用短路帽短路,即可激活LoRa模块。

2007_CM4_LoRa_4G_71.jpg

4.7.1 两个模块透传模式(USB通讯)

本文通过配置两路模块为透传模式进行演示。2个LoRa模块组装好后,上电启动系统。

输入ls /dev,查看两路串口设备,分别是ttyUSB0和ttyUSB1:

2007_CM4_LoRa_4G_19.jpg

安装命令行串口软件minicom:

sudo apt install minicom

或者图形化串口软件CuteCom:

sudo apt install cutecom

建议使用CuteCom,图形化界面便于操作。下面以CuteCom为例。

打开两个CuteCom窗口,分别连接ttyUSB0和ttyUSB1,在一个窗口中输入信息,则另一个窗口就输出所输入的信息:

4.7.2 两个模块通过RS232传输

注意:LoRa模块能否实现与扩展板的RS232、RS485接口数据传输,依赖于LoRa模块本身是否具备该功能,本扩展板的RS232、RS485接口适配于E22 400T30E LoRa模块。

将RS232_A、RS232_B各自通过USB转RS232模块分别连接到PC。

然后在这两个接口之间进行数据收发,结果如下:

说明两个本身相互独立的RS232接口,现在通过两个LoRa模块建立了传输通道,相互之间可以传输数据。

4.7.3 两个模块通过RS485传输

将RS485_A、RS485_B各自通过USB转RS485模块分别连接到PC。

然后在这两个接口之间进行数据收发,结果如下:

说明两个本身相互独立的RS485接口,现在通过两个LoRa模块建立了传输通道,相互之间可以传输数据。

4.7.4 单个模块传输

若要LoRa模块与RS232、RS485接口进行电平转换,则需搭配USB转RS232、RS485模块将LoRa模块与PC进行连接。下方的RS232_A、RS485_A接口对应右侧的4G_A接口(ttyUSB1)。

将RS232_A与PC端通过USB转RS232模块连接,然后通过串口工具分别在树莓派端和PC端互相收发数据:

2007_CM4_LoRa_4G_72.jpg

树莓派端/PC端:

将RS485_A与PC端通过USB转RS485模块连接,然后通过串口工具分别在树莓派端和PC端互相收发数据:

2007_CM4_LoRa_4G_73.jpg

树莓派端/PC端:

上方的RS232_B、RS485_B接口对应左侧的4G_B接口(ttyUSB0)。

将RS232_B与PC端通过USB转RS232模块连接,然后通过串口工具分别在树莓派端和PC端互相收发数据:

树莓派端/PC端:

将RS485_B与PC端通过USB转RS485模块连接,然后通过串口工具分别在树莓派端和PC端互相收发数据:

树莓派端/PC端:

4.8 测试4G模块(免驱)

2007_CM4_LoRa_4G_69.jpg

4.8.1 单4G测试

本扩展板MiniPCIe接口支持4G模块,免驱,即插即用,自动识别,我们测试用高通4G LTE模块,4G模组和SIM对应如上图,M0和M1均无短路帽。

注意:本扩展板不支持SIM卡热插拔。

启动系统,执行ifconfig -a,查看4G模块的网络状态,可见已经正确获得了IP:

2007_CM4_LoRa_4G_30.jpg

获得IP后ping外网地址:

2007_CM4_LoRa_4G_31.jpg

4.8.2 使用AT命令

在树莓派终端中执行lsusb,红框处即为4G模块:

2007_CM4_LoRa_4G_29.jpg

本模块的ID为05c6 90b6,记录下这个ID值。

使用下列命令打开ttyUSB串口,其中echo后面的值就是之前记录的ID值:

sudo modprobe option

sudo sh -c 'echo 05c6 90b6 > /sys/bus/usb-serial/drivers/option1/new_id'

2007_CM4_LoRa_4G_36.jpg

执行上述两条命令之后执行:

ls /dev

此时应该能看到dev设备下有ttyUSB0-3两个设备:

2007_CM4_LoRa_4G_35.jpg

通过minicom打开AT命令串口:

sudo minicom -D /dev/ttyUSB0

(注意:使用哪个串口,应以在进入此串口后,可输入运行AT命令,显示不乱码,不乱跳结果为准)

下面以minicom为例,如果需要查看回显,请键入命令:ate1,然后回车,继续键入其它命令,回车可以看到结果。

2007_CM4_LoRa_4G_34.jpg

如果需要将4G模块的IP改为直接获取公网IP,请执行:

AT+GTIPPASS=1

常用AT命令:

1. 检查SIM卡是否识别到:

at+cpin?

返回ready表示卡已识别,返回error要检查硬件

2. 检查天线信号质量:

at+csq

返回值在26-31表示信号OK,信号满格31;返回值在20-25表示信号勉勉强强;返回值在20以下表示信号比较糟糕或者天线没接

3. 检查注网情况:

at+cops?

正常应该返回运营商代码和7,7代表4G。

注意,以上命令只有at+csq不要加问号,另外两条命令需要加问号。

4. 查看4G模块的IMEI码:

at+cgsn

5. 重启4G模块(有时候如果重插SIM卡,热插拔不一定管用,可以用这个reset命令来复位模块):

at+reset

6. 关闭射频:

at+cfun=0

开启射频:

at+cfun=1

上述两条命令成对使用,可以在不重启4G模组的情况下让模组重新注网。

4.8.3 双4G测试

这里使用高通4G LTE和ZTE CAT4 4G。

若同时插入两个4G模块,识别情况如下:

2007_CM4_LoRa_4G_32.jpg

第一个模块为ZTE CAT4,第二个模块为高通4G LTE。

执行ifconfig -a,查看4G模块的网络状态,可见已经正确获得了IP,其中eth1为ZTE CAT4,usb0为高通4G LTE:

2007_CM4_LoRa_4G_52.jpg

分别测试通过这两个4G模块ping外网地址:

ping www.mcuzone.com -I eth1

ping www.mcuzone.com -I usb0

2007_CM4_LoRa_4G_53.jpg

若要在双4G下使用AT命令,请参照上一节,使用对应模块的ID值打开相应的串口进行操作。

4.9 应用(远程控制)

本节介绍扩展板分别接4G和LoRa模块,如何使用远程控制软件,远程控制成功后能控制LoRa模块。

4.9.1 Raspberry Pi Connect的远程控制

Raspberry Pi Connect是树莓派官方出品的远程控制软件,同时支持远程桌面和远程SSH,详情请参阅下列链接:

使用Raspberry Pi Connect远程控制树莓派OS

4.9.2 VNC软件的远程控制

在VNC官网下载对应的Windows版本,下载地址:https://manage.realvnc.com/en/download

选择Windows版本:

2007_CM4_LoRa_4G_37.jpg

下载完毕后安装VNC软件,一路默认即可:

2007_CM4_LoRa_4G_38.jpg

安装完毕后注册新用户(新注册的免费用户可以试用半个月,如果有账号请直接登录):

2007_CM4_LoRa_4G_39.jpg

填写相关信息后进行注册:

2007_CM4_LoRa_4G_40.jpg

注册成功后,在弹出的窗口中记录下这个VNC Password,然后点击“Lanuch”:

2007_CM4_LoRa_4G_41.jpg

这样就进入了VNC的主界面了:

2007_CM4_LoRa_4G_42.jpg

启动树莓派系统,进入树莓派OS桌面,点击左上角树莓派标志—Preferences—Raspberry Pi Configuration—Interfaces

将VNC打开,如图所示:

2007_CM4_LoRa_4G_43.jpg

在PC端的VNC窗口中,点击菜单“Files - New connection...”:

2007_CM4_LoRa_4G_44.jpg

输入树莓派OS的IP,自定义一个Name,然后点击“OK”:

2007_CM4_LoRa_4G_45.jpg

回到VNC窗口,点击刚才建立的新连接:

2007_CM4_LoRa_4G_46.jpg

点击“Continue”

2007_CM4_LoRa_4G_47.jpg

输入树莓派OS的用户名和密码:

2007_CM4_LoRa_4G_48.jpg

这样,我们就进入了树莓派OS的桌面,可以在此远程控制树莓派OS,即可以在这个远程界面中,对LoRa模块进行本章以上各节所述的操作:

2007_CM4_LoRa_4G_49.jpg

联系我们

4f7e81daf8791971.jpg 79c020da7ad0af9b.jpg 2851e01a0549e6f7.gif 0003_bb.jpg 0005_qq.jpg QQ:8204136

邮件:mcuzone@vip.qq.com

电话:13957118045

如本页面有任何疏漏、错误或者侵权,请通过上述途径联系我们,谢谢!

Copyright 2004-2025 野芯科技

T