美文网首页物联网应用开发
Arduino+SIM900A 通过http协议实现上传数据到云

Arduino+SIM900A 通过http协议实现上传数据到云

作者: Cedric_h | 来源:发表于2019-07-25 01:13 被阅读0次

原文:https://blog.csdn.net/uyy203/article/details/54445725

本文主要讲述Arduino和SIM900A通过HTTP协议将数据上传至云服务器上的相关操作,如果想了解 Zigbee和SIM900A的相关操作请看 https://www.jianshu.com/p/4c69e7172aff

主要使用AT命令

主要使用AT命令

Arduino 代码

#include <SoftwareSerial.h>
SoftwareSerial softSerial(10, 11);//自定义软串口 RX=10 TX=11
void setup() {
  Serial.begin(9600);
  softSerial.begin(9600);
 
  Serial.println("Initing...please wait.");
  //选择模式为 全功能模式
  softSerial.println("AT+CFUN=1");
  delay(15000);
  printLine();
 
  //打开承载,打开网络通道
  softSerial.println("AT+SAPBR=1,1");
  delay(5000);
  printLine();
 
  //初始化HTTP
  softSerial.println("AT+HTTPINIT");
  delay(500);
  printLine();
 
  Serial.println("finished init!");
 
}
 
void loop() {
 
  //设置承载上下文标识,每次登陆网页前都需要进行一次,不然网页缓存会造车频繁更新的数据无法通过url传值到web后台
  softSerial.println("AT+HTTPPARA=\"CID\",\"1\"");
  delay(500);
  printLine();
 
  //设置要访问的url,假设需要传tem字段,值为12,通过如下URL传值可以实现,当然web端要与之对应
  String sendDaata = "AT+HTTPPARA=\"URL\",\"http://120.9.9.129/xxx/update?tem=12\"";
  softSerial.println(sendDaata);
  delay(750);
  printLine();
 
 
  //激活HTTP请求,后面参数表示Http请求方式,参数0表示Get方式,1表示Post方式,2表示head方式。
  //  softSerial.flush();
  softSerial.println("AT+HTTPACTION=0");
  delay(2000);
  printLine();
 
  // 读取返回信息读取数据,从第0个字节到第60个字节
  softSerial.println("AT+HTTPREAD=0,60");
  delay(100);
  printLine();
 
 
 
  delay(2000);
 
}
 
 
//读取串口返回信息
void printLine() {
  String data;
  while (softSerial.available() > 0)
  {
    char c = softSerial.read();
    data += c;
  }
  Serial.println(data);
}

相关文章

网友评论

    本文标题:Arduino+SIM900A 通过http协议实现上传数据到云

    本文链接:https://www.haomeiwen.com/subject/hewqrctx.html