×

使用Bolt IOT的基于云的物联网智能花园监控和灌溉系统

消耗积分:0 | 格式:zip | 大小:0.05 MB | 2023-07-06

h1654155275.3219

分享资料个

描述

抽象的:

自动化监控花园的过程可以将花园灌溉过程从手动和静态转变为智能和动态。这导致更高的舒适度、用水效率和更少的人工监督工作。该项目提出了使用Bolt IOT的基于云的物联网 (IoT) 智能花园监控和灌溉系统可以通过监测土壤湿度来调整植物的浇水需求。测量植物的土壤水分可提供植物是否浇水理想、浇水过多或浇水不足的信息。这是使用土壤湿度传感器完成的. 监控数据持续发送到Bolt云端。在云端分析从系统收集的数据,当达到目标土壤湿度阈值时,相应的动作会从云端发送到花园自动浇水系统以灌溉花园。Bolt iot模块用于实现系统控制单元。物联网用于让花园所有者了解洒水装置的最新状态。来自传感器的信息通过 Twilio 定期更新,Twilio是一种云通信平台即服务 (CPaaS),允许软件开发人员以编程方式拨打和接听电话、发送和接收短信,以及使用其 Web 服务 API 执行其他通信功能。

所有必需的组件:

该项目所需的所有组件都在下面提到,并且可以以合理的价格在市场上轻松获得。

1. 土壤水分传感器:

土壤水分传感器信息:

https://en.wikipedia.org/wiki/Soil_moisture_sensor

2.螺栓物联网:

Bolt iot的信息:https ://docs.boltiot.com/docs

3.砂浆:

4.泵:(自制)

学分和参考:https ://www.youtube.com/watch?v=pnx86V0xkmo

5.跳线(公/公):

6.手机充电器:

螺栓物联网平台

Bolt 物联网平台让您无论身在何处都能安全地控制您的设备并从物联网设备收集数据。只需单击几下即可部署机器学习算法以检测异常并预测传感器值,从而获得可操作的见解。要了解更多信息,请访问boltiot.com。

在上一课中,我们在 Bolt Cloud 上创建了我们的帐户。在我们将 Bolt 设备链接到我们的帐户之前,让我们了解 Bolt 云架构、它的工作原理以及它的重要性。

Bolt 云是为 Bolt 设备提供物联网功能的主要组件之一。所有 Bolt 设备开箱即用地连接到 Bolt Cloud。Bolt 设备附带一个固件,可以帮助它了解如何通过互联网连接到 Bolt Cloud。

Bolt 设备与 Bolt Cloud 的通信

Bolt 设备与 Bolt Cloud 的通信通过 MQTT 通信协议进行。MQTT 代表消息队列遥测传输。但是为什么在HTTP&HTTPS协议如此流行并被广泛用于通信的情况下,我们还需要MQTT这样的协议来进行通信呢?尽管这些协议很流行,但为管理通信而通过 Internet 发送的开销数据量相当大。开销数据是与实际消息/数据一起发送的数据,它传达了理解所发送的消息/数据所需的额外信息。开销数据因协议而异。对于具有硬件功能和网络功能以发送额外开销数据的移动电话、笔记本电脑、台式计算机等系统,这很好。

大多数物联网设备和传感器包含有限的处理能力和受限的互联网带宽。由于这些限制,他们仅在需要时才通过 Internet 发送数据,并且发送的数据在带宽使用方面非常低。因此,使用 HTTP 等协议时,HTTPS 在开销数据多于实际数据本身的情况下变得不可行。MQTT 包含非常低的开销,因此成为物联网通信的理想选择。

MQTT 是一种发布-订阅消息传递协议。pub是指发布,sub是指订阅。有一个中央实体,在我们的例子中是 Bolt Cloud。所有 Bolt 设备都连接到 Bolt 云,并通过在其独特的渠道上发布数据,将数据发送到各种渠道。Bolt 设备还订阅频道,以便他们可以接收来自 Bolt 用户的命令。

Bolt Cloud 用户,即像我们这样的人使用 HTTPS 通信协议与 Bolt Cloud 通信。我们可以使用 Bolt Cloud 仪表板来控制和监视我们的 Bolt 设备,或者使用 Bolt Cloud API,以防我们想绕过仪表板并通过我们编写的程序访问我们的 Bolt 设备。我们将在接下来的模块中了解更多相关信息。

Bolt Cloud 从 Bolt 设备接收所有控制或请求传感器数据的命令,并将命令发送到 Bolt 设备。Bolt 设备执行命令,并将响应发送回 Bolt Cloud,Bolt Cloud 将其转发给发起命令的用户。

在本课中,我们了解了 Bolt Cloud 的架构,Bolt 设备和用户如何与 Bolt Cloud 进行通信。在下一课中,我们将了解 Bolt Cloud 的工作原理。

Twilio:

Twilio是一个云通信平台即服务 (CPaaS),允许软件开发人员以编程方式拨打和接听电话、发送和接收短信,以及使用其 Web 服务 API 执行其他通信功能。

Twilio 使用Amazon Web Services来托管电话基础设施,并通过其 API提供HTTP公共交换电话网络(PSTN) 之间的连接。

Twilio 遵循一套架构设计原则来防止意外中断,并因在 2011 年 4 月亚马逊网络服务大范围中断期间保持在线而受到赞誉。

