1. 4G¶
IHC-3308GW 有单wifi版本、wifi+4g版本,请确认使用的机器是拥有4G模块的。
分辨方法:检查天线数量,如果只有一个天线接口,就是单wifi版本。如果是有两个天线接口,就是wifi+4g版本。
使用的4G模块为EC200S-CN
,对于Buildroot
或者Ubuntu
系统,上电之后,系统会自动进行拨号
1.1. SIM卡连接¶
1.2. 4G天线连接¶
1.3. 手动AT指令拨号联网¶
如果系统无法正常拨号,可以使用AT指令手动排查问题。
确认
EC200S-CN
模块是否正常启动,usb0
网卡对应EC200S-CN
模块
# 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¶
扩展板上扩展了多个串口可供使用,包括 3 个 RS485
,1个 RS232
。
内核已默认支持上述串口功能,各串口对应的设备文件如下:
RS485_1: /dev/ttysWK0
RS485_2: /dev/ttysWK1
RS485_3: /dev/ttysWK2
RS232 : /dev/ttysWK3
以 RS485_1 为例:
连接
将 RS485_1 的 A、B 引脚分别和主机串口适配器(USB 转 485 转串口模块)的 A、B 引脚相连。
打开主机的串口终端
在终端打开 kermit,并设置波特率:
$ sudo kermit
C-Kermit> set line /dev/ttysWK0
C-Kermit> set speed 9600
C-Kermit> set flow-control none
C-Kermit> connect
/dev/ttyUSB0
为主机识别到的 USB 转串口适配器的设备文件。
发送数据
在设备上运行如下命令:
echo "Firefly RS485 test..." > /dev/ttysWK0
主机中的串口终端即可接收到字符串 “Firefly RS485 test…“。
接收数据
首先在设备上运行下列命令:
cat /dev/ttysWK0
然后在主机的串口终端输入字符串 “Firefly RS485 test…”,设备端即可见到相同的字符串。
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¶
网关支持一路光耦隔离接口,其中,DI
在硬件原理图中对应于INPUT1
,COM
在硬件原理图中对应于INPUT_COM
。
电路原理图
检测
当 INPUT1
、INPUT_COM
导通时,GPIO_INPUT1
会检测到低电平;当 INPUT1
、INPUT_COM
断开时,GPIO_INPUT1
会检测到高电平。
对应 GPIO
口如下:
GPIO_INPUT1:GPIO1_A6,38
检测方式如下:
# 申请 GPIO
echo 38 > /sys/class/gpio/export
# 设置为输入
echo in > /sys/class/gpio/gpio38/direction
# 读取电平值
cat /sys/class/gpio/gpio38/value
5. DOUT¶
网关支持一路继电器接口,DO
对应于硬件原理图中的OUTPUT1
,COM
对应于硬件原理图中的RELAY_COM1
。
电路原理图
控制
当 RELAY_CTL1
输出低电平,OUTPUT1
、RELAY_COM1
断开;当 RELAY_CTL1
输出高电平,OUTPUT1
、RELAY_COM1
导通。
对应 GPIO
口如下:
RELAY_CTL1:GPIO1_B2,42
控制方式如下:
# 申请 GPIO
echo 42 > /sys/class/gpio/export
# 设置为输出
echo out > /sys/class/gpio/gpio42/direction
# 设置电平值,1 / 0
echo 1 > /sys/class/gpio/gpio42/value
6. LED¶
网关支持6个可自定义LED灯,分别对应的GPIO口如下:
L1 | GPIO2_A7 (gpio71) |
---|---|
L2 | GPIO2_A6(gpio70) |
L3 | GPIO2_B3(gpio74) |
L4 | GPIO2_B2(gpio73) |
L5 | GPIO2_B5(gpio76) |
L6 | GPIO2_B4(gpio75) |
控制方式如下,以L1为例:
# 亮
echo 1 > /sys/class/leds/firefly\:green\:L1/brightness
# 灭
echo 0 > /sys/class/leds/firefly\:green\:L1/brightness