ESP8266连接阿里云控制LED灯

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

效果图:

  

ESP8266连接阿里云控制LED灯

ESP8266连接阿里云控制LED灯

首先要用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、现在可以开始调试了,如图登陆成功就会显示在线或离线以及最后一次连接时间

ESP8266连接阿里云控制LED灯

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

 源码公众号可留言邮箱。

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

        

ESP8266连接阿里云控制LED灯

文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树云原生环境小结云原生的分层8582 人正在系统学习中

来源:xxxsdn

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年3月17日
下一篇 2022年3月17日

相关推荐