本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

基于ESP8266的温湿度测量系统

发布时间:2022-07-31
分享到:

基于ESP8266的温湿度测量系统

发布时间:2022-07-31
分享到:

该项目将通过 NodeMCU 与 DHT11 无线传输数据。此传输将通过使用 AndroidThings 作为网关并根据我们设置的规则点亮一个 LED 来完成。

  • NodeMCU 将成为 Wi-Fi 接入点;开始将您的 IP 和端口号传输到网络。
  • 在AP模式下将设备保存到系统,并建立无线连接。
  • 一旦设置了客户端连接;读取温湿度传输频率,并以此频率开始向客户端传输数据。
  • 如果连接丢失,重新连接到网络,结束客户端连接并等待重新连接。
  • 当 LED 事件发生时执行。
  • 设置规则并连接 IFTTT 连接,将您的数据用于频道。

1 Devzone注册和应用程序下载

  • 在https://devzone.iot-ignite.com/dpanel/login.php?page=development注册并登录免费开发者帐户,
  • 下载 AndroidThings代理,

2 为 Android 作为物联网网关做好准备

  • 下载 AndroidThings,
  • 下载并设置 win32 磁盘映像应用程序,
  • 使用 Android Things Image 刷新 SD 卡,

3 AndroidThings 配置——ADB Connect、IoT 代理安装

  • 使用 Android Things 启动网关并连接以太网,
  • 运行 PowerShell 并将 Android Things 与 ADB 控制台连接,
  • 使用 ADB 控制台命令下载并安装 Android Things 代理,

4 AndroidThings 配置 - Wi-Fi (DROM) Connect、IoT Agent 安装
DROM 是最近开发的 ARDIC 技术,可以在云端远程匹配设备的 mac ID。DROM 与租户建立连接并自动完成注册过程。

  • 使用您的 devzone 凭据输入https://enterprise.iot-ignite.com ,
  • 跟随; 管理 > DROM > DROM 配置 > 添加 DROM 配置步骤,
  • 输入新的 DROM 配置名称并单击保存按钮,
  • 跟随; 管理 > DROM > DROM 网关配置 > 添加 DROM 配置步骤,输入 Raspberry MAC ID(示例 FF:FF:FF:FF:FF:FF@ignite.com),单击添加按钮,
  • 单击按钮,注册将完成。

5 准备NodeMCU进行网关注册
第 1 步:连接 DHT11、电阻和 LED 的组件

如下所示连接引脚以进行设备的物理连接(此连接是为提供的示例代码配置的)。

该套装已准备就绪。现在按照步骤为计算机安装必要的软件做好准备。

第 2 步:为 NodeMCU 做好准备
转到文件/首选项并从下面的链接中添加额外的 esp8266 库,以引入带有 NodeMCU 的 Arduino IDE 以使其可编程。

转到工具菜单并在板管理器屏幕上输入 esp8266,然后单击安装完成安装。

第 3 步:安装文件系统和库
准备安装 NodeMCU 文件系统。

下载文件系统上传插件https://github.com/esp8266/arduino-esp8266fs-plugin/releases/tag/0.2.0,并在 Arduino IDE 下解压为 C:\Program Files (x86)\Arduino\tools\ ESP8266FS\工具

重新启动 Arduino IDE 并通过工具菜单下的数据上传使其准备就绪。

在这里,我们将安装要用于应用程序的库。

用于定时器库;从https://github.com/JChristensen/Timer 下载,并通过“sketch include library, add zip library”将文件添加到IDE。

安装其他通用库,例如​​ ESP8266WiFi、ESP8266mDNS、WiFiUdp、FS ve DHT(草图>包含库>管理库)。

将程序代码添加到 Arduino 并确保我们连接 NodeMCU 的计算机端口。

第 4 步:生成、编译和上传代码
复制本文下方 Github 库中文件中的库以在 Ardunio IDE 中提取,

即:C:\Users\{name}\Documents\Arduino\DynamicNodeRegistrationNodeMCU-IotIgnite

确保数据文件位于 C:\Users\{name}\Documents\Arduino\DynamicNodeRegistrationNodeMCU-IotIgnite\data 下,然后双击文件打开。

