esp8266/32+Arduino+MQTT+AliyunIoTSDK.h+阿里云iot,案例

之前一直搞不定阿里云的Tkon令牌
后面看到这个AliyunIoTSDK库,超级简单
一行代码连接阿里云
在Arduino库里安装AliyunIoTSDK就行,前提要安装ArduinoJson,Crypto,PubSubClient库
AliyunIoTSDK介绍:https://github.com/yu-tou/arduino-aliyun-iot-sdk
依赖 PubSubClient ,在使用前,请务必修改 PubSubClient 的连接参数,否则无法使用
PubSubClient 中的 MQTT_MAX_PACKET_SIZE 修改为 1024
PubSubClient 中的 MQTT_KEEPALIVE 修改为 60

修改PubSubClient.h文件,
PubSubClient.h在哪里?
在Arduino项目文件夹里->libraries文件夹,不是Arduino编辑器文件夹
在这里插入图片描述



// 引入 wifi 模块,并实例化,不同的芯片这里的依赖可能不同
#include <ESP8266WiFi.h>
static WiFiClient espClient;

// 引入阿里云 IoT SDK
#include <AliyunIoTSDK.h>

// 设置产品和设备的信息,从阿里云设备信息里查看
#define PRODUCT_KEY "a1fg***rjd2"
#define DEVICE_NAME "led1"
#define DEVICE_SECRET "858fec6a15572********585fc0277"
#define REGION_ID "cn-shanghai"

// 设置 wifi 信息
#define WIFI_SSID "360wifi"
#define WIFI_PASSWD "11111111"

void setup()
{
    Serial.begin(115200);
    pinMode(BUILTIN_LED, OUTPUT);// 定义板载LED灯为输出方式
    // 初始化 wifi
    wifiInit(WIFI_SSID, WIFI_PASSWD);
    
    // 初始化 iot,需传入 wifi 的 client,和设备产品信息
    AliyunIoTSDK::begin(espClient, PRODUCT_KEY, DEVICE_NAME, DEVICE_SECRET, REGION_ID);
    
    // 绑定一个设备属性回调,当远程修改此属性,会触发 powerCallback
    // PowerSwitch 是在设备产品中定义的物联网模型的 id
    AliyunIoTSDK::bindData("PowerSwitch", powerCallback);
    
    // 发送一个数据到云平台,PowerSwitch 是在设备产品中定义的物联网模型的 id
    
    AliyunIoTSDK::send("PowerSwitch", 0);
}

void loop()
{
    AliyunIoTSDK::loop();

}

// 初始化 wifi 连接
void wifiInit(const char *ssid, const char *passphrase)
{
    WiFi.mode(WIFI_STA);
    WiFi.begin(ssid, passphrase);
    while (WiFi.status() != WL_CONNECTED)
    {
        delay(1000);
        Serial.println("WiFi not Connect");
    }
    Serial.println("Connected to AP");
}

// 电源属性修改的回调函数
void powerCallback(JsonVariant p)
{
    int PowerSwitch = p["PowerSwitch"];
    if (PowerSwitch == 1)
    {
        // 启动设备
        Serial.println("开关=1了");
        digitalWrite(BUILTIN_LED, HIGH);   // 熄灯
    }
    if (PowerSwitch == 0)
    {
        // 启动设备
        Serial.println("开关=0了");
        digitalWrite(BUILTIN_LED, LOW);   // 亮灯
    } 
}

阿里云设置,
上面的PowerSwitch一定要在产品->功能里有
在这里插入图片描述
这个属性是自己加的,
在这里插入图片描述
可以在->在线调试里,测试

控制端,diy,新版地址https://studio.iot.aliyun.com/

重点是要绑定好设备,才能控制
在这里插入图片描述
样式不用管,只设置交互,设置值容易出错,
在这里插入图片描述

  • 6
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fenxw分享网

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值