NodeMCU第一次接入阿里物联网记录贴-Arduino中文社区 - Powered by Discuz! Archiver

wwwyyy317 发表于 2020-4-26 13:44

佩服!:):):)

1002p 发表于 2020-4-28 20:43

没有用的别研究了

mxdr 发表于 2020-10-13 15:06

楼主有没有尝试过华为云,

Highnose 发表于 2020-11-18 21:22

mxdr 发表于 2020-10-13 15:06
楼主有没有尝试过华为云,

同问,也想华为云

mangge08 发表于 2020-12-15 09:26

学习了   

tangfei 发表于 2020-12-16 13:23

mxdr 发表于 2020-10-13 15:06
楼主有没有尝试过华为云,

同上,想试下华为云的效果

tangfei 发表于 2020-12-17 10:07

楼上的这些家伙全是复制粘帖,我在操作的时候遇到的问题提都没提,我遇到的就是mqtt一直连接不上,让我一直怀疑是配置出错了,知道最后查找资料才知道,需要修改引入的PubSubClient,修改数据为
// MQTT_MAX_PACKET_SIZE : Maximum packet size. Override with setBufferSize().
#ifndef MQTT_MAX_PACKET_SIZE
#define MQTT_MAX_PACKET_SIZE 1024
#endif

// MQTT_KEEPALIVE : keepAlive interval in Seconds. Override with setKeepAlive()
#ifndef MQTT_KEEPALIVE
#define MQTT_KEEPALIVE 60
#endif

ws9528 发表于 2021-1-12 11:44

N个月后再次复出,研究阿里云。现在链接上是没有任何问题了,特把代码发出来以供后人学习。
此代码仅仅是链接成功阿里云 MQTT
#include <ESP8266WiFi.h>                                                                     /* 自带库不用安装 */

#include <PubSubClient.h>                                                                      /* 在项目-》加载库中 查找PubSubClient   向下拉找到 PubSubClient by Nick O`Leary进行安装 */
#include <ArduinoJson.h>                                                                     /* 在项目-》加载库中 查找ArduinoJson    第一个就是 ArduinoJson by Benoit Blanchon 进行安装 */
WiFiClient ESP_Ke_Hu_Duan;                                                                     /* ESP客户端 实例化 WIFIClient 为 esp客户端 */
PubSubClientclient(ESP_Ke_Hu_Duan);                                                          /* 发布一个子客户端 客户端(esp客户端) */


/* 特别注意 修改PubSubClient.h文件(不修改无法连接Mqtt服务器)修改为 第一处:#define MQTT_MAX_PACKET_SIZE 1024   第二处:#define MQTT_KEEPALIVE 60 /
阿里云相关常量 */
#define ProductKey       "a1byyGa1WYL"                                                         /* 声明常量产品密钥所在位置 阿里云->物联网平台->设备管理->产品->ProductKey */
#define DeviceName       "MCU_LED"                                                             /* 声明常量设备名称所在位置 阿里云->物联网平台->设备管理->设备->DeviceName/备注名称 下面那个名字 */
#define DeviceSecret   "a7665f856d894d81e6af990311b0de60"                                    /* 声明常量设备密钥所在位置 阿里云->物联网平台->设备管理->设备->查看->右上角 DeviceSecret */
#define Region_ID      "cn-shanghai"                                                         /* 声明常量地区ID    所在位置 阿里云->物联网平台->设备管理->设备->查看->地域根据所在服务器地区不同修改 具体地区看这里 https://help.aliyun.com/document_detail/40654.html */

#define CLIENT_ID      DeviceName "|securemode=3,signmethod=hmacsha1|"                     /* 声明常量客户端ID无需修改 参数具体说明在这里 https://help.aliyun.com/document_detail/86706.html?spm=a2c4g.11174283.2.44.2b351668mRnKcK*/

