1. 4G¶
1.1. SIM卡连接¶
1.2. 4G天线连接¶
1.3. 手动AT指令拨号联网¶
如果系统无法正常拨号,可以使用AT指令手动排查问题。
确认
EC20CEFILG
模块是否正常启动,usb0
网卡对应EC20CEFILG
模块
# ifconfig usb0
usb0 Link encap:Ethernet HWaddr AE:0C:29:A3:9B:6D
inet addr:192.168.43.100 Bcast:192.168.43.255 Mask:255.255.255.0
inet6 addr: fe80::ed5d:84b6:c27c:3825/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:18 errors:0 dropped:0 overruns:0 frame:0
TX packets:39 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3456 (3.3 KiB) TX bytes:3811 (3.7 KiB)
配置串口属性
如果是
Ubuntu
系统,需要进行配置# stty -F /dev/ttyUSB2 icrnl opost onlcr icanon echo echoe
查询模块状态
# cat /dev/ttyUSB2 & # echo AT+QCFG="usbnet" > /dev/ttyUSB2
如果返回
+QCFG: "usbnet",1
,即ECM
状态模块配置为
ECM
网卡状态echo AT+QCFG="usbnet",1 > /dev/ttyUSB2
拨号
echo AT+QNETDEVCTL=1,1,1 > /dev/ttyUSB2
ping外网
其他AT指令
断开拨号
echo AT+QNETDEVCTL=0,1,1 > /dev/ttyUSB2
查看天线信号的强度,返回值”0-31,99”,尽量确保信号强度在”26-31,99”
echo "AT+CSQ" > /dev/ttyUSB2
查看sim卡或物联卡是否插入了,正常返回READY
echo "AT+CPIN?" > /dev/ttyUSB2
查看运营商,如联通CHN-UNICOM,移动”CHINA MOBILE”
echo "AT+COPS?" > /dev/ttyUSB2
查看sim卡的流量业务是否正常
echo "AT+CGATT?" > /dev/ttyUSB2
返回+CGATT: 1表示attached,+CGATT: 0表示detached,返回+CGATT: 0时请检查卡的流量业务是否正常
2. UART¶
iHC-3568JGW 多个串口可供使用,包括 2 个 RS485
,2个 RS232
和 1个 UART
。
各串口对应的设备文件如下:
RS232_1: /dev/ttyS0
RS232_2: /dev/ttyS3
RS485_1: /dev/ttyS4
RS485_2: /dev/ttyS5
UART : /dev/ttyS9
iHC-3568JGW的RS485收发信息受到GPIO的控制,关系如下
RS485 | GPIO | 内核中gpio编号 | 控制关系 |
---|---|---|---|
RS485_1 | GPIO3_C1 | 113 | 拉低接收信息,拉高发送信息 |
RS485_2 | GPIO2_D6 | 94 | 拉低接收信息,拉高发送信息 |
其他串口正常使用
以 RS485_1 为例:
连接
将 RS485_1 的 A、B 引脚分别和主机串口适配器(USB 转 485 转串口模块)的 A、B 引脚相连。
开发板发送, 主机接收
# 将gpio控制节点打开
echo 113 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio113/direction
# 查看串口信息
busybox stty -F /dev/ttyS4 -a
# 将串口波特率设置成9600,8位数据模式
busybox stty -F /dev/ttyS4 ispeed 9600 ospeed 9600 cs8
# 拉高控制引脚
echo 1 > /sys/class/gpio/gpio113/value
# 主机终端先执行:
# /dev/ttyUSB0 为 主机串口适配器 的节点,根据实际修改
cat /dev/ttyUSB0
# 发送数据,开发板调试串口终端执行:
echo "firefly RS485 test..." > /dev/ttyS4
主机发送,开发板接收
# 开发板调试串口终端先执行:
echo 0 > /sys/class/gpio/gpio113/value
busybox stty -echo -F /dev/ttyS4 # 关闭回显
cat /dev/ttyS4
# 主机终端执行:
# /dev/ttyUSB0 为 主机串口适配器 的节点,根据实际修改
echo "firefly RS485 test..." > /dev/ttyUSB0
3. CAN¶
连接
只需将设备的 CANH
、CANL
和通讯端的 CANH
、CAHL
对应连接即可。
发送数据
ip link set can0 down
ip link set can0 type can bitrate 250000
ip link set can0 up
cansend can0 123#1122334455667788
接收数据
ip link set can0 down
ip link set can0 type can bitrate 250000
ip link set can0 up
candump can0
loopback 模式测试
ip link set can0 down
ip link set can0 type can bitrate 50000 loopback on
ip link set can0 up
candump can0 &
cansend can0 123#11223344556677
4. DIN¶
网关支持两路光耦隔离接口,其中,INPUT1
在硬件原理图中对应于IO_IN_1
, INPUT2
在硬件原理图中对应于IO_IN_2
,COM
在硬件原理图中对应于IO_IN_COM
。
电路原理图
检测
当 INPUT1
、INPUT_COM
导通时,GPIO0_C2
会检测到低电平;当 INPUT1
、INPUT_COM
断开时,GPIO0_C2
会检测到高电平。
当 INPUT2
、INPUT_COM
导通时,GPIO0_C4
会检测到低电平;当 INPUT2
、INPUT_COM
断开时,GPIO0_C4
会检测到高电平。
对应 GPIO
口如下:
GPIO0_C2 : 18
GPIO0_C4 : 20
检测方式如下:
# 申请 GPIO
echo 18 > /sys/class/gpio/export
# 设置为输入
echo in > /sys/class/gpio/gpio18/direction
# 读取电平值
cat /sys/class/gpio/gpio18/value
5. DOUT¶
网关支持两路继电器接口,OUTPUT1
对应于硬件原理图中的IO_OUT_1
,OUTPUT2
对应于硬件原理图中的IO_OUT_2
,COM
对应于硬件原理图中的IO_OUT_COM
。
电路原理图
控制
当 GPIO0_C3
输出低电平,OUTPUT1
、COM
断开;当 GPIO0_C3
输出高电平,OUTPUT1
、COM
导通。
当 GPIO0_C7
输出低电平,OUTPUT2
、COM
断开;当 GPIO0_C7
输出高电平,OUTPUT2
、COM
导通。
对应 GPIO
口如下:
GPIO0_C3 : 19
GPIO0_C7 : 23
控制方式如下:
# 申请 GPIO
echo 19 > /sys/class/gpio/export
# 设置为输出
echo out > /sys/class/gpio/gpio19/direction
# 设置电平值,1 / 0
echo 1 > /sys/class/gpio/gpio19/value