2007 CM4 LoRa 4G(LoRa及4G接口):修订间差异

来自Mcuzone Wiki
 
(未显示2个用户的53个中间版本)
第1行: 第1行:
== '''关键词''' ==
== '''关键词''' ==
树莓派、Raspberry Pi、LoRa、CM4核心板、系统烧写、4G、SSD、RPiOS、RS232、RS485
树莓派、Raspberry Pi、LoRa、CM4核心板、系统烧写、4G LTE、SSD、RPiOS


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


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


3. 一路支持4K分辨率的标准HDMI口;
3. 两路USB2.0的MiniPCIE接口,支持LoRa模块,也支持4G LTE模块;


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


5. 一路内置1.25mm 4Pin USB2.0接口;
5. 一路RTC,DS1307,1.5mm-2p接口;


6. 一路USB-C烧写口;
6. 一路标准HDMI口,支持4K分辨率的;


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


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


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


10. 两路RS485接口;
11. 预留SMA天线座;


11. 两路Nano SIM卡接口;
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。


12. TF卡座;


40pin引脚定义从左到右依次为:
40pin引脚定义从左到右依次为:
第76行: 第83行:


== '''三、系统烧写及设置''' ==
== '''三、系统烧写及设置''' ==
=== 3.1 概述 ===
本文档采用树莓派OS进行测试。
本文档采用树莓派OS进行测试。


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


=== 3.2 从TF卡启动 ===
=== 3.1 TF卡烧写 ===
如果核心板没有eMMC,则系统将从TF卡启动。
如果核心板没有eMMC,则系统可从TF卡启动或NVME SSD启动。此处介绍从TF卡启动系统。


==== 3.2.1 使用树莓派镜像烧录器烧写 ====
==== 3.1.1 使用树莓派镜像烧录器烧写 ====
首先在Windows端安装树莓派镜像烧录器,下载地址:https://www.raspberrypi.com/software/
首先在Windows端安装树莓派镜像烧录器,下载地址:https://www.raspberrypi.com/software/


第112行: 第117行:
以上介绍的是烧写树莓派OS,烧写Ubuntu系统或者OpenWrt系统也是用类似的操作,只是在“请选择需要写入的操作系统”时,需要选择Use Custom,然后选择预先下载的镜像即可。
以上介绍的是烧写树莓派OS,烧写Ubuntu系统或者OpenWrt系统也是用类似的操作,只是在“请选择需要写入的操作系统”时,需要选择Use Custom,然后选择预先下载的镜像即可。


==== 3.2.2 使用balenaEtcher烧写 ====
==== 3.1.2 使用balenaEtcher烧写 ====
首先在Windows端安装balenaEtcher,下载地址:https://etcher.balena.io/#download-etcher
首先在Windows端安装balenaEtcher,下载地址:https://etcher.balena.io/#download-etcher


第125行: 第130行:
http://www.mcuzone.com/wiki/0005_MPS2242_2280/0005_MPS2242_2280_05.jpg
http://www.mcuzone.com/wiki/0005_MPS2242_2280/0005_MPS2242_2280_05.jpg


==== 3.2.3 启动系统 ====
烧写完成后,将TF卡从读卡器中取下,塞进扩展板的TF卡卡槽,上电后即可进入系统。
将TF卡从读卡器中取下,塞进树莓派开发版的TF卡卡槽,上电后即可进入系统。
 
=== 3.2 SSD硬盘启动 ===
核心板无eMMC,板载原生PCIe的 NVMe SSD,可实现从硬盘启动系统(核心板带eMMC的,不支持从硬盘启动系统)。
 
硬盘烧写系统的方法和TF卡烧写一样。
 
2020年5月以后的树莓派CM4固件均已支持从SSD启动系统,如果需要查看固件版本,请在树莓派终端中执行:
 
<code>vcgencmd bootloader_version</code>
 
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_59.jpg
 
