Zigbee+SIM900A 通过http协议实现上传数据到云服务器

本文主要讲述 Zigbee 与 SIM900A 通过HTTP协议将数据上传至云服务器上,如果需要了解Arduino和SIM900A的相关操作请看  http://blog.csdn.net/uyy203/article/details/54445725

GSM操作的操作都写在协调器上面,所以就只放出协调器的代码。这里会添加上一个专门做GSM操作的任务处理函数。

添加任务处理函数的具体步骤请看  http://blog.csdn.net/uyy203/article/details/50633465

zigbee 实现终端和协调器无线组网的主要开发步骤请看  http://blog.csdn.net/uyy203/article/details/51175759


测试的AT指令

AT+SAPBR=1,1 
AT+HTTPINIT 
AT+HTTPPARA="CID",1 
AT+HTTPPARA="URL","http://112.74.12.3:8080/?id=5&statu=1&time=10" 
AT+HTTPACTION=0 
 

服务器接受的数据

117.136.7.208:57560:连接成功
117.136.7.208:57560:GET /?id=666&statu=1&time=520 HTTP/1.1
Host: 112.74.12.3:8080
Accept: */*
Connection: Keep-Alive
User-Agent: SIMCOM_MODULE




主要使用AT命令



AT+CFUN=1
选择模式为 全功能模式

AT+SAPBR=1,1
打开承载,打开网络通道

AT+HTTPINIT
初始化HTTP

AT+HTTPPARA="CID","1"
设置承载上下文标识

AT+HTTPPARA="URL",http://120.9.9.129/xxx/update?tem=12"
设置要访问的url

AT+HTTPACTION=0

激活HTTP请求,0表示Get,1表示Post,2表示head

AT+HTTPREAD=0,60

读取返回信息,从第0到第60个字节

GET 的请求:

[html]  view plain   copy
  1. AT+HTTPTERM  
  2. AT+CSQ  
  3. AT+CGATT?  
  4. AT+SAPBR=3,1,"CONTYPE","GPRS"  
  5. AT+SAPBR=1,1  
  6. AT+HTTPINIT  
  7. AT+HTTPPARA="URL","http://127.0.0.1:3000/v1/test"  
  8. AT+HTTPACTION=0 //发送GET请求,注意返回的状态码  
  9. AT+HTTPREAD   //read data  


POST请求:

[html]  view plain   copy
  1. AT+HTTPTERM  
  2. AT+CSQ  
  3. AT+CGATT?  
  4. AT+SAPBR=3,1,"CONTYPE","GPRS"  
  5. AT+SAPBR=1,1  
  6. AT+HTTPINIT  
  7. AT+HTTPPARA="URL","http://127.0.0.1:3000/v1/mbdevices?devsn=12345678&devtype=abc" 
  8. AT+HTTPACTION=1 //发送POST数据,注意返回的状态码  
  9. AT+HTTPREAD //read data  


1.在OSAL_GenericApp.c 中的osalInitTasks 函数中添加初始化函数名

[cpp]  view plain  copy
  1. void osalInitTasks( void )  
  2. {  
  3.   uint8 taskID = 0;  
  4.   
  5.   tasksEvents = (uint16 *)osal_mem_alloc( sizeof( uint16 ) * tasksCnt);  
  6.   osal_memset( tasksEvents, 0, (sizeof( uint16 ) * tasksCnt));  
  7.   
  8.   macTaskInit( taskID++ );  
  9.   nwk_init( taskID++ );  
  10.   Hal_Init( taskID++ );  
  11. #if defined( MT_TASK )  
  12.   MT_TaskInit( taskID++ );  
  13. #endif  
  14.   APS_Init( taskID++ );  
  15. #if defined ( ZIGBEE_FRAGMENTATION )  
  16.   APSF_Init( taskID++ );  
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值