#define MQTT_SERVER      ProductKey ".iot-as-mqtt." Region_ID ".aliyuncs.com"                  /* 声明常量MQTT_服务器名称 固定格式无需修改 */
#define MQTT_PORT      1883                                                                  /* 声明常量MQTT_端口      固定端口无需修改 */

#define MQTT_USRNAME   DeviceName "&" ProductKey                                             /* 声明常量MQTT_用户名   固定端口无需修改 这是由 设备名称DeviceName "&" 产品密钥ProductKey 这两个参数组成的,这两个参数在上面有。 */
#define MQTT_PASSWD      "913AA58B8D5A309B55197DDDE91C685E944D2F59"                            /* 声明常量MQTT_密码       是用一个工具算出来的 下载地址为:https://files.alicdn.com/tpsservice/88413c66e471bec826257781969d1bc7.zip?spm=a2c4g.11186623.2.21.70045800E7MImP&file=88413c66e471bec826257781969d1bc7.zip*/



void setup() {
Serial.begin(115200);                     // 串口.启动(115200);

Jian_Cha_WIFI_Lian_Jie();                   // 连接_WIFI
Jian_Cha_MQTT_Lian_Jie();                   // 检查_MQTT_连接
}




void loop() {

}











































//检查_MQTT_连接
void Jian_Cha_MQTT_Lian_Jie() {                                     /* 检查_MQTT_连接 */
client.setServer(MQTT_SERVER, MQTT_PORT);                         /* 设置服务器(MQTT_服务器,MQTT_端口) */

while (!client.connected()) {                                     /* 循环判断如果客户没有链接到MQTT */
    Serial.println("正在连接到MQTT服务器。。。");                      /* 串口.打印("正在连接到MQTT服务器。。。"); */
    if (client.connect(CLIENT_ID, MQTT_USRNAME, MQTT_PASSWD)){    /* 如果客户端链接成功 */
      Serial.println("MQTT已连接!");                              /* 串口.打印("MQTT已连接!"); */
    } else {                                                      /* 否则 */
      Serial.print("MQTT连接错误:");                              /* 串口.打印("MQTT连接错误:"); */
      Serial.println(client.state());                               /* 串口.打印(客户端.状态); */
      delay(5000);                                                /* 特别注意,这个延时必须加,否则因为多次申请MQTT链接,会被直接断开   链接失败 */
    }
}


}







/* 连接_WIFI */
#define WIFI_SSID   "HKDNFW"                         /*WIFI的名称 */
#define WIFI_PASSWD   "13488214252"                  /*WIFI的密码 */

void Jian_Cha_WIFI_Lian_Jie() {                              /*连接_WIFI函数过程 */

if ((WiFi.status() != WL_CONNECTED)) {          /*判断WIFI状态 如果不等于链接 */
    Serial.println("正在连接到WIFI...");            /* 串口.打印("正在连接到WIFI..."); */
    if (WiFi.begin(WIFI_SSID, WIFI_PASSWD)){    /* 如果WIFI端链接成功 */
      Serial.print("WIFI已链接,IP地址: ");         /*串口.打印("IP地址: "); */
      Serial.println(WiFi.localIP());             /*串口.打印(WiFi.本地IP); */
      digitalWrite(D4, HIGH );                  /*设置指示灯为亮 */
    } else {                                    /* 否则 */
      digitalWrite(D4, LOW );                     /*设置指示灯为熄灭 */
      Serial.print("WIFI已掉线正在重试");         /*串口.打印("设备已掉线正在重试"); */
    }
}

}

ws9528 发表于 2021-1-24 19:17

现在接入阿里云,没有任何问题了。

Highnose 发表于 2022-1-21 18:05

本帖最后由 Highnose 于 2022-1-21 18:23 编辑

楼主牛B,帮了我的大忙:handshake:hug:
希望能介绍一下 下载历史数据的功能
页: 1 [2] 3
查看完整版本: NodeMCU第一次接入阿里物联网记录贴