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

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

IBM Watson是一个强大的平台,它为您的产品提供语音到文本、文本到语音、视觉识别、自然语言处理和认知计算功能等服务。这个平台可以帮助分析和理解你的数据,这些数据可以是图像、音频、视频,甚至是简单的文本和数字。聊天机器人也可以使用这个平台创建,它们可以与用户交谈。IBM Watson是一个非常强大的机器学习框架,可以与树莓派一起使用来构建更强大的应用程序。该平台兼容MQTT协议、HTTP和REST api。

在本教程中,我们将设置IBM Watson帐户,并使用树莓派将DHT11温度和湿度数据发送给它。我们还将借助图形将这些数据可视化。以前,我们使用树莓派构建了许多基于物联网的应用程序。

需求

•Raspberry Pi,安装Raspbian OS。

•DHT11温湿度传感器

•跳线

在这里,我们将使用SSH访问笔记本电脑上的树莓派。如果你有显示器,那么它将非常容易开始,但如果你没有显示器,那么设置树莓派在无头模式或使用VNC服务器获得树莓派桌面在笔记本电脑上。

树莓派在构建基于物联网的项目中非常受欢迎,因为它具有对物联网的所有必要支持。它是一个手掌大小的电脑,内置Wi-Fi,蓝牙,USB端口,音频/视频端口,HDMI端口,摄像头端口等。你可以在这里查看所有基于树莓派的物联网项目。

线路图

硬件只涉及树莓派和DHT11传感器。DHT11的信号引脚连接树莓派的GPIO17, DHT11的Vdd和GND引脚分别连接树莓派的5v和GND引脚。

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

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

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

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

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

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

在树莓派上设置MQTT客户端

在之前的ESP32和IBM Watson教程中,我们使用pubsubclient在IBM平台上发送和接收MQTT消息。在Raspberry Pi中,我们也需要一个MQTT客户端来发送和接收消息,因此首先我们为其安装库。这里paho-mqtt库与Raspberry Pi一起使用。

首先,使用sudo apt-get update更新树莓派操作系统。

现在,运行以下命令安装paho mqtt客户端库

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

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

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

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

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

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

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

7. 在下一页填写设备详细信息。在设备类型中给出任何名称,您的设备ID将是该设备的MAC地址。您可以使用ifconfig找到树莓派的MAC地址,如下所示。使用不带冒号的地址。

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

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

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

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

11. 点击Devices,你会看到树莓派已经成功创建,但是还没有连接。现在,我们将通过编写代码将树莓派与该平台连接起来。

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

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

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

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

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

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

18. 启用IBM云和树莓派之间的通信。转到安全选项并单击连接安全。

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

就是这样。我们已经成功地为树莓派建立了IBM Watson物联网平台。现在,我们必须编写Python代码来将温度和湿度的值发送到这个平台。

代码与说明

在继续之前,按照以下步骤在树莓派上安装DHT传感器库:

通过运行下面的命令从github下载DHT库

现在使用cd Adafruit_Python_DHT进入Adafruit_Python_DHT目录,并使用以下命令安装库

安装库之后,您可以通过在同一目录中运行示例代码来测试DHT传感器。

在本教程的最后给出了完整的python代码和工作视频,在这里我们解释了完整的程序,以了解项目的工作原理。

首先,导入时间、DHT传感器和MQTT客户机所需的所有库

初始化DHT传感器连接的引脚编号,并声明一个变量来存储传感器数据,然后该数据将在两个不同的变量中共享-湿度和温度。

然后定义在Watson平台上添加设备时复制的所有凭据,如下所示。

现在,提供将发布数据的服务器链接和主题。我们有2个主题,一个是温度,一个是湿度,分别命名为status1和status2。将AuthMethod设置为“use-token-auth”,然后定义clientID,如下所示。

为MQTT客户机初始化一个变量,以便使用MQTT的功能。在connect功能中设置端口号和服务器名称。

现在,在while循环中,我们将每隔5秒连续向IBM云发送温度和湿度数据。

现在完成了将数据发送到IBM云的Python代码。您可以在本教程的末尾找到完整的代码和工作视频。

最后,如连接图所示,将DHT传感器与gpio17连接,并使用python filename.py命令运行脚本。

在IBM Watson物联网平台上检查上传的数据

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

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

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

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

您还可以在Recent Events选项卡中检查传入数据,如下所示。

IBM Watson平台还有许多其他特性需要探索。这就是树莓派如何将数据发送到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 隧道灯 驱动电源
关闭