您现在的位置是:首页 >技术杂谈 >SIM900A模块开发:通过GPRS连接OneNet平台发送GPS信息网站首页技术杂谈

SIM900A模块开发:通过GPRS连接OneNet平台发送GPS信息

橘子海1024 2023-06-14 16:00:03
简介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平台

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。