当前位置:   article > 正文

ESP8266连接阿里云控制LED灯_pubsubclient.h的阿里云点灯

pubsubclient.h的阿里云点灯

用arduino软件让ESP8266连接到阿里云,进而和云进行通信。

效果图:

  

首先要用Arduino的SDK,需要下载库文件 AliyunIoTSDKArduinoJson PubSubClientCryptoAWS-SDK-ESP8266库。

AliyunIoTSDK,包含连接阿里云功能的SDK

PubSubClient,包含阿里云发布/订阅功能的SDK 

Crypto加密功能的sdk。

ArduinoJson,解析Json数据格式SDK。

库文件准备好,配置阿里云的环境。

  1. 创建阿里云账号,进入阿里云物联网平台(新人免费)
  2. 创建产品,产品名输入,其余默认选择。
  3. 添加设备,名称输入,会有ProductKeyDeviceSecret、DEVICE_NAME、REGION_ID等信息
  4. 进入产品界面,功能定义,添加功能,比如我是灯的开关,添加的就是灯开关,标识符可以自定义,数据类型自定义,确定,会提示你查看你定义的是否准确,然后确认,点击发布就可以了。

Arduino编程

1、写入你自己的产品名称

#define PRODUCT_KEY "PRODUCT_KEY"

#define DEVICE_NAME "DEVICE_NAME"

#define DEVICE_SECRET "DEVICE_SECRET"

#define REGION_ID "REGION_ID"

  1. ESP8266连接wifi
  2. 连接阿里云

AliyunIoTSDK::begin(espClient, PRODUCT_KEY, DEVICE_NAME, DEVICE_SECRET, REGION_ID); 

  1. 发送接收数据

接收

 AliyunIoTSDK::bindData("LightSwitch(你自己设置的标识符)", lightCallback(回调函数);

发送

AliyunIoTSDK::send("LightLuminance(标识符)", 100(数据));

  1. 下面是我的回调函数

void lightCallback(JsonVariant data1)

{

    int LightSwitch = data1["LightSwitch"];

    if (LightSwitch == 1)

    {

              Serial.println("kaideng");

        digitalWrite(LED, HIGH); // 启动设备

    }

    else {

            Serial.println("guandeng");

       digitalWrite(LED, LOW);

    }

}

6、编译,如果串口返回MQTT Connect err : 2,说明MQTT没有连接

此时更改PubSubClient.h文件中的两个宏MQTT_MAX_PACKET_SIZE和MQTT_KEEPALIVE,将其改大点,改成1024和60。

7、现在可以开始调试了,如图登陆成功就会显示在线或离线以及最后一次连接时间

 调试,点击设备在线调试,如果想发什么数据,发送数据,点击设置就是发送,读取数据点击获取就ok了,至此调试完成。

 源码公众号可留言邮箱。

 最后,请多多支持,谢谢大家!

        

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/391434
推荐阅读
相关标签
  

闽ICP备14008679号