wuji 发表于 2019-4-9 10:01:28

【阿里云IoT套件使用教程3】将ESP32接入物联网平台

本帖最后由 wuji 于 2019-4-9 10:02 编辑

将ESP32接入物联网平台           前一章节介绍了如何在物联网平台上创建产品和设备,本节讲述了如何将真实设备连接到阿里云IoT平台上。       以连接在ESP32上的LED为例,要将LED设备连接到物联网平台,即将ESP32接入物联网,需要做如下步骤:            1.在物联网平台上创建相应的产品和设备;            2.将ESP32接入互联网(WiFi);(LED灯需借助ESP32的WiFi功能接入互联网)            3.从物联网平台获取设备的设备证书、域名、端口号等连接信息。
所需材料阿里云IoT 入门套件x1
ESP32接入    在开始之前,先下载阿里云IoT入门套件库文件及样例代码,下载页面:https://www.dfrobot.com.cn/goods-1896.html1.在物联网平台上创建相应的产品和设备       在物联网平台上创建产品和设备。创建的具体操作,请参考前面章节产品及设备创建,这里就不多说了。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平台之间的通信。

rzyzzxw 发表于 2019-4-9 10:57:20

本帖最后由 rzyzzxw 于 2019-4-9 11:06 编辑

等您下一篇。
您有时间写一个用mind+图形化和阿里云,掌控板物联的教程吧,搞了几天,一直没有成功。我现在能连接上设备,却不能通信。{:5_169:}

rzegkly 发表于 2019-4-9 14:17:10

很好的物联网教程,学习下

gada888 发表于 2019-4-9 14:52:18

详尽的教程步骤

龙神ldy 发表于 2019-4-23 17:09:12

应用六:智能门锁 这块你们 门锁的接线图 有吗。就差这个 了

wuji 发表于 2019-4-24 16:35:44

龙神ldy 发表于 2019-4-23 17:09
应用六:智能门锁 这块你们 门锁的接线图 有吗。就差这个 了
电源12V,把UNO换成ESP32即可

龙神ldy 发表于 2019-4-25 15:24:50

貌似还是不行。。继电器 都有信号进来了。就是不会通电打开 锁头

wuji 发表于 2019-4-26 10:52:20

龙神ldy 发表于 2019-4-25 15:24
貌似还是不行。。继电器 都有信号进来了。就是不会通电打开 锁头
先用锁的电源线一头接地,一头试触法,看看锁有没有反应,用试触法+Arduino串口打印,查看锁的信号线的输出值

DFBJKmr6VoQ 发表于 2019-5-12 23:10:17

rzyzzxw 发表于 2019-4-9 10:57
等您下一篇。
您有时间写一个用mind+图形化和阿里云,掌控板物联的教程吧,搞了几天,一直没有成功。我现在 ...

请问这个用MIND+、阿里云和掌控板实现了吗?多谢

DFrJ30-4u3V 发表于 2019-5-17 12:00:04

一定要这个IOT套件才行吗?我用我的esp32f行吗?

DFrJ30-4u3V 发表于 2019-5-17 12:03:36

我用我的esp32f烧录例程后一直系统复位,还发这个东西Guru Meditation Error of type InstrFetchProhibited occurred on core0. Exception was unhandled.
Register dump:
PC      : 0x3ffc1094PS      : 0x00060033A0      : 0x80085841A1      : 0x3ffc05a0
A2      : 0x00000000A3      : 0x00060021A4      : 0x00060e23A5      : 0x00000020
A6      : 0x00000020A7      : 0x00060023A8      : 0x80081ba5A9      : 0x3ffc3f24
A10   : 0x3ffc1088A11   : 0x00060023A12   : 0x00060021A13   : 0x3ffc8730
A14   : 0x3ffc17a0A15   : 0x00060023SAR   : 0x00000012EXCCAUSE: 0x00000014
EXCVADDR: 0x3ffc1094LBEG    : 0x00000000LEND    : 0x00000000LCOUNT: 0x00000000

Backtrace: 0x3ffc1094:0x3ffc05a0
请问一下怎么解决啊

DFHk-0ykaN8 发表于 2020-3-4 16:10:17

物联网平台的三元组写入后,无法连接,是否是代码的问题呢?

DFHk-0ykaN8 发表于 2020-3-5 10:25:32

ESP32写入后,wifi连接不上是否可以提示一下,谢谢楼主。
页: [1]
查看完整版本: 【阿里云IoT套件使用教程3】将ESP32接入物联网平台