GSMGPR基于SIM900A的应用与实现 - 图文(7)
图4.3 TCP连接相关设置
图4.3 监听端检测到请求连接成功
步骤二:通过串口发送相应AT命令控制SIM900A模块进行TCP连接。此处需要进行GPRS模块工作的相关设置,设置网络,设置协议,设置接入点等等,并向对方IP发起连接。相关AT命令解释详见表2。当监听端收到GPRS模块端发来的连接请求,进行连接,连接成功后可以在监听端观察到GPRS模块所获得的临时IP地址117.136.5.217(该地址为辽宁移动所有)。
AT命令AT+CGCLASS=\命令解释GPRS移动台类别,B代表终端支持包交换和数据交换将终端附着GPRS业务设置为GPRS连接模式建立TCP连接,参数为对方IP与端口号发送数据 AT+CGDCONT=1,\定义PDP上下文,设置互联网协议,接入点AT+CGATT=1AT+CIPCSGP=1,\AT+CIPSTART=\67.200\AT+CIPSEND 表2 TCP数据传输相关设置命令 19
图4.4 数据发送成功
步骤三:发送数据。在此,我们发送数据“This is a test for Mobile communication technology!”,在接收端可以看见,收到了该数据,从而实现了TCP数据传输。数据传输完毕发送AT命令:AT+CIPCLOSE断开连接,结束传输过程。
此外,本人进行了单片机与SIM900A模块通信的实验,单片机控制SIM900A发送数据,连续发送一天,经过实验结果证明,TCP数据传输有效性基本为100%,由于数据量巨大,在此不予列举。仅提供实验程序,详见附录1。
20
附录1:CC2430控制SIM900A实现TCP相关主要程序
#include
//建立tcp连接
/*
//关闭tpc连接 void AT_CLOSE() {
halUart0SendData(\}
//发送数据
void AT_CIPSEND(BYTE* text) {
BYTE len=strlen(text);
halUart0SendData(\ halUart0SendData(text,len); halUart0SendData(\ }
//查询数据传输状态 void AT_CIPACK() {
halUart0SendData(\ACK\\r\\n\}
//设置本地端口
void AT_CLPORT(BYTE a) {
BYTE b = strlen(a);
halUart0SendData(\\,16);
halUart0SendData(a,b);
halUart0SendData(\
21
}
//激活移动场景 void AT_CIICR() {
halUart0SendData(\ }
//关闭移动场景 void AT_CIPSHUT() {
halUart0SendData(\ }
//获得本地ip void AT_CIFSR() {
halUart0SendData(\}
//查询连接状态
void AT_CIPSTATUS() {
halUart0SendData(\); }
//配置域名服务器DNS
void AT_CDNSCFG(BYTE* dns) {
BYTE a = strlen(dns);
halUart0SendData(\ halUart0SendData(dns,a); halUart0SendData(\}
//域名解析
void AT_CDNSGIP(BYTE* domain) {
BYTE a=strlen(domain);
halUart0SendData(\ halUart0SendData(domain,a); halUart0SendData(\}
//设置自动发送时间(0未设置, 1设置;time 001-100,)
void AT_CIPATS_NotAutoSend(BYTE mode) {
halUart0SendData(\ halUart0SendData(mode,1); halUart0SendData(\}
void AT_CIPATS(BYTE mode,BYTE time) {
halUart0SendData(\ halUart0SendData(mode,1); halUart0SendData(time,3); halUart0SendData(\}
//配置为服务器(0关闭,1开启; port 00001-65535)
void AT_CIPSERVER_CloseServer(BYTE mode) {
halUart0SendData(\ halUart0SendData(mode,1); halUart0SendData(\}
void AT_CIPSERVER(BYTE mode,BYTE port)
{
halUart0SendData(\
halUart0SendData(mode,1); halUart0SendData(port,5); halUart0SendData(\}
//配置tcpip应用模式(0 非透明,1 透明) void AT_CIPMODE(BYTE mode)
{
halUart0SendData(\ halUart0SendData(mode,1); halUart0SendData(\}
//配置透明传输模式(NmRetry 3-8, 2-10,SendSz 0001-1460,esc 0-1)
void AT_CIPCCFG(BYTE NmRetry,BYTE WaitTm,BYTE SendSz,BYTE esc) {
halUart0SendData(\ halUart0SendData(NmRetry,1); halUart0SendData(\ halUart0SendData(WaitTm,1); halUart0SendData(\
halUart0SendData(SendSz ,4); halUart0SendData(\ halUart0SendData(esc,1); halUart0SendData(\}
//中断通话 void ATH() {
if(strcmp(buf,\ {
halUart0SendData(\ } }
*/
#include \
void halUart0Init(UINT32 baudrate) {
IO_PER_LOC_UART0_AT_PORT0_PIN2345();
22
// baudrate should be checked before calling UART_SETUP
// but I havn't done it yet --by allbone UART_SETUP(0, baudrate, 0); // Enable receive U0CSR |= RE; }
void halUart1Init(UINT32 baudrate) {
IO_PER_LOC_UART1_AT_PORT1_PIN4567(); UART_SETUP(1, baudrate, 0); // Enable receive U1CSR |= RE; }
void uart485_Init(void)
{
IO_PER_LOC_UART1_AT_PORT1_PIN4567(); IO_DIR_PORT_PIN(2, 0, IO_OUT);
UART_SETUP(1, 2400, 0x18);//波特率2400,奇校验,停止位高低电平均可 // Enable receive U1CSR |= RE; }
void halUart0SendData(BYTE* txbuf, BYTE len) {
BYTE i;
for(i=0;i { UART0_SEND(*(txbuf+i)); while( U0CSR & COM_TX_ACTIVE ); } } void halUart1SendData(BYTE* txbuf, BYTE len) { BYTE i; 23 for(i=0;i UART1_SEND(*(txbuf+i)); while( U1CSR & COM_TX_ACTIVE ); } } #include \#include \ void sim900a_on(void)//1MHz { P1_7 = 0; halWait(25); P1_7 = 1; halWait(255); halWait(255); halWait(255); halWait(255); P1_7 = 0; } void AT_CIPSTART(void) { halUart0SendData(\ART=\\\\\\} BYTE resdata[70]; uint8 resdataidx; /************主函数部分********/ main() { BYTE stringlen; halInit();//硬件初始化函数 sim900a_on(); resdataidx=0; for(uint8 i=0;i<100;i++) { halWait(200); } halUart0Init(9600); halWait(200); resdataidx=0; halUart0SendData(\ halWait(10); stringlen = strlen((char *)AT_at); halUart0SendData(\ halWait(10); stringlen = strlen((char *)AT_cgclass); halUart0SendData(
…… 此处隐藏:2593字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [实用模板]第八章:法国“新浪潮”与“左岸派”
- [实用模板]2021年北京上半年临床医学检验技师生物
- [实用模板]SAP GUI 7.10客户端安装配置文档
- [实用模板]2001年临床执业医师资格考试综合笔试试
- [实用模板]36机场工作实用英语词汇总结
- [实用模板](一)社会保险稽核通知书
- [实用模板]安全教育主题班会材料
- [实用模板]濉溪县春季呼吸道传染病防控应急演练方
- [实用模板]长沙房地产市场周报(1.30-2.3)
- [实用模板]六年级数学上册典中点 - 图文
- [实用模板]C程序设计(红皮书)习题官方参考答案
- [实用模板]中国证监会第一届创业板发行审核委员会
- [实用模板]桥梁工程复习题
- [实用模板]2011学而思数学及答案
- [实用模板]初中病句修改专项练习
- [实用模板]监理学习知识1 - 图文
- [实用模板]小机灵杯四年级试题
- [实用模板]国贸专业毕业论文模板
- [实用模板]教育学概论考试练习题-判断题4
- [实用模板]2015届高考英语一轮复习精品资料(译林
- 00Nkmhe_市场营销学工商管理_电子商务_
- 事业单位考试法律常识
- 诚信教育实施方案
- 吉大小天鹅食品安全检测箱方案(高中低
- 房地产销售培训资料
- 高一地理必修1复习提纲
- 新概念英语第二册lesson_1_练习题
- 证券公司内部培训资料
- 小学英语时间介词专项练习
- 新世纪英语专业综合教程(第二版)第1册U
- 【新课标】浙教版最新2018年八年级数学
- 工程建设管理纲要
- 外研版 必修一Module 4 A Social Surve
- Adobe认证考试 AE复习资料
- 基于H.264AVC与AVS标准的帧内预测技术
- 《食品检验机构资质认定管理办法》(质
- ABB变频器培训课件
- (完整版)小学说明文阅读练习题及答案
- 深思洛克(SenseLock) 深思IV,深思4,深
- 弟子规全文带拼音