Twilio 支持开源软件的开发,并定期为开源社区做出贡献。2010 年 6 月,Twilio 推出了 Open VBX,这是一款开源产品,可让企业用户配置电话号码以接听和转接电话。一个月后,Twilio 工程师 Kyle Conroy 发布了 Stash board,这是一种用Python 编程语言编写的开源状态仪表板,任何 API 或软件服务都可以使用它来显示其服务是否正常运行。Twilio 还赞助由现任前 Twilio 工程师 Jeff Lindsay 创建的本地隧道,它使软件开发人员能够从NAT后面将他们的本地开发环境暴露给公共互联网

创建和设置 twillo 帐户:

参考链接: https: //support.vision6.com.au/hc/en-us/articles/230673727-Text-Messaging-Account-Setup-with-Twilio

组装硬件

1.取土壤湿度传感器,将其模拟引脚连接到Bolt IOT模块中的A0引脚

2.将土壤湿度传感器的VCC连接到Bolt IOT模块中的5V

3. 将 motar 连接到 Bolt IOT 模块的 GPIO 引脚

4.使用公母跳线连接

部分样机图片

注意:电机与水打交道,因此应小心,因为某种洒在电路和模块上的水可能会造成损坏

poYBAGOII8iAU-spAAZ_tzVPtZQ328.jpg
 
pYYBAGOII82APK8WAAa0XtYi4Mw277.jpg
 

 

软件配置:

我们将在我们的 PC (Windows) 上使用 VMware Ubuntu 设备。如果跳过此步骤,您可能会在安装 Boltiot 包时遇到错误。

sudo apt-get -y update

第二步:安装python3 pip3

pip3 是 python3 的包管理器,用于安装和管理包和 python 库。它是系统独立的。

使用以下命令安装 pip3,

sudo apt install python3-pip

第 3 步:使用 pip 安装 Bolt IoT 库。

现在我们将在您的 Ubuntu 服务器上安装 boltiot python 库。

在终端中键入以下命令以安装 boltiot python 库。

sudo pip3 install boltiot

现在我们完成了 boltiot python 库的安装。在下一节中,我们将学习如何使用 Bolt python 库检查设备状态并关闭设备。

第 4 步:要获取 Bolt API 密钥和设备 ID,请转到 Bolt 云并单击 API 部分,您将获取 API 密钥。

poYBAGOII9CAd58cAAE_MwwdiQk203.png
 

现在转到设备部分,您将获得设备 ID

pYYBAGOII9OAExcyAAEwY-3ut9s851.jpg
 

.

通过在 Twilio 上创建帐户

SID、AUTH_TOKEN、FROM_NUMBER、TO_NUMBER

为此,请参考以下链接

参考链接: https: //support.vision6.com.au/hc/en-us/articles/230673727-Text-Messaging-Account-Setup-with-Twilio

使用 TWILIO 发送短信

第 1 步:连接温度监测电路 REFER - Hardware connections for soil moisture sensor

第 2 步:通过输入您的数字海洋水滴的 IP 地址登录到 Putty。

第 3 步:成功登录后,创建一个名为的文件,该文件conf.py将存储与 Twilio 相关的所有凭据。在终端中创建新文件类型。sudo nano conf.py之后编写下面的代码以将所有凭据保存在一个文件中。

SID = 'You can find SID in your Twilio Dashboard'
AUTH_TOKEN = 'You can find  on your Twilio Dashboard'
FROM_NUMBER = 'This is the no. generated by Twilio. You can find this on your Twilio Dashboard'
TO_NUMBER = 'This is your number. Make sure you are adding +91 in beginning'
API_KEY = 'This is your Bolt Cloud account API key'
DEVICE_ID = 'This is the ID of your Bolt device'

注意:您必须用您的凭据替换上述所有值。您可以在 Twilio 仪表板中找到前四个值,在 Bolt Cloud 仪表板中找到后两个值。

我们将所有凭据存储在一个单独的文件中,因为它是不应与任何人共享的敏感数据。因此,最好避免直接在代码中使用凭据。替换所有值后,使用 CTRL+X 保存文件。

第 4 步:现在再创建一个名为soil_moisture.py. 为此,您必须sudo nano soil_moisture.py在终端中输入。现在我们将编写主要代码来从 Bolt 收集数据,并在超过阈值时发送 SMS。

代码的算法可以分解为以下步骤 -

1. 从 Bolt 设备获取最新的传感器值。

2. 检查传感器值是否在我们的最小值和最大值指定的范围内。

3. 如果不在范围内,发送短信。

4. 等待 10 秒。

5. 从步骤 1 开始重复。

工作原则:

使用 Bolt IOT 的自动智能园艺和监控系统的逻辑是,每当植物干燥并且植物需要一些水时,连接到植物附近的电机会在特定时间段后的某个时间段给水,因为由于土壤水分传感器值。

1. 最初将干旱条件的阈值固定为最大值,即植物表面完全干燥的土地

2.然后通过土壤湿度传感器持续监测植物状况是否潮湿或干燥,并将数据发送到螺栓云

3. 基于 API 密钥和 conf.py 文件的所有详细信息,在 Ubuntu 服务器上显示和运行详细信息,它还向 twilio 云服务请求 SMS 请求

结果:

汇编:

poYBAGOII9aAVXGbAAE22Z9upZg929.png
 

回复:

poYBAGOII9iALfJ8AAEu7yANtYM559.jpg
 

 


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !