【阿里云IoT套件使用教程3】将ESP32接入物联网平台
2019-04-092.2万
AI 快速预览详细
本教程详细介绍了如何将ESP32连接到阿里云IoT平台。首先,在物联网平台上创建产品和设备。然后,通过WiFi将ESP32连接到互联网。接着,从物联网平台获取设备证书、域名和端口号等连接信息。最后,将这些信息写入DFRobot提供的demo中,实现MQTT连接。通过本教程,您可以轻松实现ESP32与物联网平台的连接,解决设备无法在线的问题。
|
将ESP32接入物联网平台 前一章节介绍了如何在物联网平台上创建产品和设备,本节讲述了如何将真实设备连接到阿里云IoT平台上。 以连接在ESP32上的LED为例,要将LED设备连接到物联网平台,即将ESP32接入物联网,需要做如下步骤: 1. 在物联网平台上创建相应的产品和设备; 2. 将ESP32接入互联网(WiFi);(LED灯需借助ESP32的WiFi功能接入互联网) 3. 从物联网平台获取设备的设备证书、域名、端口号等连接信息。 所需材料 ESP32接入 在开始之前,先下载阿里云IoT入门套件库文件及样例代码,下载页面:https://www.dfrobot.com.cn/goods-1896.html 1.在物联网平台上创建相应的产品和设备 在物联网平台上创建产品和设备。创建的具体操作,请参考前面章节产品及设备创建,这里就不多说了。 2.将ESP32接入互联网 LED灯连接到ESP32的D2数字口,只需将ESP32主控通过WiFi连接到互联网即可。代码如下 : #include <WiFi.h> /*配置WIFI名和密码*/ const char * WIFI_SSID = "WIFI_SSID"; const char * WIFI_PASSWORD ="WIFI_PASSWORD"; void connectWiFi(){ Serial.print("Connecting to "); Serial.println(WIFI_SSID); WiFi.begin(WIFI_SSID,WIFI_PASSWORD); while(WiFi.status() != WL_CONNECTED){ delay(500); Serial.print("."); } Serial.println(); Serial.println("WiFi connected"); Serial.print("IP Adderss: "); Serial.println(WiFi.localIP()); } 3.从物联网平台获取设备的设备证书、域名、端口号等连接信息 首先,进入物联网平台。 (1)设备证书信息获取 有2种获取方式:I.项目外获取;II.项目内获取 I.项目外获取。选择设备管理->设备,在设备列表找到某一设备,点击查看按钮,即可进入设备详情页,在该页的设备信息栏,即可看到ProductKey、DeviceName、DeviceSecret等设备信息,如下图所示: ![]() II.项目内获取。进入某个项目(例:物联网管理项目)。选择设备管理->设备,进入设备管理页面,在设备列表找到某一设备(如lamp),点击激活凭证或查看,即可看到ProductKey、DeviceName、DeviceSecret等设备信息,点击激活凭证如下图所示: ![]() 在设备管理页面,点击查看,进入设备详情页,如下图所示: ![]() 设备ID:可自定义,64字符以内,如ClientId= "12345"。 (2)域名获取 格式:iot-as-mqtt.region.aliyuncs.com region需替换为物联网平台服务所在地域的代码。地域代码,请参考地域和可用区。这里的域名是指产品及设备所创建的地域,默认为华东2(上海),如下图所示: ![]() 华东2(上海)的Region ID为cn-shanghai,可以用下列代码表示: String ALIYUN_SERVER = "iot-as-mqtt.cn-shanghai.aliyuncs.com"; 若在新加坡创建产品,则为iot-as-mqtt.ap-southeast-1.aliyuncs.com (3)端口号获取 默认端口号为1883,通用。 uint16_t PORT = 1883; 将获取到的WiFi名和密码,设备证书信息,域名和端口号信息写入DF提供的demo中,即可MQTT连接成功。此时,你会看到设备处于在线状态。 ![]() 注意:MQTT连接失败原因: 1. 设备证书信息、域名、端口号填写错误; 2. 从别的地方下载了pubsubclient文件,在PubSubClient.h文件中未修改如下所示信息: ![]() 在这一步,只是完成了物理设备连接上阿里云IoT,若要实现通信,还需设置一些参数,下一节会简单的介绍如何实现物理设备同阿里云IoT平台之间的通信。 |











Register dump:
PC : 0x3ffc1094 PS : 0x00060033 A0 : 0x80085841 A1 : 0x3ffc05a0
A2 : 0x00000000 A3 : 0x00060021 A4 : 0x00060e23 A5 : 0x00000020
A6 : 0x00000020 A7 : 0x00060023 A8 : 0x80081ba5 A9 : 0x3ffc3f24
A10 : 0x3ffc1088 A11 : 0x00060023 A12 : 0x00060021 A13 : 0x3ffc8730
A14 : 0x3ffc17a0 A15 : 0x00060023 SAR : 0x00000012 EXCCAUSE: 0x00000014
EXCVADDR: 0x3ffc1094 LBEG : 0x00000000 LEND : 0x00000000 LCOUNT : 0x00000000
Backtrace: 0x3ffc1094:0x3ffc05a0
请问一下怎么解决啊
先用锁的电源线一头接地,一头试触法,看看锁有没有反应,用试触法+Arduino串口打印,查看锁的信号线的输出值
电源12V,把UNO换成ESP32即可
您有时间写一个用mind+图形化和阿里云,掌控板物联的教程吧,搞了几天,一直没有成功。我现在能连接上设备,却不能通信。