当前位置:首页 > 物联网 > IoT设计分享
[导读]根据一份报告,到2020年,全球将有超过204亿个联网设备。物联网平台是互联设备增长的主要推动者。为了将设备连接到互联网,它们提供许多集成服务和基础设施,如数据存储、连接、显示、控制等。因此,它们减少了部署物联网解决方案所需的工作量和投资,这是一些最成功的物联网解决方案背后的主要原因之一。

根据一份报告,到2020年,全球将有超过204亿个联网设备。物联网平台是互联设备增长的主要推动者。为了将设备连接到互联网,它们提供许多集成服务和基础设施,如数据存储、连接、显示、控制等。因此,它们减少了部署物联网解决方案所需的工作量和投资,这是一些最成功的物联网解决方案背后的主要原因之一。

我们已经熟悉了一些流行的物联网平台,如ThingSpeak, Adafruit IO, Blynk等,并已经使用这些平台构建了许多物联网项目。但除了这些平台之外,还有一些工业级物联网平台,如亚马逊网络服务、微软Azure和IBM沃森,它们经常被大型行业用于存储和分析从物联网设备收集的数据。这些平台更安全,并提供许多有用的服务,从获取数据到使用机器学习算法进行分析。

在本教程中,我们将学习IBM Watson平台,它是在安全性和兼容性方面最好的物联网平台之一。IBM Watson或Bluemix是一个云平台,支持许多产品和服务,如计算基础设施和服务、物联网、数据分析、移动应用服务、存储等。该平台兼容MQTT协议、HTTP和REST api。对于初学者来说,可能很难使用这个平台。

在本教程中,我们将设置IBM Watson帐户,并使用ESP32模块将DHT11温度和湿度数据发送给它。我们还将借助图形将这些数据可视化。以前我们使用ESP32来构建许多基于物联网的应用程序,如果您是ESP32新手,请开始使用ESP32教程。

所需的材料

•ESP32董事会

•DHT11温湿度传感器

•公母线

线路图

硬件只涉及ESP32和DHT11传感器。DHT11信号引脚接D4, DHT11的Vdd和GND引脚分别接ESP32的3.3v和GND引脚。

我们之前将DHT11传感器数据发送到许多其他物联网云以建立气象站

•基于物联网的温湿度监测使用BLYNK, ESP8266和DHT11传感器

•基于物联网的树莓派气象站,使用DHT11和BMP180传感器

•使用树莓派和辣椒进行云上温度和湿度监测

•Arduino接口与Node-RED监测网页上的温度和湿度

•物联网无线气象站使用Arduino, ESP8266和ThingSpeak

IBM沃森物联网平台的设置帐户

要在IBM Watson平台上创建帐户,请转到IBM云页面并单击创建IBM帐户。输入您的详细信息并单击创建帐户,如下所示。

2. 要在IBM平台上使用任何服务,我们必须为它创建资源。因此,使用您的凭据登录(请注意,IBMid是您用于创建帐户的电子邮件id),您将被重定向到IBM云网站。现在,单击Create Resource。

3. IBM Cloud提供了许多服务,所有这些服务都可以在参考资料列表中看到。因为我们想要使用物联网服务。点击物联网,点击物联网平台。

4. 下一页上有一些预先填写的信息,保留这些信息,然后单击Create。

5. 现在我们已经准备好了物联网资源。通过单击Launch启动创建的资源。

6. 现在,您将被重定向到物联网页面。在这里,添加您的设备以将其连接到物联网平台。单击Add device。

7. 在下一页填写设备详细信息。在设备类型中给出名称,设备ID将是该设备的MAC地址。您可以使用下面的代码找到ESP32的MAC地址

MAC地址将打印在串行监视器上,复制该数字并粘贴在设备ID中。单击Next。

8. 下一页,有一些与设备相关的信息。保留这些信息,然后单击下一步。Security部分也一样,保留它不填充,然后单击next,如图所示。

