GSM/GPRS/GPS Shield 用户手册

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

硬件说明

GSM-GPRS-GPS-Shield-UserManual-1.png
图 1. 硬件设置
  1. 通过mini USB线连接电脑(标号①)。
  2. 连接6V~9V DC电源(标号②)。
  3. 打开开关(标号③)。
  4. 按压SIM卡槽推动可拨开,放入SIM卡之后重新扣上(标号④)。
  5. SIM908网路注册指示灯:慢闪表示网络注册成功(标号⑤)。
  6. 连接GPS天线(标号⑥)。
  7. Arduino复位按键(标号⑦)。
  8. Nokia喇叭(标号⑧,SIM908第一模拟音频通道)。
  9. 接入3.5mm耳机(标号⑨)。不是必须,用户可通过喇叭(标号⑧)监听。
  10. 接入GSM信号增强天线(标号⑩)。
  11. 设置跳线(标号⑪):
    • PWRKEY连接GND(详见本节备注)。
    • 控制SIM908的串口选择
      CP2102芯片控制:USB_RX短接CTL_RX , USB_TX短接CTL_TX
      Arduino接口串口:Duino_RX短接CTL_RX , Duino_TX短接CTL_TX
  12. 咪头:模拟第一语音通道。


备注: 通过配置PWRKEY引脚的高低电平可以控制开启和关闭SIM908模块。 PWRKEY连接GND 1-2s之后断开,便可在开关两个状态切换。
例如,已经开启的情况下,PWRKEY连接GND 1-2s之后断开,SIM908模块转为关闭。
已经关闭的情况下,PWRKEY连接GND 1-2s之后断开,SIM908模块转为开启(类似于热启动)。 如果只开启,则使PWRKEY一直连接GND即可。

手动调试跳线设置说明

Image004.jpg
图 2. 手动调试跳线设置图
  • 标号①:串口发送数据端(CTL_TX)选择
CP2102芯片控制:USB_TX短接CTL_TX
Arduino接口串口:Duino_TX短接CTL_TX
  • 标号②:串口接受数据端(CTL_RX)选择
CP2102芯片控制:USB_RX短接CTL_RX
Arduino接口串口:Duino_RX短接CTL_RX
  • 标号③:NCP2890芯片使能端(SPK_EN)与耳机接口检测端(CHK)相连,
当耳机插入耳机接口后,CHK被上拉为高电平,从而使SPK_EN也为高电平,NCP2890芯片不使能。
当耳机接口不插入耳机时,CHK被下拉为低电平,从而使SPK_EN也为低电平,NCP2890芯片使能。
SPK_EN与A3相连时,Arduino的A3接口可控制NCP2890芯片是否使能。
  • 标号④:SIM908启动管脚
  • 标号⑤:电机控制端(Motor)低电平使能,SIM908来电提醒端口(RI)在来电状态时为低电平。
Motor与RI相连,即来电状态时,电机会转动。
Motor与A4相连时,Arduino的A4接口可控制电机是否转动。
  • 标号⑥:选通GPS/GSM串口模式
GSM_EN:当GSM_EN=0时,选通GSM串口控制端,默认高电平
GPS_EN:当GSP_EN=0时,选通GSP串口控制端,默认高电平
  • GSM_EN和GPS_EN不能同时接GND,默认悬空串口没输出。

快速入门

准备工作

  • Phone Shield SIM908模组(本套件)
  • SIM卡
  • 5V TTL电平串口模块
  • 电脑端串口软件
  • 电脑端u-center软件
  • 9V直流电源

1. 上电之后,电源指示灯PWR LED点亮。

2. 选通CP2102串口芯片控制SIM908

  • USB_RX短接CTL_RX(图 2. 手动调试跳线设置图标号①)
  • USB_TX短接CTL_TX(图 2. 手动调试跳线设置图标号②)

基本操作

本节以下步骤,将以选通GSM串口模式说明一些基本操作。

  1. GSM_EN 连接GND,GPS_EN悬空(图 2. 手动调试跳线设置图标号⑥),选通GSM串口控制端。
  2. 连接PWRKEY和GND的跳线(图 2. 手动调试跳线设置图标号④),指示灯STATUS常亮,指示灯NET闪烁(快闪表示正在注册网路,慢闪表示注册成功)。
  3. 打开串口工具 ,进行如下操作。
