• arduinoesp32接入腾讯云物联网开发平台


    ESP32是一系列低成本,低功耗的单晶片微控制器,集成了Wi-Fi和双模蓝牙,所以在物联网领域应用广泛。arduino是一个广受欢迎的开源硬件平台,借助arduino-esp32,我们可以使用arduino开发esp32。今天这篇文章介绍下如何通过arduino将esp32连接到腾讯云物联网开发平台

    准备

    1. esp32-devkit-v1/v4
    2. arduino IDE

    接下来安装esp32_arduino的开发库,官网给了通过Arduino IDE,platform IO或者手动安装方式,这里介绍下通过Arduino IDE安装:

    一. 打开文件>首选项
    二. 将下面的地址添加到附加开发板管理器网址

    https://dl.espressif.com/dl/package_esp32_index.json,http://arduino.esp8266.com/stable/package_esp8266com_index.json
    


    三. 打开开发板管理器

    四. 搜索 esp32,然后选择安装

    安装好后,我们可以在开发板中找到 esp32的开发板

    安装其他依赖

    由于esp32是通过MQTT协议连接到物联网平台的,所以我们需要一个实现了mqtt client的库,帮助我们发布订阅相关的topic,需要一个JSON库,帮我们解析JSON。具体步骤是,在工具>管理库中,查找PubSubclientEspMQTTclient,并安装

    下面是我安装好之后的截图:

    此外,同样按照上面的方式来安装ArduinoJSON,用来序列化和反序列化物模型的JSON数据

    编写代码

    上面的库安装好之后,在物联网平台创建设备之后,我们就可以开始连到MQTT broker了。直接上代码,这里要注意的一点是username和password是在连接到云端mqtt broker的时候需要填入的,可以通过这个在线工具生成。

    #include "EspMQTTClient.h"
    #include <ArduinoJson.h>
    
    EspMQTTClient client(
      "", // wifi账号
      "", // wifi密码
      "Z9R4GLTFW4.iotcloud.tencentdevices.com",  // MQTT Broker server ip
      "username", 
      "password", 
      "TestClient"      // Client name that uniquely identify your device
    );
    void setup() {
      Serial.begin(115200);  
    }
    
    void onConnectionEstablished() {
      Serial.println("connect to mqtt success ");
      // 订阅控制指令的topic
      client.subscribe("$thing/down/property/Z9R4GLTFW4/dev1", [] (const String &payload)  {
        Serial.println(payload);
        DeserializationError error = deserializeJson(doc, payload);
      
        // Test if parsing succeeds.
        if (error) {
          Serial.print("deserializeJson() failed: ");
          Serial.println(error.f_str());
          return;
        }
        if (doc["params"]["temperature"] == 1) {
          digitalWrite(LED_BUILTIN, HIGH);
        } else {
          digitalWrite(LED_BUILTIN, LOW);
        }
      });
    
    }
    void loop() {
      client.loop();
      publish();
    }
    
    

    烧录

    工具>开发板中选择正确的开发板esp32-devkit-v1, 在工具>端口中选择正确的串行端口,最后点击上传即可

    总结

    本文主要讲了如何通过arduino将esp32连接到腾讯云物联网平台,如有错误,还望指正

  • 相关阅读:
    .Net程序员安卓学习之路6:等待条
    .Net程序员安卓学习之路5:使用xutils注入View和事件以及图片的显示
    .Net程序员安卓学习之路4:使用xutils Get Post数据
    【MySQL笔记】: unable to connect to remote host. catalog download has failed.
    【MySQL笔记】mysql报错"ERROR 1206 (HY000): The total number of locks exceeds the lock table size"的解决方法
    【MySQL笔记】Excel数据导入Mysql数据库的实现方法——Navicat
    【MySQL笔记】MySql5安装图解教程
    【R笔记】R的内存管理和垃圾清理
    【R笔记】glm函数报错原因及解析
    【R笔记】给R加个编译器——notepad++
  • 原文地址:https://www.cnblogs.com/imgss/p/16280737.html
Copyright © 2020-2023  润新知