Arduino+ESP8266,AT指令配置连接Onenet物联网平台

前言

该项目为业余时间做的作品,利用Arduino串口发送AT指令配置ESP8266,使ESP8266连接到Onenet物联网平台从而获取云端数据,项目优点是配置简单,程序做好处理了,只需更改WIFI名称、WIFI密码、、Onenet设备号、APIKEY、数据流名称。

Onenet平台具有应用编辑功能,很方便的可以创建出一个上位机的界面,Onenet提供的APP还可以显示网页端编辑好的界面,所以可以很快速的开发出一个物联网系统的上位机程序。在本作品中我创建了一个按钮用于控制LED灯

效果如下图

 

 

演示视频:https://v.youku.com/v_show/id_XNDI2ODAzMzQ3Mg==.html?spm=a2h3j.8428770.3416059.1

Onenet配置

在另一篇博客做详细的介绍编写中

硬件部分

 

器材数量截图
Arduino UNO1

 

ESP8266(ESP-01S)1

 

LED(5V)1

 

 

接线部分

ESP8266Arduino
3V33.3V
GNDGND
RXTx--1
TXRx--2

 

程序

1、配置串口及初始化ESP8266

初始化ESP8266

void ConnectSetup()   //初始化ESP8266,连接WiFi
{
  Serial.begin(115200);
  Serial.println("AT+CWMODE=1");    //配置为Station模式,连接热点
  delay(500);
  Serial.println("AT+RST");         //复位ESP8266模块
  delay(1000);
  Serial.println("AT+CWJAP=\""+WiFiName+"\",\""+WiFIPasswd+"\"");//配置为Station模式,连接热点
  delay(2500);  
}

初始化串口及IO口,在这里控制LED灯的引脚为7号引脚,也可以更改为其他的

void setup()
{

    Serial.begin(115200);
    pinMode(7, OUTPUT);
    ConnectSetup();
}

2、获取Onenet平台取数据

采用Http协议,GET Onenet的数据

void GetOnenet()
{
  String str = "GET  http://api.heclouds.com/devices/"+DeviceID+"/datastreams/"+DataStreamName+"  HTTP/1.1"+"\napi-key:  "+APIKey+"\nHost:api.heclouds.com\nConnection:close\n\n";
  Serial.println("AT+CIPSTART=\"TCP\",\""+ServerIP+"\","+ServerPost);         //连接服务器
  delay(100);
  Serial.println("AT+CIPSEND="+(String)str.length());         //设置发送数据长度
  delay(200);
  Serial.println(str);//Get Onenet的数据
}

3、主程序

定时向串口发送数据包,连接Onenet平台获取数据

void loop()
{
    GetOnenet();
    if (Serial.available() > 0)
    {
      while (Serial.available() > 0)  
      {
          data="";
          while(Serial.read() >= 0){}
          data =Serial.readString();
      }
      if (data.length() > 0)
      {
        char str=data.charAt( data.indexOf("current_value")+15);
        if(str == '0')digitalWrite(7, LOW);
        if(str == '1')digitalWrite(7, HIGH);        
      }
    }
  delay(3000);
}

源码下载:https://download.youkuaiyun.com/download/qq_39901989/11958696

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值