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

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

楼主: ws9528

NodeMCU第一次接入阿里物联网记录贴

[复制链接]
发表于 2020-4-28 20:43 | 显示全部楼层
没有用的别研究了
发表于 2020-10-13 15:06 | 显示全部楼层
楼主有没有尝试过华为云,
发表于 2020-11-18 21:22 | 显示全部楼层
mxdr 发表于 2020-10-13 15:06
楼主有没有尝试过华为云,

同问,也想华为云
发表于 2020-12-15 09:26 | 显示全部楼层
学习了     
发表于 2020-12-16 13:23 | 显示全部楼层
mxdr 发表于 2020-10-13 15:06
楼主有没有尝试过华为云,

同上,想试下华为云的效果
发表于 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
 楼主| 发表于 2021-1-12 11:44 | 显示全部楼层
N个月后再次复出,研究阿里云。现在链接上是没有任何问题了,特把代码发出来以供后人学习。
此代码仅仅是链接成功阿里云 MQTT

  1. #include <ESP8266WiFi.h>                                                                       /* 自带库  不用安装 */

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


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

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

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

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



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

  19.   Jian_Cha_WIFI_Lian_Jie();                   // 连接_WIFI
  20.   Jian_Cha_MQTT_Lian_Jie();                   // 检查_MQTT_连接
  21. }




  22. void loop() {

  23. }











































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

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


  37. }







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

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

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

  53. }
复制代码


 楼主| 发表于 2021-1-24 19:17 | 显示全部楼层
现在接入阿里云,没有任何问题了。
发表于 2022-1-21 18:05 | 显示全部楼层
本帖最后由 Highnose 于 2022-1-21 18:23 编辑

楼主牛B,帮了我的大忙
希望能介绍一下 下载历史数据的功能
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 02:46 , Processed in 0.102605 second(s), 13 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表