模板: Compute Module PoE 4G Board Manual

来自Waveshare Wiki
跳转至: 导航搜索

镜像烧录前准备

  • 在资料界面点击下载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,然后再供电。
20201207183609.png
  • 在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"。

Compute Module PoE Board User Manual FAQ10.jpg

  • 注意需要接入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

Compute Module PoE 4G Board Manual 4G.png
需要开机自启可以在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即可
Compute Module PoE 4G Board Manual 4G 1.png

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

Compute-Module-board-Manual-can-1.png

  • 开启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

Compute-Module-board-Manual-can-2.png

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短路,输出结果如下

Compute-Module-board-Manual-IO-1.png
【注意】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

预期效果

Compute-Module-board-Manual-LED BUZZER-1.png
蜂鸣器停顿响起,LED交替亮起


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

RPI open spi.png
然后重启树莓派:

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-board-Manual-RTC-1.png