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天线已经放置露天位置并收到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 矢量图
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号