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外网

    img/iHC-3568JGW/ping_usb0.png

  • 其他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

  • 连接

只需将设备的 CANHCANL 和通讯端的 CANHCAHL 对应连接即可。

  • 发送数据

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_1INPUT2在硬件原理图中对应于IO_IN_2COM在硬件原理图中对应于IO_IN_COM

  • 电路原理图

_images/gpio_input.png

  • 检测

INPUT1INPUT_COM 导通时,GPIO0_C2 会检测到低电平;当 INPUT1INPUT_COM 断开时,GPIO0_C2 会检测到高电平。 当 INPUT2INPUT_COM 导通时,GPIO0_C4 会检测到低电平;当 INPUT2INPUT_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_1OUTPUT2对应于硬件原理图中的IO_OUT_2COM对应于硬件原理图中的IO_OUT_COM

  • 电路原理图

_images/gpio_output.png

  • 控制

GPIO0_C3 输出低电平,OUTPUT1COM 断开;当 GPIO0_C3 输出高电平,OUTPUT1COM 导通。 当 GPIO0_C7 输出低电平,OUTPUT2COM 断开;当 GPIO0_C7 输出高电平,OUTPUT2COM 导通。

对应 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