上传完成后,现在该集合已准备好使用 NodeMCU。

上传完成后,NodeMCU 必须是接入点。现在我们可以使用我们的开源示例应用程序将 NodeMCU 注册到网关,称为 Service Privoder 应用程序。

DHT11
DHT11传感器有两个版本,3针和4针。基本上两个版本传输的数据是相同的,它们与Arduino连接不同。通过在 4 针传感器上添加一个 10K 电阻,它可以直接连接到 Arduino。3 针传感器上已经有一个电阻。

3针和4针DHT11

服务提供者应用程序(SPA)是开发人员大规模部署过程的模板应用程序。您可以为所有客户使用一种分布。

第一次刷入 NodeMCU 时,它作为服务器和 Wi-Fi 热点启动。热点名称以“Ignite”前缀开头。从 SPA 发送到节点的配置包括以下参数:

  • NodeID // 客户应用程序使用给定的唯一 ID 将 NodeMCU 注册到 IoT Ignite 代理。此 id 在网关域中应该是唯一的。
  • GatewayID // NodeMCU 只能连接到给定的网关 id。
  • SSID Credentials // 节点使用 SSID 名称和密码连接本地网络

配置的 NodeMcu 尝试使用给定的凭据连接到 Wifi 网络。如果 Wifi 连接过程中发生错误,它会返回热点模式。如果连接成功,它会扫描具有给定网关 ID 的网关。如果达到网关发现尝试的最大次数,则返回热点模式。默认情况下,最大尝试次数为 30。当它发现网关时,它将节点库存发送到客户应用程序并等待数据配置。

节点注册有两种方式;

1.从Node的页面注册

连接 NodeMCU 无线网络。

浏览 192.168.1.4

配置 Dateway ID 和无线配置(SSID、密码)

2.注册服务提供商应用程序

  • 安装服务提供商应用程序:https ://download.iot-ignite.com/ServicePlatformApp/
  • 在您的服务提供应用程序上使用您的 devzone 凭据登录。
  • 列出您的 AndroidThings Gateway 并单击 Thing List 和 Add Node Manually 按钮。
  • 输入您的无线信息以连接到 NodeMCU

SPA 连接您的 NodeMCU,为 NodeMCU 提供无线和网关信息。

7 Devzone数据配置-Devzone规则
当您的 NodeMCU 注册后,是时候进行数据配置了。登录您的 Devzone 面板;https://devzone.iot-ignite.com

点击 Developments 菜单项,然后选择 Nodes 项 Data configuration 为 NodeMCU 提供选项;

  • 数据读取频率
  • 数据发送频率
  • 阈值类型
  • 离线数据
  • 自定义配置

我们的示例数据读取和发送频率类型必须为自定义,最小值为 1 分钟。

设置值。配置完成后,更改后必须推送到设备。

最后,IoT-Ignite 将在选定的时间范围内从传感器收集数据。

8 播放时间:Devzone 仪表板 - Devzone 报告
Devzone 有两个可视化报告工具。您可以使用报告选项卡和仪表板选项卡。报告选项卡是简单的数据列表和可视化工具。

仪表板是实时的交互式仪表板和可视化,使用直观的拖放界面可在几分钟内完成。当您打开仪表板时,您可以使用各种类型的工具,并且可以播放配置选项。

每个板都建立在安全、高性能、企业级的云系统之上,每个仪表板都有一个可以共享的唯一 URL。

9 IFTT 连接 - Google Drive 集成

  • 使用您的凭据登录:https ://enterprise.iot-ignite.com
  • 遵循:管理 > 设置 > 外部设置步骤,
  • 登录您的 IFTTT 帐户,创建 Maker Channel API 并复制密钥,
  • 粘贴 API 密钥信息并转到 CEP 规则 > 云规则菜单,
  • 单击新建云规则按钮并设置数据交换的规则配置,
  • 转到 IFTTT 帐户并使用您的制造商频道和谷歌驱动器频道创建小程序。

本文中所用到的一些代码

如果您对此项目有任何想法、意见或问题,请在下方留言。

以上内容翻译自网络,原作者:Şamil Beden,如涉及侵权,可联系删除。

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论