9. 在最后一页作为Summary,单击Finish。

10. 现在,我们已经成功创建了设备,设备凭据将显示在下一页上。复制所有凭证并将其保存在某个地方。代码中将需要它们。

11. 单击Devices,您将看到ESP32已成功创建,但未连接。现在,我们将通过编写代码将ESP32与该平台连接起来。

12. 要以图形格式显示温度和湿度,请通过进入设备并单击使用概况板创建模板。

13. 现在,单击Add New Card。在这里,您将找到要显示的不同类型的图形。我们将使用折线图,所以继续点击折线图。

14. 选择我们之前创建的设备并单击Next。在下一页点击连接新数据集。

15. 现在,输入要显示在图上的数据。我们将在status1事件上发送温度值(代码中提到了status1变量)。将属性和名称设置为温度,类型设置为数字,单位设置为摄氏度,然后单击Next。

16. 选择图形大小,点击下一步,然后在下一页选择图形颜色,点击提交。

17. 现在,您将看到如下所示的图表。重复以上步骤制作另一个湿度图,并将事件设为status2,属性和名称设为湿度,值设为Number,单位设为%。

18. 实现IBM云和ESP32之间的通信。转到安全选项并单击连接安全。

19. 在默认规则下,选择安全级别为TLS可选,然后单击保存。

就是这样。我们已经成功地为ESP32建立了IBM沃森物联网平台。现在,我们需要编写将温度和湿度值发送到该平台的代码。

代码与说明

在继续之前,请确保您已经安装了ESP32板文件,如果您没有板文件,请按照我们之前关于ESP32的教程了解如何安装板文件。

现在,为DHT传感器和PubSub客户机安装库。去sketch ->包括库->管理库。然后搜索DHT和PubSubClient库,然后安装它。

在这里我们解释了完整的程序,以了解项目的工作原理。

首先,包括Wi-Fi、PubSubClient和DHT的库。因为我们使用MQTT协议来发送和接收消息,所以我们需要PubSubClient。该库使用MQTT协议订阅和发布数据。

定义dhtpin和DHT传感器类型的一些变量。此外,我们需要定义在Watson平台上添加设备时复制的所有凭据,如下所示。

在字符变量中添加Wi-Fi凭据作为SSID和密码。

现在,提供我们将发布数据的链接。此外,提供我们将发布数据的主题。我们有2个主题,一个是温度,另一个是湿度,分别命名为status1和status2。给出验证方法为“use-token-auth”,然后定义clientID,如下所示。

在void Setup函数中,使用.begin()函数初始化串行监视器,DHT传感器和Wi-Fi。然后将模块与Wi-Fi连接。建立连接后,使用给定的凭据将模块连接到IBM Watson平台。

在void loop函数中,从DHT传感器获取温度和湿度数据并存储在两个不同的变量中。然后将此有效负载作为字符串发送。我们需要创建两个字符串,一个用于温度,另一个用于湿度,每秒钟发送一次数据。

类似地,为湿度创建一个字符串。

现在我们已经完成了编码部分。您可以在本教程的末尾找到完整的代码和演示视频。

从ESP32上传数据到IBM沃森物联网云

最后根据接线图将DHT传感器与数字引脚4连接,并在工具菜单中选择ESP32 Dev模块上传代码。

检查IBM Watson上传的数据

现在,是时候检查IBM Watson平台上上传的数据了。一旦您的模块与Wi-Fi连接,您将看到IBM Watson平台上的连接状态,如下所示。

1. 转到Boards并单击Usage Overview选项。

2. 这里创建了两个图表,用于查看每秒钟更新的温度和湿度值,如下所示。

3. 通过在仪表板中选择适当的选项,可以看到不同格式的值,如图表形式或仪表。

IBM Watson平台还有许多其他特性需要探索。这就是ESP32如何将数据发送到IBM沃森云平台

本文编译自iotdesignpro

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