Compute Module PoE 4G Board
| |||||||||||||||||||||||||
| |||||||||||||||||||||||||
Compute Module PoE 4G Board是一款基于树莓派计算模块设计的工业级主机,支持全球通4G/3G/2G蜂窝、PoE以太网和WiFi等网络通信方式,扩展了多种工业隔离型接口资源(比如:CAN,RS485,RS232,ADC,GPIO等等),功能强大,适用于各种工业物联网应用。
特点
- 兼容树莓派主板CM3 / CM3 Lite / CM3+ / CM3+ Lite
- 板载 SIM7600X 模块,支持4G/3G/2G,全球通用 (通过板载SIM卡插槽)
- 板载 10/100M自适应以太网口,支持PoE以太网供电,RJ45接口
- 板载 WIFI网卡 支持2.4GHz WIFI联网
- 板载 1 × ADC ,接线端子,带隔离,16位,860SPS
- 板载 4 × GPIO,接线端子,带隔离,2路作为隔离输入,2路作为隔离输出
- 板载 1 × RS232,DR9公口,带隔离,带TVS管保护,浪涌和静电保护
- 板载 1 × RS485,接线端子,带隔离,提供600W防雷、浪涌和15KV静电保护,可设置120Ω终端电阻
- 板载 1 × CAN ,接线端子,带隔离,防静电和防静电,可设置120Ω终端电阻
- 板载 USB HUB,方便接入更多的 USB 设备
- 板载 USB TO UART,方便进行串口调试
- 板载音频接口:1 × 3.5mm音频接口,立体声输出
- 板载喇叭接口:1 × 4PIN喇叭接口,可外接8欧5W喇叭
- 板载 RTC,内部带有温度传感器,这是常用的功能之一
- 板载 2路CSI摄像头接口,方便接入摄像头
- 板载 HDMI、DSI接口,方便接入显示屏
- 工业级铝合金外壳
板载资源
1: Compute Module接口: 可接入Compute Module 3/3 Lite/3+/3+ Lite
2: 10/100M自适应以太网口: 支持PoE以太网供电
3: USB 接口: 可接入各种 USB 设备
4: HDMI 接口: 可接入各种 HDMI 设备
5: 3.5mm 耳机接口
6: 双通道喇叭接口: 可直接接入扬声器
7: USB SLAVE 接口: CM3 和 CM3+ 可通过此接口烧录系统镜像
8: USB TO UART 接口: 方便进行串口调试
9: DC 电源接口: 可接入 7-36V 电源
10: DSI 显示接口: 可接入 Raspberry Pi LCD
11: CSI 摄像头接口: 可接入 Raspberry Pi Camera
12: RTC 实时时钟供电电池座: 需接入可充电锂电池 ML1220
13: 4G 天线接口
14: WiFi 天线接口
15: 隔离 ADC: ADC 差分输入
16: 隔离 5V 电源: 最大输出电流 100mA
17: 隔离 GPIO: 可通过 GPIO 控制或检测设备
18: 隔离 RS485 接口: 可通过 RS485 接口通信
19: 隔离 CAN 接口: 可通过 CAN 接口通信
20: 隔离 RS232 接口: 可通过 232 接口通信
21: SIM 卡槽: 可接入标准 SIM 卡,用于 4G/3G/2G 上网
22: Micro SD 卡槽: 用于接入带系统的 Micro SD 卡,以启动 CM3 Lite / CM3+ Lite
23: SIM7600G-H 模组: 支持 4G/3G/2G 通信和 GNSS 功能
24: WiFi 模组: 可连接 2.4G WiFi
25: 蜂鸣器
26: DS3231: 高精度 RTC 芯片,I2C 接口
27: 树莓派指示灯
ACT:树莓派工作状态指示灯 PWR:树莓派电源指示灯
28: SIM7600G-H 指示灯
NET:网络指示灯 STA:状态指示灯
29: 用户 LED: 便于 I/O 输出测试或显示程序运行状态
30: 串口连接选择
31: 音量调节
32: PoE 使能控制
DIS (禁用 PoE 供电) EN (使能 PoE 供电)
33: 隔离IO逻辑电压选择
34: RS485 CAN 终端电阻选择
镜像烧录前准备
- 在资料界面点击下载rpiboot_setup软件,下载之后,解压并安装rpiboot。注意记住安装目录,
- 如果使用新系统需要注意下文的配置
下载镜像
- 从树莓派官网下载最新的Raspbain镜像,或者在资料中下载我们配置好的镜像文件。
- 将下载下来的压缩包解压,获得.img文件
- 注意:我们配置好的镜像必须要16G内存或者更加高的内存
镜像烧写
在Compute Module PoE 4G Board上,有一个SD卡卡槽,注意这个卡槽是在配合Compute Module 3 Lite (简称CM3L) 和 Compute Module 3+ Lite(简称CM3+L)使用的时候,插入系统卡(SD卡)使用。 如果你使用的是Compute Module 3 (简称CM3)或者Compute Module 3+ (三个版本统称CM3+), 系统是需要烧写到内部EMMC,从EMMC启动的。
烧写镜像到CM3L/CM3+L
- SD卡和读卡器需要另外购买,注意SD卡至少需要8G(建议您购买16G的SD卡)
- 打开烧录工具Win32DiskImager.exe文件(可以在资料界面获取),选择下载下来的树莓派镜像,烧录.(同正常烧写树莓派镜像一致)
- 烧录成功后,把SD卡插到Board的SD卡卡槽接口, CM3卡槽插入CM3L/CM3+L,然后供电即可。
烧写镜像到CM3/CM3+
- 将CM3/CM3+插入 Board中,先用USB线将Board的USB SLAVE 接口连接到PC,然后再供电。
- 在rpiboot_setup的安装目录下,找到rpiboot.exe文件,以管理员身份运行。在成功运行之后,你会发现CM3/CM3+在PC中被识别为一个移动盘。(注意:CM3+第一次使用的时候,可能需要你在PC的磁盘管理中手动做格式化并分配驱动符,才可以在我的电脑中被发现)
- 使用WinDiskImager.exe烧录工具,选择之前下载的树莓派镜像文件,将镜像烧写到EMMC中(即PC识别出来的盘,注意先格式化)
- 烧写完成之后,将USB SLAVE 接口USB接口断开,重新上电即可。
【注意】
- 在镜像烧写过程中,注意PC尽量不要对其他USB存储设备进行写操作,避免出现冲突。由于CM3的EMMC只有4G(最新的CM3+扩大了EMMC容量,可以支持正常的树莓派镜像),所以烧写的镜像大小不可以超过4G。因此,如果你使用的是CM3,建议用Lite版本的镜像,然后再安装完成后,再运行下面的指令安装GUI(注意需要联网,你可能需要连接无线网卡)
sudo apt-get update sudo apt-get install raspberrypi-ui-mods
如果你使用:Compute Module PoE 4G Board 没办法正常烧录程序,请尝试以下步骤:
- 使用WIN10系统进行烧录,多数客户反馈WIN7或linux系统烧录不稳定。
- 确定你的CM3/CM3+版本是否正常,eMMC背面会多一颗IC。只有eMMC版本的,才可以通过当前方式烧录。不带eMMC的,请参考"烧写镜像到Compute Module 3 Lite或Compute Module 3+ Lite"。
- 注意需要接入12V电源适配器。
- 先连接USB数据线,再接入电源
- 更换一条USB数据线。
- 更换一个PC机的USB接口。
- 尝试重启PC机。
- 尝试重新拔插CM3/CM3+。
- 尝试在另一台电脑烧录。
摄像头
只要连接好硬件就可以使用,如果使用的树莓派官方镜像,可能还需要做配置,具体以个人的实际情况为准
摄像头配置使用
官方的Raspbian镜像默认是没有添加官方摄像头和官方7寸屏的配置启动文件。如果你使用官方的Raspbian镜像,需要把官方的dts文件转换为bin文件放入到系统/boot/下。(dts文件示例程序中有提供)
开机之后进入boot目录,执行
转换命令:
cd /boot/ sudo dtc -I dts -O dtb -o /boot/dt-blob.bin dt-blob-disp1-cam2.dts
执行完毕之后重启树莓派即可
其中dt-blob-disp1-cam2.dts是源文件,dt-blob.bin是编译好的文件。
dt-blob-disp1-cam2.dts 可以放在任意位置没有强制要求放在boot目录下。
进入对应目录执行编译指令即可
如果你使用的是我们提供的镜像,相关的文件已经配置好了,无需另外再设置
#显示摄像头,可以分别执行指令: #查看接入的第一个摄像头画面: sudo raspivid -t 0 -cs 0 #查看接入的第二个摄像头画面: sudo raspivid -t 0 -cs 1
其中-cs参数表示接入的是第几个摄像头,但-cs参数表示的摄像头号和板子及外壳丝印并不完全一致(参数-cs表示的是接入的第几个摄像头,若仅接入了一个摄像头到CAM1接口,则查看该摄像头命令的-cs参数为0,以表示接入的第0个摄像头)。
示例程序
使用示例程序的时候,需要连接一个屏幕用户显示,一个键盘用于输入。你也可以连接wifi或者网线,然后远程控制。 如果你使用的是官方的Raspbian镜像,使用示例程序的时候需要先安装bcm2835, wiringPi函数库,安装方法详见树莓派安装必要的函数库
测试程序下载
打开树莓派终端,执行:
sudo apt-get install p7zip-full sudo wget https://www.waveshare.net/w/upload/6/6c/Compute_Module_PoE_4G_Board.7z 7z x Compute_Module_PoE_4G_Board.7z -O./Compute_Module_PoE_4G_Board sudo chmod 777 -R Compute_Module_PoE_4G_Board cd Compute_Module_PoE_4G_Board
SIM7600X 模块
开启 SIM7600X 模块
SIM7600X 模块开机
sudo nano /boot/config.txt #在最下面添加 dtoverlay=sc16is752-spi1,int_pin=16 #然后重启 sudo reboot #重启完成进入目录 cd Compute_Module_PoE_4G_Board/ #执行命令,4G模块开机,需要等待1分钟,4G_STA对应的LED灯亮起说明已经开机 sudo ./4G_Module.sh 1 #需要关机使用命令,需要等待1分钟,4G_STA对应的LED灯熄灭说明已经关机 sudo ./4G_Module.sh 0 #如果添加部分USB设备会改变原本的管脚号,例如:默认是503,在连接FT232RL再重启管脚号变成了499
需要开机自启可以在sudo nano /etc/rc.local中加入对应的命令
sudo nano /etc/rc.local #在文件尾部(在exit 0前)加上一行 sudo /home/pi/Compute_Module_PoE_4G_Board/4G_Module.sh 1
或者焊接背面SIM卡槽下面下图所示的电阻,短路或者焊接0R即可
SIM7600配置上网
在配置前,请确认 SIM7600X 模块已经开机, SIM7600X 模块对应了两个4G的LED已经亮起或者闪烁说明已经开机
关机状态下两个LED全部是熄灭的
两个LED长亮是没有SIM卡
cd Compute_Module_PoE_4G_Board sudo chmod 777 sim7600_4G_hat_init #设置开机初始化脚本,运行命令: sudo nano /etc/rc.local #在exit 0前面加入 : sh /home/pi/Compute_Module_PoE_4G_Board/sim7600_4G_hat_init sudo apt-get install minicom sudo minicom -D /dev/ttyUSB2 #输入以下指令: AT+CUSBPIDSWITCH=9011,1,1 #返回OK 即可 #然后重启 sudo reboot #如果无法获取USB0网卡执行: sudo dhclient -v usb0
RNDIS拨号上网请参考: RNDIS拨号上网
PPP拨号上网请参考: PPP拨号上网
如果你使用物联网卡,比如移动物联网卡,成功注册网络;但是拨号上网失败,无法ping通,可以尝试用以下AT指令的其中一条选择最优频段:
AT+CNBP=0x0002000000400183,0x000001E000000000,0x0000000000000021 AT+CNBP=0x0002000000400180,0x480000000000000000000000000000000000000000000042000001E200000095,0x0000000000000021
AT指令
如果无法连接网络,可以通过指令AT检查状态
sudo apt-get install minicom sudo minicom -D /dev/ttyUSB2
常用AT指令
命令 | 说明 | 返回值 |
---|---|---|
AT | AT测试指令 | OK |
ATE | ATE1设置回显 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,99 OK |
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 |
更多AT指令参考: AT_Command_V2.00
更多文档参考:SIMCom
AUDIO实验
sudo nano /boot/config.txt dtoverlay=pwm-2chan,pin=12,func=4,pin2=13,func2=4 sudo reboot #sudo raspi-config -> Advanced Options -> Audio 新版本系统需要而外添加如下 dtoverlay=audremap dtparam=audio=on #注意使用这个之后在dmesg 中会看到一个GPIO12报错,那是因为重复定义,不影响使用
ADC实验
C
cd ADC/c/ sudo ./main
python
cd ADC/python/ sudo python examples/main.py
- 执行指令运行程序
预期结果
输出电压值 注意:ADC方案使用ADS1113芯片。内部自带基准电压2.048V,差分输入,输入电压范围:±2.048V
CAN实验
前置工作
将模块插在树莓派上,然后修改开机脚本config.txt
sudo nano /boot/config.txt
在最后一行加入如下:
dtparam=spi=on dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25
- 重启树莓派以应用所有设置:
sudo reboot
- 待树莓派重启后,查看SPI信息:
dmesg | grep spi
- 开启CAN:
sudo ip link set can0 up type can bitrate 1000000 sudo ifconfig can0 txqueuelen 65536
- 更多相关CAN内核指令可以查看:
https://www.kernel.org/doc/Documentation/networking/can.txt
- 查看ifconfig:
ifconfig
C
终端执行指令
# 接收 cd CAN/c/receive/ sudo make clean sudo make sudo ./can_receive #发送 cd CAN/c/send/ sudo make clean sudo make sudo ./can_send
python
cd python/ # 接收 sudo python receive.py #发送 sudo python send.py
【注意】CAN方案使用的是MCP2515与SN65HVD230芯片组合方案, 如果不添加驱动无法使用例程,由于只有是一个CAN如需测试需要两个板子或者推荐购买2-CH CAN HAT或者RS485 CAN HAT
GPIO实验
GPIO支持5V 或者3.3V输入需要通过跳帽切换
C
终端执行指令
cd IO/c/ sudo ./main
python
终端执行指令
cd IO/python/ sudo python examples/main.py
- 预期结果:如果OUT1和IN1短路,OUT2和IN2短路,输出结果如下
【注意】IN1输入使用的是树莓派硬件SPI0.1的片选引脚,如需使用IN1需要谨慎处理,如果需要CAN和IO全部同时使用
sudo raspi-config #关闭SPI外设 sudo nano /boot/config.txt #添加如下 dtparam=spi=on dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25 #如何重启即可 sudo reboot
OUT只能输出,IN只能输入。
LED 蜂鸣器实验
C
cd LED_BUZZER/c/ sudo make clean sudo make sudo ./main
python
cd LED_BUZZER/python/ sudo python main.py
预期效果
RS232实验
前置工作
sudo nano /boot/config.txt #在最下面添加 dtoverlay=sc16is752-spi1,int_pin=16
C
cd RS232/c/ sudo make clean sudo make sudo ./main
python
cd RS232/python/ sudo python examples/main.py
预期效果
收到任意字符串以回车符号结束,马上返回任意字符串。
【注意】 本实验使用的的 USB TO RS232/485/TTL 和 串口线 母对母 交叉 1.5米 和电脑进行通信
RS485实验
前置工作
sudo nano /boot/config.txt #在最下面添加 dtoverlay=sc16is752-spi1,int_pin=16
C
cd RS485/c/ sudo make clean sudo make sudo ./main
python
cd RS485/python/ sudo python examples/main.py
预期效果
收到任意字符串以回车符号结束,马上返回任意字符串。
【注意】 本实验使用的的 USB TO RS232/485/TTL 和电脑进行通信
RTC实验
开启SPI和I2C接口
- 打开树莓派终端,输入以下指令进入配置界面
sudo raspi-config 选择Interfacing Options -> SPI -> Yes 开启SPI接口
sudo reboot
I2C同理,进入配置界面选择Interfaceing Options -> I2C -> Yes 开启IIC接口,然后重启
C
cd RTC/c/ sudo make clean sudo make sudo ./main
python
cd RTC/python/ sudo python examples/main.py
预期效果
资料
文档
程序
软件
镜像
- Compute Module 3/3 Lite/3+/3+ Lite镜像
链接:https://pan.baidu.com/s/1jLQ1bicQZWMof8JBekZ_2w 提取码:2021
开发资料
FAQ
- 确定你的CM3/CM3+版本是否正常,eMMC版本的CM3/CM3+背面会多一颗IC。只有eMMC版本的,才可以通过USB SLAVE方式烧录。
- 推荐使用WIN10系统进行烧录,多数用户反馈WIN7或linux系统烧录不稳定。
- 注意Power接口需要接入12V 2A或以上的电源适配器,尝试重新给主板上电。
- 注意以管理员权限打开软件rpiboot.exe。
- 更换一条USB数据线。
- 更换一个PC机的USB接口。
- 尝试重新拔插CM3/CM3+。
- 尝试重启PC机。
- 尝试在另一台电脑烧录。