如果固件日期在2020年5月之前,请按[[0003 MPS2280D(双SSD扩展板)#3.1.3 更新树莓派固件和内核|此步骤]]进行升级。
 
将SSD插入一个M.2(PCIe NVMe协议)转USB读卡器,将其接到PC上,使用与在TF卡上烧写镜像同样的方法烧写系统镜像到SSD,然后将SSD取下,插回扩展板,取下原本用来启动系统的TF卡并上电启动系统即可。
 
如果需要自定义启动顺序,请打开树莓派OS的终端,输入<code>sudo rpi-eeprom-config --edit</code>,找到BOOT_ORDER一行:
 
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_60.jpg
 
按照下列启动顺序的说明进行修改:
 
http://www.mcuzone.com/wiki/0002_MPS2280iPoE/MPS2280iPoE_24.png
 
即图示的BOOT_ORDER=0xf25641表示启动顺序为SD(TF)卡、USB-MSD、NVMe(SSD)、BCM-USB-MSD、网卡,大家可以按照自己的需求设置启动顺序。
 
然后保存退出并重启。


=== 3.3. 从eMMC启动 ===
'''''注意1:树莓派CM4只支持NVME SSD,不支持SATA SSD和NGFF SSD;'''''
 
'''''注意2:优先级最高的启动设备,数字排在最后面,即越靠后的数字,优先级越高。'''''
 
'''''注意3:这个文件编辑后保存在CM4核心板的EEPRom中,因此如果不更换CM4核心板,只是更换系统的话,是不需要再次编辑的。'''''
 
=== 3.3 eMMC烧写 ===
如果核心板具有板载eMMC,则系统将会忽略TF卡,而从eMMC启动。
如果核心板具有板载eMMC,则系统将会忽略TF卡,而从eMMC启动。


第135行: 第172行:
http://www.mcuzone.com/down/Software.asp?ID=10000623
http://www.mcuzone.com/down/Software.asp?ID=10000623


安装后使用跳线帽短接扩展板BOOT脚(在CM4核心板下面)。
安装后使用跳线帽短接扩展板BOOT脚(在CM4核心板下面,即使用跳线帽将两个针脚连接起来)。


使用'''''USB Type A-C数据线'''''将扩展板上的USB OTG接口(即扩展板的两个USB-A口之间的USB Type-C口)连接至电脑。
使用'''''USB Type A-C数据线'''''将扩展板上的USB OTG接口(即扩展板的两个USB-A口之间的USB Type-C口)连接至电脑。
第141行: 第178行:
连接上电脑之后,打开计算机的设备管理器,查看是否有新的USB设备出现。在下图中的是名称为“BCM2711 Boot”的USB设备:
连接上电脑之后,打开计算机的设备管理器,查看是否有新的USB设备出现。在下图中的是名称为“BCM2711 Boot”的USB设备:


http://www.mcuzone.com/wiki/2001_CM4_Ultra/2001_CM4_Ultra_65.jpg
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_63.jpg


PC的开始菜单的所有程序下,Raspberry Pi下面有个rpiboot:
PC的开始菜单的所有程序下,Raspberry Pi下面有个rpiboot:
第159行: 第196行:
打开balenaEtcher软件,第一项点击“从文件烧录”,选择你要烧录到eMMC的文件,第二项选择上面的那个bootfs分区,然后点击“现在烧录”,就开始烧录文件了:
打开balenaEtcher软件,第一项点击“从文件烧录”,选择你要烧录到eMMC的文件,第二项选择上面的那个bootfs分区,然后点击“现在烧录”,就开始烧录文件了:


http://www.mcuzone.com/wiki/2001_CM4_Ultra/2001_CM4_Ultra_69.jpg
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_61.jpg


http://www.mcuzone.com/wiki/2001_CM4_Ultra/2001_CM4_Ultra_70.jpg
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_62.jpg


等烧写完成后,将之前插上的跳线帽拔下来,然后重新给系统上电,待系统启动即可。
等烧写完成后,将之前插上的跳线帽拔下来,然后重新给系统上电,待系统启动即可。


== '''四、树莓派OS下的硬件测试''' ==
== '''四、树莓派OS的操作''' ==


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


=== 4.2 PCIe M-KEY测试(SSD测试) ===
=== 4.2 NVME SSD测试 ===
关闭扩展板电源,将SSD安装好后重新上电(接口在扩展板背后)。
前面3.2章节我们提到了SSD做系统启动用,这里SSD测试作为数据存储用。
 
请先将SSD安装好后再上电(接口在扩展板背后)。


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


保存后重启系统,即可使用树莓派官方7寸触摸屏。
保存后重启系统,即可使用树莓派官方7寸触摸屏。
'''''注意:这条语句实际上开启了第二块显示屏,即双屏显示,无论第二块屏的硬件是否安装,在某些软件如全屏截图(PrtScn)中都会显示双屏,如果不需要使用这块屏,建议在config.txt中把这条语句去掉。'''''


=== 4.4 CSI测试 ===
=== 4.4 CSI测试 ===
第276行: 第317行:
两处红框表示USB2.0hub已正常识别,并且U盘工作在480M下,因此USB2.0工作模式也正常。
两处红框表示USB2.0hub已正常识别,并且U盘工作在480M下,因此USB2.0工作模式也正常。


=== 4.6  RTC(DS1307)配置 ===
=== 4.6  RTC(DS1307)测试 ===
本扩展板使用DS1307作为RTC芯片。配置RTC之前,我们需要先将I2C打开:
'''''注意:RTC芯片需要外接电池(电池接口在CM4核心板下面,BOOT脚右边,1.5mm-2p接口)才能保持数据不会丢失。'''''


左上角树莓派标志—Preferences—Raspberry Pi Configuration—Interfaces
先将I2C打开:


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


http://www.mcuzone.com/wiki/3003_21700_5V5A_PD/3003_21700_5V5A_PD_07.jpg
http://www.mcuzone.com/wiki/3003_21700_5V5A_PD/3003_21700_5V5A_PD_07.jpg
第307行: 第348行:
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_18.jpg
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_18.jpg


=== 4.7 LoRa(E22 400T30E)测试 ===
=== 4.7 LoRa测试 ===
我们选择的LoRa型号为 E22 400T30E,使用LoRa时,需要M0和M1用短路帽短路。


==== 4.7.1 两路LoRa模块互传信息 ====
==== 4.7.1 两个模块透传模式 ====
本扩展板拥有两路LoRa接口,本文通过配置两路模块为透传模式进行演示。
本文通过配置两路模块为透传模式进行演示。


将两路LoRa模块安装好,在默认情况下,模块处于休眠模式,将各自模块前的M0、M1通过短路帽分别短接即可激活模块并设置为传输模式,设置完毕后上电启动系统。
将两路LoRa模块安装好(分别插入4G_A接口和4G_B接口),在默认情况下,模块处于休眠模式,将各自模块前的M0、M1通过短路帽分别短接即可激活模块并设置为传输模式,设置完毕后上电启动系统。


输入<code>ls /dev</code>,查看两路串口设备,分别是ttyUSB0和ttyUSB1:
输入<code>ls /dev</code>,查看两路串口设备,分别是ttyUSB0和ttyUSB1:
第318行: 第360行:
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_19.jpg
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_19.jpg


安装串口软件minicom:
安装命令行串口软件minicom:


<code>sudo apt install minicom</code>
<code>sudo apt install minicom</code>


然后打开两个终端窗口,分别运行:
或者图形化串口软件CuteCom:
 
<code>sudo apt install cutecom</code>
 
建议使用CuteCom,图形化界面便于操作。下面以CuteCom为例。
 
打开两个CuteCom窗口,分别连接ttyUSB0和ttyUSB1,在一个窗口中输入信息,则另一个窗口就输出所输入的信息:
 
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_54.jpg
 
==== 4.7.2 两个模块通过RS232传输 ====
'''''注意:LoRa模块能否实现与扩展板的RS232、RS485接口数据传输,依赖于LoRa模块本身是否具备该功能,本扩展板的RS232、RS485接口适配于E22 400T30E LoRa模块。'''''
 
将RS232_A、RS232_B各自通过USB转RS232模块分别连接到PC,然后在这两个接口之间进行数据收发,结果如下:
 
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_50.jpg
 
说明两个本身相互独立的RS232接口,现在通过两个LoRa模块建立了传输通道,相互之间可以传输数据。
 
==== 4.7.3 两个模块通过RS485传输 ====
将RS485_A、RS485_B各自通过USB转RS485模块分别连接到PC,然后在这两个接口之间进行数据收发,结果如下:
 
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_51.jpg
 
说明两个本身相互独立的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端互相收发数据:
 
树莓派端/PC端:
 
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_55.jpg
 
将RS485_A与PC端通过USB转RS485模块连接,然后通过串口工具分别在树莓派端和PC端互相收发数据:
 
树莓派端/PC端:
 
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_56.jpg
 
上方的RS232_B、RS485_B接口对应左侧的4G_B接口(ttyUSB0)。
 
将RS232_B与PC端通过USB转RS232模块连接,然后通过串口工具分别在树莓派端和PC端互相收发数据:
 
树莓派端/PC端:
 
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_57.jpg
 
将RS485_B与PC端通过USB转RS485模块连接,然后通过串口工具分别在树莓派端和PC端互相收发数据:
 
树莓派端/PC端:
 
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_58.jpg
 
=== 4.8 测试4G模块(免驱) ===
 
==== 4.8.1 单4G测试 ====
本扩展板兼容4G模块,本节将测试高通4G LTE模块。
 
'''''注意:本扩展板不支持SIM卡热插拔。'''''
 
将4G模块插入4G_A接口或4G_B接口(如果M0、M1跳线已短接,请取下跳线帽),然后在模块插槽下方的SIM卡槽插入SIM卡,启动系统,在树莓派终端中执行<code>lsusb</code>,红框处即为4G模块:
 
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_29.jpg
 
本模块的ID为05c6 90b6,记录下这个ID值。
 
执行<code>ifconfig -a</code>,查看4G模块的网络状态,可见已经正确获得了IP:
 
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_30.jpg
 
获得IP后ping外网地址:
 
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_31.jpg
 
==== 4.8.2 使用AT命令 ====
使用下列命令打开ttyUSB串口,其中echo后面的值就是之前记录的ID值:
 
<code>sudo modprobe option</code>
 
<code>sudo sh -c 'echo 05c6 90b6 > /sys/bus/usb-serial/drivers/option1/new_id'</code>
 
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_36.jpg
 
执行上述两条命令之后执行:
 
<code>ls /dev</code>
 
此时应该能看到dev设备下有ttyUSB0-3两个设备:
 
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_35.jpg
 
通过minicom打开AT命令串口:


<code>sudo minicom -D /dev/ttyUSB0</code>
<code>sudo minicom -D /dev/ttyUSB0</code>


(注意:使用哪个串口,应以在进入此串口后,可输入运行AT命令,显示不乱码,不乱跳结果为准)
 
下面以minicom为例,如果需要查看回显,请键入命令:<code>ate1</code>,然后回车,继续键入其它命令,回车可以看到结果。
 
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_34.jpg
 
如果需要将4G模块的IP改为直接获取公网IP,请执行:
 
<code>AT+GTIPPASS=1</code>
 
常用AT命令:
 
1. 检查SIM卡是否识别到:
 
<code>at+cpin?</code>
 
返回ready表示卡已识别,返回error要检查硬件
 
2. 检查天线信号质量:
 
<code>at+csq</code>
 
返回值在26-31表示信号OK,信号满格31;返回值在20-25表示信号勉勉强强;返回值在20以下表示信号比较糟糕或者天线没接
 
3. 检查注网情况:
 
<code>at+cops?</code>
 
正常应该返回运营商代码和7,7代表4G。
 
注意,以上命令只有<code>at+csq</code>不要加问号,另外两条命令需要加问号。
 
4. 查看4G模块的IMEI码:
 
<code>at+cgsn</code>
 
5. 重启4G模块(有时候如果重插SIM卡,热插拔不一定管用,可以用这个reset命令来复位模块):
 
<code>at+reset</code>
 
6. 关闭射频:
 
<code>at+cfun=0</code>
 
开启射频:
 
<code>at+cfun=1</code>
 
上述两条命令成对使用,可以在不重启4G模组的情况下让模组重新注网。
 
==== 4.8.3 双4G测试 ====
这里使用高通4G LTE和ZTE CAT4 4G。
 
若同时插入两个4G模块,识别情况如下:
 
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_32.jpg
 
第一个模块为ZTE CAT4,第二个模块为高通4G LTE。
 
执行<code>ifconfig -a</code>,查看4G模块的网络状态,可见已经正确获得了IP,其中eth1为ZTE CAT4,usb0为高通4G LTE:
 
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_52.jpg
 
分别测试通过这两个4G模块ping外网地址:
 
<code>ping www.mcuzone.com -I eth1</code>
 
<code>ping www.mcuzone.com -I usb0</code>
 
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_53.jpg
 
若要在双4G下使用AT命令,请参照上一节,使用对应模块的ID值打开相应的串口进行操作。
 
=== 4.9 应用(远程控制) ===
本节介绍如何使用远程控制软件,远程控制成功后能控制LoRa模块。
 
扩展板接4G和LoRa模块,并确保4G模块能够正常联网。
 
==== 4.9.1 Raspberry Pi Connect的远程控制 ====
Raspberry Pi Connect是树莓派官方出品的远程控制软件,同时支持远程桌面和远程SSH,详情请参阅下列链接:
 
[[0024 M4GUSB(树莓派5的USB4G)#八、4G应用1(远程连接树莓派)|使用Raspberry Pi Connect远程控制树莓派OS]]
 
==== 4.9.2 VNC软件的远程控制 ====
在VNC官网下载对应的Windows版本,下载地址:https://manage.realvnc.com/en/download
 
选择Windows版本:
 
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_37.jpg
 
下载完毕后安装VNC软件,一路默认即可:
 
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_38.jpg
 
安装完毕后注册新用户(新注册的免费用户可以试用半个月,如果有账号请直接登录):
 
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_39.jpg
 
填写相关信息后进行注册:
 
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_40.jpg
 
注册成功后,在弹出的窗口中记录下这个VNC Password,然后点击“Lanuch”:
 
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_41.jpg
 
这样就进入了VNC的主界面了:
 
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_42.jpg
 
启动树莓派系统,进入树莓派OS桌面,点击左上角树莓派标志—Preferences—Raspberry Pi Configuration—Interfaces
 
将VNC打开,如图所示:
 
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_43.jpg
 
在PC端的VNC窗口中,点击菜单“Files - New connection...”:
 
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_44.jpg
 
输入树莓派OS的IP,自定义一个Name,然后点击“OK”:
 
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_45.jpg
 
回到VNC窗口,点击刚才建立的新连接:
 
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_46.jpg
 
点击“Continue”
 
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_47.jpg
 
输入树莓派OS的用户名和密码:
 
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_48.jpg


<code>sudo minicom -D /dev/ttyUSB1</code>
这样,我们就进入了树莓派OS的桌面,可以在此远程控制树莓派OS:


在一个终端窗口中输入信息,则另一个窗口就输出所输入的信息:
http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_49.jpg


http://www.mcuzone.com/wiki/2007_CM4_LoRa_4G/2007_CM4_LoRa_4G_20.jpg
{{联系我们_图标}}

2024年11月25日 (一) 23:34的最新版本

关键词

树莓派、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。


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

5V 5V GND G14 G15 G18 GND G23 G24 GND G25 G08 G07 IDSC GND G12 GND G16 G20 G21
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

3.1 TF卡烧写

如果核心板没有eMMC,则系统可从TF卡启动或NVME SSD启动。此处介绍从TF卡启动系统。

3.1.1 使用树莓派镜像烧录器烧写

首先在Windows端安装树莓派镜像烧录器,下载地址:https://www.raspberrypi.com/software/

安装完毕后将TF卡插入读卡器,读卡器插入PC的USB口,然后打开软件:

Raspberry Pi Device:选择Raspberry Pi 4;

请选择需要写入的操作系统:选择Raspberry Pi OS(64-bit),为从树莓派官网下载系统镜像烧写(需联网);选择Use Custom,则需要自行选择硬盘上已经下载的系统镜像(无需联网);

储存卡:选择所需烧入的TF卡(即插在PC的USB接口的卡);

0005_MPS2242_2280_01.jpg

选择完毕后按“NEXT”,建议点击“编辑设置”,将一些参数预设置进烧写软件,之后在系统启动时就不必再次设置,便于使用。

0005_MPS2242_2280_02.jpg

0005_MPS2242_2280_03.jpg

需要使用预设置的按“是”,不需要使用预设置的按“不”,进入下一页,点击“是”,就开始烧写及验证完整性,烧写完毕后按提示取下卡即可。

0005_MPS2242_2280_04.jpg

以上介绍的是烧写树莓派OS,烧写Ubuntu系统或者OpenWrt系统也是用类似的操作,只是在“请选择需要写入的操作系统”时,需要选择Use Custom,然后选择预先下载的镜像即可。

3.1.2 使用balenaEtcher烧写

首先在Windows端安装balenaEtcher,下载地址:https://etcher.balena.io/#download-etcher

将TF卡插入读卡器,读卡器插入PC的USB口,然后打开软件:

从文件烧录:选择预先下载的树莓派OS或者Ubuntu系统镜像;

选择目标磁盘:选择所需烧入的TF卡(即插在PC的USB接口的卡);

然后点击“现在烧录!”,就开始烧录了,等待烧录完毕即可。

0005_MPS2242_2280_05.jpg

烧写完成后,将TF卡从读卡器中取下,塞进扩展板的TF卡卡槽,上电后即可进入系统。

3.2 SSD硬盘启动

核心板无eMMC,板载原生PCIe的 NVMe SSD,可实现从硬盘启动系统(核心板带eMMC的,不支持从硬盘启动系统)。

硬盘烧写系统的方法和TF卡烧写一样。

2020年5月以后的树莓派CM4固件均已支持从SSD启动系统,如果需要查看固件版本,请在树莓派终端中执行:

vcgencmd bootloader_version

2007_CM4_LoRa_4G_59.jpg

如果固件日期在2020年5月之前,请按此步骤进行升级。

将SSD插入一个M.2(PCIe NVMe协议)转USB读卡器,将其接到PC上,使用与在TF卡上烧写镜像同样的方法烧写系统镜像到SSD,然后将SSD取下,插回扩展板,取下原本用来启动系统的TF卡并上电启动系统即可。

如果需要自定义启动顺序,请打开树莓派OS的终端,输入sudo rpi-eeprom-config --edit,找到BOOT_ORDER一行:

2007_CM4_LoRa_4G_60.jpg

按照下列启动顺序的说明进行修改:

MPS2280iPoE_24.png

即图示的BOOT_ORDER=0xf25641表示启动顺序为SD(TF)卡、USB-MSD、NVMe(SSD)、BCM-USB-MSD、网卡,大家可以按照自己的需求设置启动顺序。

然后保存退出并重启。

注意1:树莓派CM4只支持NVME SSD,不支持SATA SSD和NGFF SSD;

注意2:优先级最高的启动设备,数字排在最后面,即越靠后的数字,优先级越高。

注意3:这个文件编辑后保存在CM4核心板的EEPRom中,因此如果不更换CM4核心板,只是更换系统的话,是不需要再次编辑的。

3.3 eMMC烧写

如果核心板具有板载eMMC,则系统将会忽略TF卡,而从eMMC启动。

要烧写系统到eMMC,首先需要在PC上安装驱动包,下载地址:

http://www.mcuzone.com/down/Software.asp?ID=10000623

安装后使用跳线帽短接扩展板BOOT脚(在CM4核心板下面,即使用跳线帽将两个针脚连接起来)。

使用USB Type A-C数据线将扩展板上的USB OTG接口(即扩展板的两个USB-A口之间的USB Type-C口)连接至电脑。

连接上电脑之后,打开计算机的设备管理器,查看是否有新的USB设备出现。在下图中的是名称为“BCM2711 Boot”的USB设备:

2007_CM4_LoRa_4G_63.jpg

PC的开始菜单的所有程序下,Raspberry Pi下面有个rpiboot:

2001_CM4_Ultra_66.jpg

打开这个软件,计算机会将eMMC或者TF卡格式化并分区:

2001_CM4_Ultra_68.jpg

稍等片刻,在资源管理器中会出现一个分区(本例中的分区名为bootfs,具体名称视实际情况而不同):

2001_CM4_Ultra_67.jpg

接下来我们就可以使用balenaEtcher软件对这个分区进行烧写了。

打开balenaEtcher软件,第一项点击“从文件烧录”,选择你要烧录到eMMC的文件,第二项选择上面的那个bootfs分区,然后点击“现在烧录”,就开始烧录文件了:

2007_CM4_LoRa_4G_61.jpg

2007_CM4_LoRa_4G_62.jpg

等烧写完成后,将之前插上的跳线帽拔下来,然后重新给系统上电,待系统启动即可。

四、树莓派OS的操作

4.1 原生千兆网口测试

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

2007_CM4_LoRa_4G_01.jpg

可见获取的ip地址为192.168.8.101。

为了操作方便,建议使用PC端的SSH软件连接系统并进行终端操作,我们使用与树莓派的无线网卡的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测试

前面3.2章节我们提到了SSD做系统启动用,这里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排线,将树莓派官方的7寸触摸屏与扩展板上的DSI接口相连接,然后用一根Micro-USB线给触摸屏供电,注意,树莓派触摸屏不用Micro线独立供电的话是无法使用的,切勿忘记。

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

sudo nano /boot/firmware/config.txt

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

dtoverlay=vc4-kms-dsi-7inch

2007_CM4_LoRa_4G_08.jpg

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

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

4.4 CSI测试

首先将摄像头连接到扩展板的CSI1接口(本文档使用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查看USB2.0hub是否正常识别,随后输入lsusb -t查看USB2.0工作模式是否正常:

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用短路帽短路。

4.7.1 两个模块透传模式

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

将两路LoRa模块安装好(分别插入4G_A接口和4G_B接口),在默认情况下,模块处于休眠模式,将各自模块前的M0、M1通过短路帽分别短接即可激活模块并设置为传输模式,设置完毕后上电启动系统。

输入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,在一个窗口中输入信息,则另一个窗口就输出所输入的信息:

2007_CM4_LoRa_4G_54.jpg

4.7.2 两个模块通过RS232传输

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

将RS232_A、RS232_B各自通过USB转RS232模块分别连接到PC,然后在这两个接口之间进行数据收发,结果如下:

2007_CM4_LoRa_4G_50.jpg

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

4.7.3 两个模块通过RS485传输

将RS485_A、RS485_B各自通过USB转RS485模块分别连接到PC,然后在这两个接口之间进行数据收发,结果如下:

2007_CM4_LoRa_4G_51.jpg

说明两个本身相互独立的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端互相收发数据:

树莓派端/PC端:

2007_CM4_LoRa_4G_55.jpg

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

树莓派端/PC端:

2007_CM4_LoRa_4G_56.jpg

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

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

树莓派端/PC端:

2007_CM4_LoRa_4G_57.jpg

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

树莓派端/PC端:

2007_CM4_LoRa_4G_58.jpg

4.8 测试4G模块(免驱)

4.8.1 单4G测试

本扩展板兼容4G模块,本节将测试高通4G LTE模块。

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

将4G模块插入4G_A接口或4G_B接口(如果M0、M1跳线已短接,请取下跳线帽),然后在模块插槽下方的SIM卡槽插入SIM卡,启动系统,在树莓派终端中执行lsusb,红框处即为4G模块:

2007_CM4_LoRa_4G_29.jpg

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

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

2007_CM4_LoRa_4G_30.jpg

获得IP后ping外网地址:

2007_CM4_LoRa_4G_31.jpg

4.8.2 使用AT命令

使用下列命令打开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 应用(远程控制)

本节介绍如何使用远程控制软件,远程控制成功后能控制LoRa模块。

扩展板接4G和LoRa模块,并确保4G模块能够正常联网。

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:

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-2024 野芯科技