查看: 1738|回复: 10

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

[复制链接]
本帖最后由 wuji 于 2019-4-9 10:02 编辑

将ESP32接入物联网平台
   
       前一章节介绍了如何在物联网平台上创建产品和设备,本节讲述了如何将真实设备连接到阿里云IoT平台上。
       以连接在ESP32上的LED为例,要将LED设备连接到物联网平台,即将ESP32接入物联网,需要做如下步骤:
              1.  在物联网平台上创建相应的产品和设备;
              2.  将ESP32接入互联网(WiFi);(LED灯需借助ESP32的WiFi功能接入互联网
              3.  从物联网平台获取设备的设备证书、域名、端口号等连接信息。

所需材料

ESP32接入
    在开始之前,先下载阿里云IoT入门套件库文件及样例代码,下载页面:http://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等设备信息,如下图所示:

1.png

        II.项目内获取。进入某个项目(例:物联网管理项目)。选择设备管理->设备,进入设备管理页面,在设备列表找到某一设备(如lamp),点击激活凭证查看,即可看到ProductKey、DeviceName、DeviceSecret等设备信息,点击激活凭证如下图所示:

2.png

    在设备管理页面,点击查看进入设备详情页,如下图所示:

3.png

        设备ID:可自定义,64字符以内,如ClientId= "12345"。

       (2)域名获取
        格式:iot-as-mqtt.region.aliyuncs.com
        region需替换为物联网平台服务所在地域的代码。地域代码,请参考地域和可用区。这里的域名是指产品及设备所创建的地域,默认为华东2(上海),如下图所示:

4.png

        华东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连接成功。此时,你会看到设备处于在线状态。

6.png

注意:MQTT连接失败原因:
       1.  设备证书信息、域名、端口号填写错误;
       2.  从别的地方下载了pubsubclient文件,在PubSubClient.h文件中未修改如下所示信息:
5.png
在这一步,只是完成了物理设备连接上阿里云IoT,若要实现通信,还需设置一些参数,下一节会简单的介绍如何实现物理设备同阿里云IoT平台之间的通信。

rzyzzxw  版主

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

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

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

使用道具 举报

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
应用六:智能门锁 这块你们 门锁的接线图 有吗。就差这个 了

门锁.png 电源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 core  0. Exception was unhandled.
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
请问一下怎么解决啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
wifi气象站

硬件清单

btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2019 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail