您现在的位置是:首页 >技术杂谈 >SIM900A模块开发:通过GPRS连接OneNet平台发送GPS信息网站首页技术杂谈
SIM900A模块开发:通过GPRS连接OneNet平台发送GPS信息
SIM900A模块开发:通过GPRS连接OneNet平台发送GPS信息
1. SIM900A模块介绍
SIM900A是一种基于GSM/GPRS网络的无线通信模块,由Simcom公司生产。该模块支持全球四个频段,包括850/900/1800/1900MHz,可以在全球范围内使用。模块采用LCC封装技术,非常小巧,适合于各种嵌入式应用。
1.1 SIM900A模块具有以下特点:
- 支持GSM/GPRS网络,可以进行短信、语音和数据传输等多种通信方式;
- 支持全球四个频段,可以在全球范围内使用;
- 采用标准AT指令集,易于控制和使用;
- 支持TCP/IP协议,可以进行网络连接和数据传输;
- 支持GPS功能,可以进行定位和导航;
- 支持低功耗模式,可以在待机状态下降低功耗,延长电池寿命;
- 支持固件升级,可以通过固件升级来改善性能和功能;
- SIM900A模块适用于各种嵌入式应用,例如车载通信、智能家居、远程监控、智能电表等;由于模块小巧、易于控制和使用,因此得到了广泛的应用和推广;
1.2 模块TTL接口图
1.3 硬件连接方法
-
51单片机连接SIM900A模块的TTL电平接口方法:
单片机的TXD连接到5VR(RXD)上;
单片机的RXD连接到5VT(TXD)上;
单片机GND 连接到SIM900A模块GND上;
SIM900A模块的VCC_MCU接入(输入)5V;
SIM900A模块的VCC接入(输入)5V;
此外,要注意共地的问题 -
3.3V单片机连接SIM900A模块的TTL电平接口方法:
3.3V单片机的TXD连接到5VR(RXD)上;
3.3V单片机的RXD连接到5VT(TXD)上;
单片机GND 连接到SIM900A模块的GND上;
SIM900A模块的VCC_MCU接入(输入)3.3V(控制模块TTL电平高电压)
SIM900A模块的VCC接入(输入)5V(供电用)
2. OneNet平台配置
-
进入OneNet官网:https://open.iot.10086.cn/
-
登录并进入开发者中心
-
点击全部产品服务,选择多协议接入,如下图所示
-
点击添加产品,进行如下配置
至此以成功创建产品,接下来要创建设备 -
点击创建的产品,在设备列表中创建新设备并进行如下配置
-
创建成功的界面如下所示
-
点击设备详情,可自己添加APIkey
至此OneNet平台已完成简易配置 -
注意记录自己的设备ID和APIKey
本例设备ID和APIKey为:
设备ID:1075248747
APIKey: 6VXzlg=DtO2hGoKPjY7h90VggVA=
3. AT指令介绍
-
AT //检查SIM900是否正常工作。
-
AT+CPIN? //检查SIM卡是否插入并解锁
-
AT+CREG? //检查SIM卡是否注册到GSM网络
-
AT+CGATT? //检查GPRS是否附着到GSM网络
-
AT+CSQ //检查信号强度
-
AT+SAPBR=3,1,“Contype”,“GPRS” //设置连接类型为GPRS
-
AT+SAPBR=3,1,“APN”,“CMNET” //设置APN,这将取决于你的网络/服务提供商
-
AT+SAPBR=1,1 //启用GPRS连接,这将需要一两分钟时间
-
AT+SAPBR=2,1 //检查连接是否正确,并获取你的IP地址
-
AT+CIPSTART=“TCP”,“183.230.40.33”,“80” //建立TCP连接到目标服务器
-
AT+CIPSEND //发送数据到TCP连接
-
1A //发送数据结束后发送1A,必须以HEX发送,发送后如发送成功则返回SEND OK表示数据发送成功
-
AT+CIPCLOSE //关闭 TCP 连接
-
SIM900A的AT指令手册:
链接:https://pan.baidu.com/s/1VgCtNwWH7Q__8t5owy6eTw
提取码:lc66
4. 如何将GPS信息上传到OneNet平台
4.1 串口调试工具的介绍与简易配置:
- 串口调试工具配置如下
- 串口调试工具:
链接:https://pan.baidu.com/s/1YLeJWf5wrkUUaoYZ7t6pUA
提取码:lc66
4.2 发送AT指令及其反馈
-
AT OK AT+CPIN? +CPIN: READY OK AT+CREG? +CREG: 0,5 OK AT+CGATT? +CGATT: 1 OK AT+CSQ +CSQ: 9,0 OK AT+SAPBR=3,1,"Contype","GPRS" OK AT+SAPBR=3,1,"APN","CMNET" OK AT+SAPBR=1,1 OK AT+SAPBR=2,1 +SAPBR: 1,1,"10.189.51.62" OK AT+CIPSTART="TCP","183.230.40.33","80" OK CONNECT OK AT+CIPSEND >POST /devices/1071469334/datapoints HTTP/1.1 api-key: WItksy6Xj8NBWLOxoubQKxda0Mk= Host:api.heclouds.com Content-Length: 82 {"datastreams":[{"id":"location","datapoints":[{"value":{"lon":140,"lat":32}}]}]} 1A
-
发送成功后,如下图所示
4.3 AT指令反馈讲解及注意事项
-
AT+CPIN?
+CPIN: READY OK
该反馈表示表示 SIM 卡已准备好使用; -
AT+CREG?
+CREG: 0,5
OK
该反馈表示已注册到本地网络,可以进行 GPRS 数据传输; -
AT+CGATT?
+CGATT: 1
OK
该反馈表示已附着到 GPRS 网络; -
AT+CSQ
+CSQ: 9,0
OK
表示信号强度为 9,没有错误;发生信号强度值的范围为 0-31,其中 0 表示无信号,31 表示信号最强。一般来说,信号强度越强,数据传输的成功率就越高。 -
AT+SAPBR=1,1
OK
注意该AT指令必须等到反馈 OK,才能发送下一步AT指令 -
AT+CIPSTART=“TCP”,“183.230.40.33”,“80”
OK
CONNECT OK
该指令必须等到反馈为CONNECT OK才能发送数据包 -
数据包如下所示
将数据包中的设备ID :1075248747和APIKey:6VXzlg=DtO2hGoKPjY7h90VggVA=改为你 自己的设备信息;
本数据包的定位信息为定值,可根据自己需求更改代码
POST /devices/1075248747/datapoints HTTP/1.1
api-key: 6VXzlg=DtO2hGoKPjY7h90VggVA=
Host:api.heclouds.com
Content-Length: 82
{"datastreams":[{"id":"location","datapoints":[{"value":{"lon":140,"lat":32}}]}]}
- 1A
在发送完数据包后必须以Hex形式发送1A,表示结束数据发送,等待返回数据
至此已完成将定位信息通过GPRS上传到OneNet平台