跳转到内容

2007 CM4 LoRa and 4G

来自Mcuzone Wiki

Change the language to English

关键词

树莓派、Raspberry Pi、LoRa、CM4核心板、4G LTE、NVMe SSD、RPiOS、E22

一、简介

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

树莓派CM4和LoRa是通过USB口通讯,若LoRa自身还有RS485、RS232、UART接口,均已板载引出,可以单独使用。

扩展板支持MiniPCIe接口的4G模组,我司提供配套的4G模组均可免驱免拨号,自动识别,无需额外装驱动。

二、硬件资源

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接口;

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的烧写,也可以用于扩展板供电,5V3A;

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

我司提供的4G型号有:(国产芯片方案)CAT4 4G和ZTE CAT4 4G;(高通方案)高通4G-GPS版本;以及移远EC20-GPS简版(有发短信功能)。

0030_MP4GM_21.jpg

4G型号 4G LED灯状态
CAT4 4G 闪烁状态为1.8秒亮0.2秒灭(也可以通过亮的时间比灭的时间长来判断)表示4G模组已经联网。

闪烁状态是1.8秒灭0.2秒亮,说明SIM卡或者网络有问题,请检查SIM卡和天线。

高通4G 闪烁状态为慢闪,中间有短暂快闪,表示4G模组已经联网;否则说明SIM卡或者网络有问题,请检查SIM卡和天线。
ZTE CAT4 4G 闪烁状态快闪,表示4G模组已经联网;否则说明SIM卡或者网络有问题,请检查SIM卡和天线。
EC20 闪烁状态为长亮短灭,表示4G模组已经联网;否则说明SIM卡或者网络有问题,请检查SIM卡和天线。


4G模组的天线接法说明,适合本文档测试的所有4G模组(GPS/GNSS为选配):

三、系统烧写

本文档采用树莓派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数据线将扩展板连接至电脑。

2007_CM4_LoRa_4G_66.jpg

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

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

四、树莓派OS的操作

4.1 外设测试

4.1.1 千兆以太网测试

将千兆以太网接上级路由器,系统会自动获取IP,打开终端,运行ifconfig,查看ip地址:

2007_CM4_LoRa_4G_81.jpg

安装测速软件iperf3:

sudo apt install iperf3

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

千兆以太网测速结果,Client模式为943Mbps左右:

Server模式为949Mbps左右:

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

4.1.2 NVMe SSD测试

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

在树莓派OS中,进入File Manager,然后对SSD分区进行授权:

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

安装硬盘测速软件hdparm:

sudo apt install hdparm

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

sudo hdparm -t /dev/nvme0n1p1

可见SSD硬盘的接口速度约为350MB/s左右,约等于2.8Gbps。

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

4.1.3 DSI测试

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

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

sudo nano /boot/firmware/config.txt

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

dtoverlay=vc4-kms-dsi-7inch

2007_CM4_LoRa_4G_08.jpg

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

4.1.4 CSI测试

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

sudo nano /boot/firmware/config.txt

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

dtoverlay=ov5647,cam1

2007_CM4_LoRa_4G_10.jpg

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

重启后在终端中输入:

ls /dev

即可看到video0设备:

在终端中输入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.1.5 USB2.0测试

系统启动后,将USB设备插入两个USB2.0接口,如图:

在树莓派终端中执行lsusb,显示如下:

识别都正常,如果USB口上没有外接设备,对应的设备编号都不会出现。

随后输入lsusb -t查看USB口的工作模式是否正常:

Bus 05:USB 2.0接口,480M。

工作模式正常。

4.1.6 RTC(DS1307)测试

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

先将I2C打开:

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

然后编辑config.txt:

sudo nano /boot/firmware/config.txt

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

dtoverlay=i2c-rtc,ds1307

2007_CM4_LoRa_4G_16.jpg

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

5012_CM5_SSD_14.jpg

显示当前系统时间的命令是date

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

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

如下图所示:

5011_CM5_UART_16.jpg

如果未正确接上了RTC电池,则断电后重新启动会恢复到默认时间(1970年1月1日),如下图所示:

5009_CM5_3ETH_14.jpg

4.2 LoRa测试

使用LoRa时,必须将M0和M1用短路帽短路,即可激活LoRa模块。我们选择的LoRa型号为E22 400T30E,此模块是USB通讯,同时还具有RS485/RS232/TTL电平这三种通讯接口。

E22 400T30E LoRa模块厂家测试数据:

模块射频及硬件参数:

