导 言
SIM808GPS/GPRS/GSMarduino屏蔽综合四波段GSM/GPRS和GPS导航技术Arduino扩展屏蔽信用卡尺寸唯一符合Arduino标准插件打包兼容ArduinoUNO系统,阿度诺列昂纳多,ArduinoMega并用Arduino主机.与上一代SIM908相比,SIM808提高性能和稳定性除正常短信和电话功能外,屏蔽还支持MMS、DTMF、FTP等函数可实现数据采集、无线数据接收器、iot应用和GPS定位机上麦克风和耳机插件集成 省下成本并易实现项目外天线连接器可直接连接GSM和GPS天线
sIM808GPS/GPRS/GSM Arduino盾牌V1.0使用SimcomSIM808模块最新版,新模块比市场上可使用的初步SIM808模块稳定性更高GPS部分AT命令与旧版SIM808模块不兼容,
规范化
- 操作电压5V
- 输入电源:7-23V
- 四带850/900/1800/1900MHz
- GPRSS多线程类12/10
- GPRSS移动站级B
- 遵守GSM2/2+
- 第四类(2W@850/900MHz)
- 第1类(1W@1800/1900MHz)
- 支持低功耗模式:100mA@7V-GSM模式
- AT指令控制支持(3GPPTS27.007205和SIMCOMAT增强命令)
- GPS卫星导航技术支持
- LED支持状态指示器:供电状态、网络状态和操作模式
- 工作环境:-40°C~85°C
- 大小:69*54mm/2.71*2.12英寸
棋局概述
模块接口和预防措施
- 作用式插针:D0D1D12数字插针D12连接SIM808模块PGIOsIM808模块
- 内载SIM808和3.5msIM808麦克风使用同MIC信道,插件时,机上MIC自动断开
- 启动开关按钮-SIM808模块开关,短压1启动SIM808,长压3关机
- LED“ON”-SIM808功率指示器,只有当连接外部功率时,模块才能正常工作
- Net-GSM信号指示器
- 快速闪存:搜索网络
- 慢闪存(3s一次):网络注册完成
- 函数切换
- 无-VacantSIM808串行针下载素描
- USB_DBG--当扩展板插插Arduino时,拨到这里使SIM808与PC通信实现调试
- Arduino-当扩展板插插Arduino时, 拨到这里令SIM808与Arduino通信
Arduino实例
进此SIM808 Arduino盾牌教程我们将覆盖如何使用Arduino驱动SIM808GPS/GPRS/GSM盾DFROBOTSIM808开源Arduino库,直觉功能数组函数打包成单库时,您可以专注于您的项目,不浪费时间学习复杂的AT命令
- 本教程包括:
- GPRS数据发送接收
- GPS数据接收
- 发送接收短信消息
- 制作并接收电话
准备
- 硬件 :
- 1xArduinoUNO系统
- 1xSIM808扩展盾
- 1x外部供电
- 1xSIM卡
- 软件:
- Arduinoi点击下载 Arduinoi
- DFROBOT_SIM808库点击下载DFROBT_SIM808库
- 步骤 :
- 插入SIM卡插槽SIM808扩展屏
- 置扩展屏蔽为ArduinoUNO
- 连接外部电源
- 设置函数切换为无
- 上传样本代码
- 设置函数切换为 Arduino,确保SIM808与Arduino板通信
- 按启动电源按钮
- 等待SIM卡注册网络 Net指示器LED每3秒慢闪
实例
令手机调用
DFROBETS808SIM808GPS/GPRS/GSM盾牌调用函数
- 打开SIM808_CallUp示例或复制以下代码
- 输入SIM手机号
- 上传代码并设置函数切换到 Arduino
#包含
/移动手机号需要修改#define hone_NUMBER "187_QQ39"DFROBOT_SIM808sim808虚构 {// mySerio.begin9600!Serial.begin(9600)!启动sim808模块++++串行.print(sim808误差grn)sim808成功串行.printnsim808调用无效循环 {//无用}
发送短信消息
DFROBOT_SIM808GPS/GPRS/GSM屏蔽发送短信函数
- 打开sIM808_SendSMS示例或复制代码到您的项目
- 输入SIM手机号
- 设置函数切换为 Arduino
#包含
/移动手机号需要修改#define hone-SIM808sim808虚构 {// mySerio.begin9600!Serial.begin(9600)!sim808模块初始化串行.print(sim808误差grn)sim808成功串行.printn//Q定义电话号码和文本sim808sendssss无效循环 {//无用}
自动回答电话并读短信消息
DFROBOT_SIM808GPS/GPRS/GSM盾牌调用回答和短信阅读函数
- 打开SIM808_LoopHandle示例或复制代码到您的项目
- 下载并设置函数切换为 Arduino
- 屏蔽自答电话或发短信到串行终端
#包含
defineMessage_Length20gprsBuffer[64]Char*ssNULLDFRobot_SIM808 sim808(&Serial)!虚构 {// mySerio.begin9600!Serial.begin(9600)!sim808模块初始化++++++延迟(1000)延迟3000串行.println无效循环 {//等待串行数据{sim808可读性{sim808_read_buffer//Serial.print(gprsBuffer)!sim808回答sms:$+CMTI:sm24$int消息Indexs+12sim808.readSMS(messageIndex, message,MESSAGE_LENGTH)!串行.printSerial.println(message)!sim808净缓冲}}
读短信消息
DFROBOT_SIM808GPS/GPRS/GSM盾牌读短信能力测试
- 打开SIM808_SMSread示例或复制代码到您的项目
- 下载并设置函数切换为 Arduino
- 屏蔽接收短信消息并发至串行终端
#包含
define Message_Length 160字符消息int消息Index=0字符手机[16]字符日期[24]DFRobot_SIM808 sim808(&Serial)!虚构 {// mySerio.begin9600!Serial.begin(9600)!sim808模块初始化++++++延迟(1000)延迟3000串行.println无效环路 {///检测未读短信dexs=sim808.isssssunreadSerial.print("messageIndex: ")!Serial.println(messageIndex)!/+++++++++++++++++sim808eleteSMS(消息Index)串行打印Serial.println(phone)!串行打印Serial.println(datetime)!串行打印Serial.println(message)!}}
连接TCP发送Get请求
DFROBOT_SIM808GPS/GPRS/GSM盾牌连接TCP发送GET请求的能力
- 打开SIM808_TCPC联想示例或拷贝代码到您的项目
- 下载并设置函数切换为 Arduino
- 打开串行终端
- 等待 'Connectmbed.org成功'打印入终端
- 串行终端将打印`Helloworld!
#包含
sIM900博取9600//你可以使用AT命令(AT+IPR=9600)通过串行DFROBT_SIM808sim808Chare http_cmd>=GET/media/loads/mbed/hello.txtHTTP/1.0\r\nrnChar缓冲[512]无效设置{// mySerio.begin9600!Serial.begin(9600)!sim808模块初始化串行.print(sim808误差grn)延迟3000sim808.join (F (cmnet)) {serio.println(sim808加入网络错误)延迟(2000年)//成功DHCPQSerio.printSerial.println(sim808.getIPAddress())!//建立TCP连接++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++service.println(Connectmbed.org成功)//Q发送Get请求Qserio.printlsim808.send(http_cmd, sizeof(http_cmd)-1)!{ intret=sim808.recv/{串行.print破解缓冲[ret]s串行打印Serial.print(ret)!串行打印字节:Serial.println(buffer)!破解//Q关闭TCP或UDP连接//***断开无线连接虚回路{{}
GPS数据获取
SIM808GPS/GPRS/GSM屏蔽读取GPS数据的能力
- 打开SIM808_GEPS示例或拷贝代码到您的项目
- 下载并设置函数切换为 Arduino
- 打开串行终端
- 屏蔽外部等待几分钟 并发GPS数据到串行终端
#包含
DFRobot_SIM808 sim808(&Serial)!虚构 {// mySerio.begin9600!Serial.begin(9600)!sim808模块初始化串行.print(sim808误差grn)sim808.atachGPSservice.println(开关GPS功耗)无效循环 {//Q/Q/GPS数据{sim808.getGPS(){串行.printssim808.GPSdata.ySerial.print("/")!Serial.print(sim808.GPSdata.month)!Serial.print("/")!Serial.print(sim808.GPSdata.day)!串行打印Serial.print(sim808.GPSdata.hour)!Serial.print(":")!Serial.print(sim808.GPSdata.minute)!Serial.print(":")!Serial.print(sim808.GPSdata.second)!Serial.print(":")!Serial.println(sim808.GPSdata.centisecond)!串行打印Serial.println(sim808.GPSdata.lat)!串行打印Serial.println(sim808.GPSdata.lon)!串行打印Serial.println(sim808.GPSdata.speed_kph)!串行打印Serial.println(sim808.GPSdata.heading)!Serial.println()!关上GPS电源sim808dachGPS}}
USB调试
本节中,我们将通过串口发送AT命令去调试SIM808扩展屏蔽参考SIM808AT命令集更多函数
准备
- 硬件 :
- ArduinoUNO系统x1
- SIM808扩展板x
- 外部电源x
- 软件:
- Arduinoi点击下载 Arduinoi
- 串行调试助手DF串行调试器Lisper)
**STEP**
- 插上SIM808扩展屏蔽并插上 ArduinoUNO扩展屏蔽
- 拨函数切换无下载样本代码Blink以确保串口不占用
- 按下启动电源按钮等待SIM卡正确注册网络网网指针引导闪存缓慢(3s一次)。
- 滑动函数切换USB_DBGsIM808芯片通过串口助手直接通信
打个电话
发送AT串口助手,如果它返回好表示串行通信建立跟踪图,输入AT命令,你应该有相同的内容
接通电话挂起
发送短信
读短信
TCP通信
GPS面向
注:GPS天线必须放外才能获取稳定GPS定位数据输出
sendAT+CGNSPWR=1命令
AT+CGNSTT=1命令(从串口接收GPS数据)
如果GPS天线布置在外面,你应该尽快获取正确数据
想要暂停GPS数据输出时,可发送**AT+CGNST=0**命令暂停GPS数据输出
想要关GPS函数时,可发送AT+CGNSPWER=0命令关闭GPS电源发送AT+CPOWD=1关闭SIM808芯片
更多令人振奋的指令,请参考端页AT命令
这两种测试代码非常简单易懂只需输入相应的串行AT命令,即实现相应的函数
SIM808低功耗模式
最小功能模式
系统将缩到最小功能模式下最简单模式将省下更多电耗
- AT+CFUN=
=0,1,4 - AT+CFUN=0最小功能模式在此模式下,您仍可继续使用串口,但AT命令带RF和SIM卡特征将被禁用
- AT+CFUN=1:全功能模式
- AT+CFUN=4空机模式在此模式下,您仍可继续使用串口,但AT命令带RF和SIM卡特征将被禁用
更多特征请参考AT命令
指令发布
sIM808GPS/GPRS/GSM盾牌SIM808GPS/GPRS/GSM主机.可查维基用户手册
多点
获取SIM808GPS/GPRS/GSM为Arduino提供盾DFROBOT存储器或DFROBT分布器.