GSM-GPRS-GPS-Shield-UserManual-3.jpg
图 3. TCP232设置
  • 设置串口
PortNum:设置为相应的串口(*)
Baud:115200
Parity:NONE
Data bit:8 bit
Stop bit:1 bit
(*)本例是COM1,客户实际使用的时候,请右击计算机->属性->设备管理器,查看相应的串口编号。
  • 勾选Auto Checksum,之后会弹出Apendix bits setting选项框,选择Fixed Byte Checksum,并在小框中填入0D,这是由于0D的ASCII码是回车,因此每个命令自动加上回车再发送。如图 4. 发送数据设置所示。
GSM-GPRS-GPS-Shield-UserManual-4.png
图 4. 发送数据设置
  • 发送框中填写AT+GSV,点击Send发送。
  • 接收框会接收到串口返回的信息。如下图:
GSM-GPRS-GPS-Shield-UserManual-5.png
图 5. 发送AT命令验证模块

GSM调试

选通GSM串口控制端

GSM_EN连接GND,GPS_EN悬空(图 2. 手动调试跳线设置图标号⑥),选通GSM串口控制端。

GSM相关命令说明

  • 发送短信常用命令说明
命令 说明 返回值
AT 确认模块工作 AT OK
AT+CMGF=1 配置SMS AT+CMGF=1 OK
AT+CMGS="13612345678" 设置发送号码,接收>符号之后,发送Hello World!(*) >
0x1A 结束号,勾选Send As Hex之后发送 Hello World!

(*)发送完Hello World!之后,还应该勾选TCP232软件的Send As Hex选项,再发送1A,表示此条短信发送完毕,短信才会发送。

  • 拨打和接听电话常用命令说明
命令 说明 返回值
ATD13612345678; 拨打号码13612345678,以半角分号(;)结束。可进行通话 ATD13612345678 ok
ATA 接听电话 RING
ATH 挂断电话