参数名称 参数值 备注
工作频段 410.125 - 493.12MHz
发射功率 30dBm 软件可调,需用户自行开发设置
接受灵敏度 -124dBm 空中速率2.4 kbps
FIFO 240Byte 可通过指令设置分包32/64/128/240字节发送
调制方式 LoRa 新一代 LoRa调制技术
空中速率 2.4k - 62.5kbps 用户编程控制
实测距离 10km 晴朗空旷环境,天线增益5dBi,天线高度2.5米,空中速率2.4kbps
天线形式 1代IPEX 等效阻抗约50欧姆

模块电气参数:

电气参数 最小值 典型值 最大值 备注
电源电压(V) 3.3 5.0 5.5 ≥5.0V可保证输出功率,超过5.5V永久烧毁模块
通信电平(V) 3.3 使用5V TTL建议加电平转换
发射电流(mA) 650 瞬时功耗
接收电流(mA) 17
休眠电流(mA) 2 软件关断
工作温度(℃) -40 20 85 工业级设计
工作湿度(%) 10 60 90
储存温度(℃) -40 20 125

注意:通信接口为USB时,工作电压为3.7 - 5.5V。

本扩展板也支持E22 230T30E、E22230T33E、E22 400T33E等型号的LoRa模块。

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

本文通过配置两路模块为透传模式进行演示。

2个LoRa模块组装好后,上电启动系统。

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

安装图形化串口软件CuteCom:

sudo apt install cutecom

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

4.2.2 两个模块通过RS232传输数据

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

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

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

4.2.3 两个模块通过RS485传输数据

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

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

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

4.2.4 两块扩展板通过LoRa及串口传输数据

两块扩展板,各自安装一个LoRa模块(需要接天线),然后将这两块扩展板的串口各自通过串口转换器连接一台PC,并且两个扩展板各自上电(不需要插CM4),如图所示:

我们演示扩展板1的RS485_B与PC1通过USB转RS485模块连接,扩展板2的RS232_B与PC2通过USB转RS232模块连接,用串口工具分别在两台PC上互相收发数据:

PC1端/PC2端:

可见两个LoRa模块通过各自的RS485/RS232接口在相互之间收发信息,此时两个LoRa模块与CM4核心板无关,扩展板只是给模块提供了电源输入。

扩展板上导出了RS485/RS232/TTL接口,我们可以在两块扩展板上任意各选择一个接口,然后通过该接口,在两个LoRa模块之间收发信息。

4.3 测试4G模组

4.3.1 单4G测试

我们测试用高通4G LTE模块,4G模组和SIM对应如图。

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

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

获得IP后ping域名:

我们ping域名成功,说明4G模组工作正常。

▶ 使用EC20 4G模组时,可能会遇到系统能ping通IP,但ping域名联网失败,报DNS的错误:

3012_CM4_5G_Mini_16.jpg

此时系统需要安装DNS切换软件udhcpc。

将扩展板的网口连到上级路由器,然后在树莓派终端中执行:

sudo apt install udhcpc

1005_Zero-DETH_DUSB_55.jpg

安装完毕后,拔掉网线,执行:

sudo udhcpc -i usb0

执行完毕后我们再ping IP和域名,即可成功。

4.3.2 使用AT命令

安装minicom工具,在树莓派终端中执行:

sudo apt install minicom

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

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

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

sudo modprobe option

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

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

ls /dev

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

通过minicom打开AT命令串口:

sudo minicom -D /dev/ttyUSB0

(注意,典型情况下会出现ttyUSB0-2三个端口,一般系统下AT口是ttyUSB0,如果不行,可以尝试其它端口如ttyUSB1。如果有多个USB转串口设备,则需要进一步的尝试直至找到正确的AT端口。)

第一次输入AT命令可能没有回显,此时如果输入命令at后回车,有返回OK,就说明工作正常。如果需要查看回显,请键入命令:ate1,然后回车,继续键入其它命令,就可以看到输入。

如果需要将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模组的情况下让模组重新注网。

7. APN设置

普通手机SIM卡,不需要任何设置,直接使用;有些物联网卡需要设置APN才能使用,以下是用户使用提供的参考,具体的APN代码需要SIM卡运营商提供。

移动卡:

AT+CPNETAPN=0,"cmnet","",""

电信卡:

AT+CPNETAPN=0,"ctnet","",""

4.3.3 双4G测试

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

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

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

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

分别测试通过这两个4G模块ping域名:

ping www.mcuzone.com -I eth1

ping www.mcuzone.com -I usb0

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

4.4 应用(远程控制)

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

4.4.1 Raspberry Pi Connect的远程控制

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

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

远程控制成功后,即可以在远程界面中,对LoRa模块进行本章以上各节所述的操作。

4.4.2 VNC软件的远程控制

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

选择Windows版本:

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

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

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

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

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

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

将VNC选项打开,如图所示:

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

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

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

点击“Continue”:

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

这样,我们就进入了树莓派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 野芯科技