arduino的esp32与阿里云物联网平台连接的温室监控系统

先看成果

 

1.咋把设备连接到阿里云平台捏?

在网上搜索一番,百度搜不到,于是乎去谷歌一下,发现github上有个连接阿里云的esp8266的库,那就拿来吧!对库自带的example代码进行修改,包括不限于把esp8266的配置库改成esp32的、输入WiFi账号密码、三元组定义,配置搞完了,烧录,看到阿里云平台上创建的设备“在线”,OK,伟大的第一步成功。(耗时1个月)

2.咋把设备的数据上发到阿里云平台?

研究了一阵示例代码,什么bind,send函数也不知道干啥用的,迷迷糊糊的用send函数上发了dht11的温度数据,好歹成功,但不知道原理,为以后的难题垫下坚实的基础。(耗时半个月)

3.咋把平台的数据下发到设备呢

通过阿里云平台的调试模块,象征性的下发了几个数据,发现设备始终接收不到,平台显示下发数据超时,只能硬着头皮去库里面去找每个函数的作用,经过千辛万苦,好歹明白了这几个函数的作用,大致分为两个函数,上发函数和下发函数,而其中上发函数是默认集成到库中的loop函数中,在主函数中由于我在loop函数后面加了while1(),把我主要的代码都挪到while函数里面了,导致被遗弃在外面的loop函数只是在通电的瞬间运行一次后就再也没运行过,这就最终导致了下发数据不成功。(耗时半个月)

4.设备上发数据太频繁了(每秒四次)咋办

去原来github作者的read文本中了解到,上发数据取决于两个东西,首先取决于数据的积攒量,积攒量到达一定程度会上发数据,另外一种情况是如果在规定的时间里数据积攒量不足,那么就直接上发数据。用了很多网上的方法,就是死活降不下上发频率,然后有一天吃着饭,突然顿悟,我在main函数里面加一个变量,没循环一遍加1,加到100时再用send函数,这不就把积攒量减小了嘛!于是乎试验,成功(耗时3天+一顿饭)

5.下发数据又又又失败

上发的频率是解决了,但是上发频率下降了(每十秒一次),反而导致上发数据又超时失败,于是乎猜测上发数据的函数和下发数据的函数应该和另外一个管控总网络连接的函数有关,于是把库代码一股脑丢给AI分析,它告诉我和mqtt定时检查连接函数有关,于是找到连接频率定义,发现连接频率为每十秒一次,与上发频率不谋而合,这反而对我来说是个障眼法,于是为了验证,我去更改上发频率为每五秒一次,烧录,发现设备还是每十秒一次上发,OK,猜测正确,把mqtt连接频率也改成五秒一次,烧录,设备五秒一次上发,并且下发数据正确,所以阿里云下发数据的最长容忍时间是低于十秒的,成功解决最后难题。(耗时二天)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: ESP32连接阿里云MQTT物联网平台Arduino支持库是一种便捷的物联网连接方式,可以实时获取设备数据并作出相应的控制。以下是步骤: 1. 下载阿里云Arduino支持库,安装到Arduino IDE开发环境; 2. 获取阿里云MQTT物联网平台(IoT Platform)的密钥信息,包括:设备证书、密钥等; 3. 编写代码,包括:WiFi连接、MQTT连接、数据监听、数据上传、控制响应等,上传到ESP32开发板上; 4. 在阿里云控制台创建对应设备,定义设备的物模型、功能、属性等; 5. 将ESP32连接WiFi并连接阿里云MQTT物联网平台后,即可实现设备控制与数据获取等功能。 需要注意的是,在使用ESP32连接阿里云MQTT物联网平台过程中,应注意设备的网络稳定性、MQTT协议的消息确认机制等方面的问题。合理使用阿里云提供的服务和开发工具,能够更好地实现IoT物联网应用场景。 ### 回答2: ESP32是一款功能强大的微控制器,可以与阿里云MQTT物联网平台进行连接。为了实现这一目标,我们需要使用适用于ArduinoESP32连接阿里云MQTT物联网平台的库。 这个库可以在Arduino ID中下载,它允许ESP32阿里云MQTT物联网平台实现关联和同步。我们只需要在Arduino IDE中添加库并编写所需的代码,就可以建立连接。 在详细说明之前,需要先确定在阿里云MQTT物联网平台中已创建AWS IoT设备,并获取设备证书、设备密钥和CA证书。这些证书将用于连接阿里云服务。 接下来,在Arduino IDE中添加库并开始编写代码。代码确认设备连接信息并建立MQTT连接。代码还包括订阅主题、发布消息和处理回传消息等功能。 在使用此库连接ESP32阿里云MQTT物联网平台时,需要记住以下几点: 1.确认ESP32的设备IP地址并相应地更改代码。 2.在阿里云MQTT物联网平台上添加主题和订阅者。 3.正确配置阿里云MQTT物联网平台的策略和权限,确保ESP32可以正确访问。 一旦连接成功,ESP32就可以通过阿里云MQTT物联网平台与其他设备进行数据交换,实现智能家居、传感器应用和其他物联网应用。 ### 回答3: ESP32是一款广泛应用于物联网设备的微型控制器,它具有高度集成的蓝牙和Wi-Fi模块,可用于快速构建和部署智能设备和系统。阿里云MQTT物联网平台是一个领先的云端服务平台,提供了可靠、高效的通信,帮助开发人员更好地管理和控制物联网设备。在这种情况下,合并ESP32阿里云平台的连接可以极大地提高物联网设备的运行效率和控制能力。为实现这种连接,实用的方法是使用arduino支持库。 与其他加密、配对和通信协议不同,MQTT是一个极为开放的协议,并可以广泛用于不同的设备和应用。阿里云MQTT物联网平台支持MQTT协议,为开发人员创建更加智能化的物联网设备提供了全面的解决方案。 开发人员可以使用esp32连接阿里云mqtt物联网平台arduino支持库。该库包含了所有用于连接和操作MQTT服务的必备组件,如mqtt客户端、设备管理、云消息代理等。您可以在阿里云物联网控制台上获取所有必要的信息和证书,以便在ESP32上运行。 在运行这些组件之前,您需要为设备创建一些认证凭据和配置参数,例如设备ID、秘钥,以及所属分组信息等,这些信息可以通过阿里云物联网平台进行设置。一旦您设置好了所有的认证和配置信息,您就可以使用支持库中的命令来连接到MQTT服务,并快速部署和控制自己的物联网设备。 总之,使用arduino支持库,您可以快速连接阿里云MQTT物联网平台,不需要复杂复制粘贴代码,专注于实现您的物联网设备的逻辑、控制和应用。它不仅方便易用,而且可以大大提高你的开发效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值