< >
Home » Arduino通信模块 » Arduino通讯模块-SIM808 GPS/GPRS/GSM Shield V1.0通信模块

Arduino通讯模块-SIM808 GPS/GPRS/GSM Shield V1.0通信模块

外 观

外观

概 述

  • SIM808 GPS/GPRS/GSM 是一款集成了四频段GSM/GPRS和GPS导航技术的Arduino扩展板。尺寸仅与一块信用卡相当,符合标准Arduino管脚分装,兼容Arduino UNO、 Leonardo、Mega等主控器。
  • SIM808相比上一代的SIM908在性能和稳定性上做了一定提升,除了正常的短信和电话功能外,还支持彩信、DTMF、FTP等功能。可以实现数据采集,无线数据收发等物联网应用。板载麦克风和耳机接口,节约了用户的使用成本,更加简单和方便,还可以通过外接天线接口直连GSM和GPS天线。
  • SIM808 GPS/GPRS/GSM Shield V1.0采用Simcom最新版SIM808模块,与市面上现有的SIM808模块相比,新版的模块具有更好的稳定性(注意GPS部分的AT指令与老版的SIM808模块无法兼容,请参考最下方“更多”中的AT指令)。

技术规格

  • 工作电压:5V
  • 输入电源:7-23V
  • 四频 850/900/1800/1900MHz
  • GPRS multi-slot class 12/10
  • GPRS mobile station class B
  • 符合 GSM phase 2/2+
    • Class 4 (2 W @ 850/900MHz)
    • Class 1 (1 W @ 1800/1900MHz)
  • 支持低功耗模式:100mA@7V-GSM模式
  • 通过AT指令控制(3GPP TS 27.007,27.005 和 SIMCOM enhanced AT Commands)
  • 支持GPS卫星导航技术
  • 支持LED状态显示:显示电源供应状态,网络状态和工作模式
  • 工作环境:-40℃ ~85℃
  • 大小:69*54mm

接口示意图
请输入图片描述
接口示意图

模块接口及注意事项:

已占用管脚:D0, D1, D12,其中数字口“D12”已内部连接至SIM808模块开/关引脚,可用于SIM808模块开/关机控制。
SIM808板载MIC与3.5mm SIM808麦克风接口使用同一路MIC通道,当3.5mm接口接入话筒设备时,板载MIC将自动断开连接。
Boot开关按钮——SIM808模块开关,短按Boot 1s开机,长按3s关机
指示灯“ON”——SIM808电源指示灯,只有当您接上外接电源时,模块才能正常工作。
Net——GSM信号指示灯
    快闪:搜寻网络
    慢闪(3s一次):网络注册完成 
功能切换开关
    None——悬空SIM串口管脚,下载代码时,请拨到此处
    USB_DBG——当扩展板插在Arduino上时,拨到此处使SIM808与PC通信(AT调试使用)
    Arduino——当扩展板插在Arduino上时,拨到此处使SIM808与Arduino通信,实现脱机使用 

功能调试(AT命令)

在这一部分中,我们将以图文形式,通过串口发送AT命令的方式来对SIM808扩展板进行调试。更多的指令和功能,请参考页末更多中的AT指令集。

所需硬件

  • Arduino UNO x1
  • SIM808 扩展板 x1
  • 外接电源 x1

所需软件

  • Arduino IDE 版本最新版 点击下载Arduino IDE
  • 串口调试助手(任意,能够发送16位进制数即可,可根据需要自己选择)

步骤

  • 将SIM卡插在扩展板上,并把SIM808扩展板插上Arduino UNO,同时接上接上外接电源。
  • 拨动功能切换开关至None档,下载一个样例代码Blink来确保串口不被占用(其他不占用串口的代码也可以)。
  • 按下Boot开机键,等待SIM卡网络注册正常,既Net状态指示灯进入慢闪状态(3s一次)
  • 拨动功能切换开关至USB_DBG档,此时我们就可以通过串口助手直接与SIM808芯片进行通信。

拨打电话
请输入图片描述
SIM808拨打电话

在串口助手中发送AT,得到返回OK代表通信正常。
按图所示,输入AT指令,应该得到相同内容。注意:电话号码后面需要跟一个英文分号“;”.

接听与挂断电话
请输入图片描述
SIM808来电接听与挂断

发送短信
请输入图片描述
SIM808发送短信

读取短信
请输入图片描述
SIM808读取短信

TCP通讯
请输入图片描述
SIM808 TCP连接发送

GPS信息输出

注意:GPS天线必须置于室外,才可以获得稳定的GPS定位数据输出。

 发送AT+CGNSPWR=1命令(打开GPS电源)
 发送AT+CGNSTST=1命令(开始从串口接收GPS数据)

GPS测试.JPG

 如果GPS天线已经放置露天位置并收到GPS数据,等待几分钟后,会有正确的GPS定位数据输出。
 当想暂停GPS数据输出,可发送AT+CGNSTST=0命令可暂停GPS数据输出。
 当想关闭GPS,可发送AT+CGNSPWR=0命令关断GPS电源。
 发送AT+CPOWD=1,将模块关机。

Arduino功能代码测试

在上一步中,我们已经实现了通过串口调试的方式去实现我们想要的功能,但这只是建立在有一台PC的情况下。如果遇到手边没有电脑的情况该怎么办呢?
这个时候我们就可以用到功能选择开关最下面的一档Arduino来实现SIM808与Arduino之间的数据通信,实现脱机工作。

硬件连接

  • 将插好SIM卡的扩展板插到Arduino UNO上去,确保外接电源和USB线已连接
  • 拨动功能切换开关至None档,下载下方提供的样例代码
  • 等待程序下载完毕,拨动开关至Arduino'档,这时SIM808即可与Arduino主板进行通信。

打电话

void setup()
{
  Serial.begin(9600); 
  //等待call ready
  delay(5000);

}
void loop()
{  
  //发送AT命令同步
  Serial.println("AT");   
  delay(2000);

  //打电话
  Serial.println("ATD137XXXXXXXX;");//对方电话号码,别漏了最后的分号“;”
  while(1);
}

发短信

void setup() {
   Serial.begin(9600); //初始化串口波特率
   delay(5000);
}

void loop() {
  Serial.println("AT");   
  delay(2000);
  Serial.println("AT+CMGF=1");        //设置为TXT模式
  delay(2000);
  Serial.println("AT+CMGS=\"137xxxxxxxx\"");//xxxxxxxxxxx为电话号码
  delay(2000);
  Serial.print("Hello, this is a test"); //短信内容
  delay(2000);
  Serial.write(26);           //发送十六位数 0x1A
  while(1);
}

以上两个测试代码非常的简单,也非常地容易理解。只需要往串口中输入对应的AT 命令,就可以实现对应的功能。适合二次开发

SIM808省电模式

  • 最小功能模式

最小功能模式就是将模块功能减小到最少,所以也使得模块的电流消耗减小到最少。可以通过命令"AT+CFUN="把模块设置到该模式下,这条命令提供三种选择,用于设置不同功能。

AT+CFUN=0:最小功能模式。这种模式下,串口仍然可以继续使用,但是与射频和SIM卡相关的功能以及部分AT命令不能使用。
AT+CFUN=1:全功能模式(默认)。
AT+CFUN=4:飞行模式。这种模式下,模块仍然可以使用串口,但是与射频相关以及部分AT指令不能使用。 

更多
新版SIM808模块定位系统使用手册
SIM808 GPS/GPRS/GSM Shield V1.0原理图
SIM80X系列AT指令手册
技术规格
硬件设计手册
SVG 矢量图

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: none