(更多的AT指令请查看SIM908_AT Command Manual_V1.01.pdf

GPS调试

从GSM模式切换到GPS模式

  • 配置GPS:首先您需要设置模块到GSM模式(命令须在GSM模式下发送),然后发送命令以切换到GPS模式。GSM_EN连接GND,GPS_EN悬空,选通GSM串口控制端。

发送以下命令:

  • AT+CGPSPWR=1(打开GPS电源)
  • AT+CGPSRST=1(GPS模式复位)

返回OK。

  • GPS信号输出:GPS_EN 连接GND,GSM_EN悬空,选通GPS串口控制端。TCP232软件将接收到如下信息:
GSM-GPRS-GPS-Shield-UserManual-6.png
图 6. GPS模式下串口接收信息

用u-center软件查看GPS信息

  • 打开u-center软件,如下图:
GSM-GPRS-GPS-Shield-UserManual-7.png
图 7. u-center软件
  • 打开端口:Receive 设置端口和波特率。波特率是115200(通过AT+CGPSIPR可设置),端口号为串口读取的端口号
GSM-GPRS-GPS-Shield-UserManual-8.png
图 8. 设置端口和波特率
  • 选择Player>,即可看到GPS信息,如下图:
GSM-GPRS-GPS-Shield-UserManual-9.png
图 9. 查看GPS信息
GSM-GPRS-GPS-Shield-UserManual-10.png
图 10. GPS定位效果图

备注:更多相关u-center软件的用法参考File:u-Center-GPS-evaluation-software-User-Guide.pdf

GPS相关命令说明

命令 说明 常用值
AT+CGPSPWR GPS电源开关 值=1 GPS为开
AT+CGPSRST 重启模式 0为冷启动
AT+CGPSINF 获取当前GPS信息 常用值32
AT+CGPSOUT GPS NMEA数据输出控制 设置255可以从GSM_DEBUG输出
AT+CGPSSTATUS GPS状态查询
AT+CGPSIPR 设置GPS波特率 115200

(更多的AT指令请查看文件:SIM908 AT+Command+Manual V1.01.pdf

GPRS调试

选通GSM串口控制端

GSM_EN 和GND,GPS_EN悬空(标号⑥),选通GSM串口控制端。

设置本地电脑虚拟服务器

虚拟服务器定义了广域网服务端口和局域网网络服务器之间的映射关系,所有对该广域网服务端口的访问将会被重新定位给通过IP地址指定的局域网网络服务器。(请参阅您的路由器对应厂商的说明书)

GSM-GPRS-GPS-Shield-UserManual-11.png
图 11. 设置本地电脑虚拟服务器
  • 设置端口号:12345(不冲突已有端口号即可,本例设为12345)
  • 设置电脑端内网IP(局域网内电脑获取的IP,可以在本机运行CMD,进入命令提示符,输入ipconfig查看IPv4地址,本例的电脑内网IP是192.168.1.104。

GPRS相关命令说明

  • 配置GPRS。顺序发送以下命令:
命令 AT命令说明
AT+CSQ 查询信号的质量
AT+CSTT="CMNET" 设置无线接入点名为“CMNET”
AT+CIICR 激活移动场景或发起GPRS连接
AT+CIFSR 获取模块GPRS本地IP
AT+CDNSGIP=www.sim.com 得到域名解析
  • 调试GPRS:

查找本机广域网IP(下称”外网IP”)。可直接在搜索引擎上面输入IP,即可搜索到本机IP,或者请咨询您的网络服务商。本例获取到的IP是222.125.175.28。顺序发送以下命令:

命令 AT命令说明
AT+CIPSTART=”TCP”,” 222.125.175.28”,”12345” 外网IP需要根据实际情况设定,如上文所示,本例外网IP是222.125.175.28。设置端口为12345。
AT+CIPSEND 发送数据, 接收>符号之后,发送信息ABCDEF

0x1A (0x1A是结束号)

AT+CIPCLOSE 关闭连接
AT+CIPSHUT 关闭移动场景

(*)勾选TCP232软件的Send As Hex选项,再发送1A,表示此条信息发送完毕。

(更多的AT指令请查看文件:SIM908 AT+Command+Manual V1.01.pdf

  • 如果一切正常,运行状态如下图所示:
GSM-GPRS-GPS-Shield-UserManual-12.png
图 12. GPRS运行状态图

搭配Arduino UNO R3

准备工作:

  • Phone Shield SIM908模组(本套件)
  • Arduino UNO R3
  • SIM卡
  • USB Type-B 线
  • 电脑端串口软件
  • 电脑端u-center软件
  • 9V直流电源

硬件连接:

跳线设置:

GSM-GPRS-GPS-Shield-UserManual-13.jpg
图 13. 搭配Arduino UNO R3使用的跳线设置


  • 标号①:串口发送数据端(CTL_TX)选择
CP2102芯片控制: USB_TX短接CTL_TX
Arduino接口串口:Duino_TX短接CTL_TX
  • 标号②:串口接受数据端(CTL_RX)选择
CP2102芯片控制: USB_RX短接CTL_RX
Arduino接口串口:Duino_RX短接CTL_RX
  • 标号③:NCP2890芯片使能端,工作SPK_EN = 1
CHK:耳机接口检测端,耳机插入CHK=1
A3:Arduino接口A3
  • 标号④:SIM908启动管脚
  • 标号⑤:电机控制端
RI:SIM908来电提醒端口,有电话RI=0
A4:Arduino接口A4
  • 标号⑥:GPS串口使能端
GPS_EN:当GSP_EN=0时,选通GSP串口控制端,默认高电平
  • 标号⑦:GSM串口使能端
GSM_EN:当GSM_EN=0时,选通GSM串口控制端,默认高电平
  • 接入6V-9V直流电源。
  • 接入Arduino板,Arduino板插上串口线。

软件调试

以GPS为例子

  • 打开GPS.ino文件

GSM-GPRS-GPS-Shield-UserManual-14.png

  • 验证并上传程序到Arduino R3开发板。然后打开串口监视器。

GSM-GPRS-GPS-Shield-UserManual-15.png

  • 按DUINO RST 按键,串口输出以下信息。

GSM-GPRS-GPS-Shield-UserManual-16.png

也可以关掉Arduino串口监测工具,用u-center软件监测。