| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> Capgemini 如何利用 Amazon IoT 通过农业洞察监控农田 -> 正文阅读 |
|
[嵌入式]Capgemini 如何利用 Amazon IoT 通过农业洞察监控农田 |
预计到 2050 年,全球人口将达到 100 亿左右。为了满足这种增长在粮食和营养方面的指数级需求,我们现有的耕作方法必须在有限的可用土地供应范围内提高产量。 目前提高农业产量的方法包括使用化学肥料和广泛使用杀虫剂。这些方法的优点是增产,但代价是会对整个环境造成不利影响:破坏生物多样性,污染地下水、土壤及其肥力,甚至空气。 ?????09.09-09.14亚马逊云科技中国峰会线上峰会正在火热进行中!想要了解更多亚马逊云科技最新技术发布和实践创新,点击图片报名吧~ Capgemini?是?亚马逊云科技高级咨询合作伙伴和托管服务提供商 (MSP),拥有一支遍及 40 多个国家/地区的由 220,000 人组成的多元文化团队。本博文中概述的 Capgemini 解决方案提出了一种替代方法,使用技术来管理水分以实现最优植物生长。
Capgemini 信奉可持续 IT 解决方案,这是指应用 IT 实践和技术惠及客户和其他利益攸关方,确保经济、社会和环境可持续性支柱的长期福祉。
Capgemini 的解决方案被称为“Smart Hub Cropping”,它可以检查农田的降水量,结合政府的天气数据,并分析农业数据,为农民提供切实可行的见解和灌溉流程自动化。所有这些都与农民最需要的提高作物产量的体验相一致。 为了实现这一成果,亚马逊云科技在物联网 (IoT)、监控、洞察、集成和机器学习 (ML) 等领域推出了 Capgemini 云技术。 解决方案概览 Capgemini 的 Smart Hub Crop 解决方案为农民提供了一个界面,可显示有关农场中田地水分含量的数据和见解。这与侧重于预测降水量的天气数据以及印度农业合作与农民福利司提供的数据相结合,详述了全国收获的作物量和作物种类。
此组合数据集不仅帮助农民了解要种植哪类作物以及在农场的哪个区域种植,还有助于他们维持作物以确保生产性增长。 农民通过移动应用程序注册并进行身份验证来访问他们的数据集、查看有关田地的数据、下周的天气预报数据以及查看农田水分含量的图形表示。 Smart Hub Crop 包含以下内容:
图 1 – 高级解决方案示意图 该解决方案使用与?Arduino?电子设备连接的湿度传感器。这提供了通过互连 GPS 接口向 Smart Hub Crop 核心发送含水量数据的功能。
Amazon IoT 设备被设置为定期将数据发送到 Smart Hub Crop 服务,以便通过水分算法与农民田地的土壤类型一起处理。之后,将这些数据以及收到的第三方环境数据存储在 Smart Hub Crop 数据库中。 这些信息通过网页版或手机版移动应用程序提供给农民。 图 2 – 高级架构示意图 亚马逊云科技工具箱 Capgemini 使用?React Native(一种开源移动应用程序框架)和?Amazon SDK for JavaScript?开发了 Smart Hub Crop 解决方案。React 基元通过 Amazon SDK 呈现用户界面 (UI) 和应用程序,并使用相同的原生平台 API 与亚马逊云科技服务进行交互。
终端用户(在本例中为农民)使用移动应用程序界面作为解决方案的一部分。用户使用?Amazon Cognito?通过 React 应用程序界面进行身份验证并接收 JWT 令牌。此令牌用于授权从应用程序对?Amazon AppSync?的 API 调用。
经过身份验证后,用户将从?Amazon DynamoDB?表中检索信息,该表用于保存位于农民田间的 IoT 设备提供的数据。
Smart Hub Crop 使用以下亚马逊云科技服务:
构建解决方案 要实施 Smart Hub Crop 解决方案,请完成下列步骤。 第 1 步:初始化项目并设置 Amazon Amplify 首先,您需要安装并配置?Amazon 命令行界面 (CLI)、 Amazon Amplify CLI? 和?NPM。
要创建 React 项目,请运行以下命令:
此命令会创建一个名为?farmhub-demo?的文件夹,其中包含空的 React 应用程序。 按照以下说明在 React 应用程序中初始化 Amazon Amplify 项目:
amplify init 命令在 React 站点内初始化了一个新项目,并使用 Amazon CloudFormation 堆栈在云中部署资源。 您会在项目的根目录中看到一个名为 Amazon Amplify 的新文件夹,还会在 src 目录中看到一个名为 aws-exports.js 的文件。此文件夹和文件用于保存 Amazon Amplify 项目配置。 第 2 步:为 Amazon Amplify 项目配置身份验证 要向应用程序添加身份验证,请使用以下命令:
第 3 步:在 Amazon Amplify 项目中配置 API 要向应用程序添加 GraphQL API,请使用以下命令:
当您收到所选代码编辑器的提示时,将任何默认文本替换为以下架构:
这就完成了 Amazon Amplify 项目所需的配置。要部署应用程序,请使用以下命令:
第 4 步:配置前端 React 应用程序 首先要做的是将 Amazon Amplify 库添加到项目中。这提供了可简化与亚马逊云科技服务集成所需的代码的模块。 在项目的根目录中运行以下命令:
要将 React 应用程序配置为感知新的 Amazon Amplify 项目,请在?src?文件夹中?src/index.js?文件内引用自动生成的?aws-exports.js?文件。 打开?src/index.js?并在上次导入的下面添加以下代码:
现在,将该代码添加到将用于与 API 交互的网站。打开?src/app.js?并添加以下代码,替换默认内容:
如果您愿意,可为此站点添加任意样式。使用以下命令在本地系统上启动站点:
此命令会在本地编译 React 站点。您可以在?http://localhost:3000?上查看该网站并与之互动 第 5 步:测试前端和 API 浏览至本地系统上的 React 站点,然后按照说明创建和验证新账户。您需要使用有效的电子邮件地址才能接收确认码。 注册账户并登录后,您将看到一个带有“hello”消息和注销按钮的页面。接下来,登录?亚马逊云科技管理控制台以测试 API 并使用 GraphQL 突变添加一些数据。
打开?Amazon AppSync 控制台,然后进入?farmhubdemo-dev?API。在控制台的左侧,导航到查询。
首先要做的是向 Amazon Cognito 进行身份验证。为此,请单击使用用户池登录,输入您在上一步中使用的账户信息,然后选择登录。 图 3 – 登录屏幕,可让您通过 Amazon Cognito 用户池访问 Amazon AppSync API 要向应用程序添加一些数据,请执行以下突变并创建新的水分记录条目:
如果成功,控制台右侧将显示已写入存储的 JSON 记录。要对此进行验证,请打开?Amazon DynamoDB 控制台,然后打开带有 Farm 前缀的表并选择项目选项卡。您应该看到一条记录:
图 4 – Amazon DynamoDB 表中的项目。 记下完整的表名称,因为这将在下一节中用到。 最后,刷新 React 网页以查看显示的数据。 设置 Amazon IoT Core 组件 Amazon IoT 使联网设备能够连接到亚马逊云科技,允许应用程序与物理设备进行交互,或者收集来自这些设备的数据并进行处理。 下一节将向您介绍在 Amazon IoT Core 控制台中创建逻辑 Amazon IoT 设备,这条 Amazon IoT 规则用于获取 Amazon IoT 设备发送的数据,然后将其添加到我们应用程序的 Amazon DynamoDB 表中。 第 1 步:在 Amazon IoT Core 中创建“事物” 打开?Amazon IoT 控制台并展开管理,然后选择事物。
选择创建(或者,如果您还没有任何事物,请注册一个),然后选择创建单个事物。指定?moisture_thing?作为事物的名称,然后选择下一步。 请注意,您可以对此事物应用类型,这样可以简化管理并为共享类型的事物提供一致的注册表数据。您也可以将此内容添加到组中,这样就可以同时管理多个事物了。对于本演练,我们不会配置其中任何一个。 单击下一步,然后选择创建证书选项。这将生成 X.509 证书,用于保护您的设备与 Amazon IoT Core 之间的通信。 图 5 – 成功创建 IoT 设备证书 下载证书,然后选择激活以激活 X.509 证书。最后,选择附加策略。 要进行测试,请选择默认策略。策略用于授权您的设备执行 Amazon IoT 操作,例如订阅或发布到主题。 接下来,选择注册事物。 第 2 步:设置 Amazon IoT 规则以将数据移至存储 接下来要做的是配置一个规则,该规则将获取发送到相应事物的数据,并将其写入 API 将与之交互的 Amazon DynamoDB 表中。 在?Amazon IoT 控制台中,展开操作,然后选择规则。
选择创建规则。为该规则指定名称、moisture_rule?和描述。在规则查询语句部分中,添加以下 Amazon IoT SQL 语句:
此规则查询语句会监听使用 FROM 条件定义的主题 farmhubcropping/moisture_thing。 这意味着向此主题发送数据的每台设备都将触发该规则。当规则触发 SELECT 子句时,它会从消息中提取信息。 接下来,在设置一项或多项操作部分中,选择添加操作。 在选择操作页面上,选择将消息拆分为 Amazon DynamoDB 表 (DynamoDBv2) 的多列,然后选择配置操作。 选择创建资源,然后选择在测试突变之后创建的 Amazon DynamoDB 表,首先是?farm- 然后,选择创建角色以授予该规则对此表的所需访问权限。最后,指定名称?farmhub_dynamodb_rule_role?并选择创建角色。 图 6 – 配置了表和角色的 IoT“配置操作”屏幕 选择添加操作将此操作添加到该规则,然后选择创建规则。 第 3 步:测试系统 要测试系统,请使用 Node.js 脚本创建一个模拟“事物”。 打开终端窗口并使用以下命令创建一个名为 iot_thing 的新文件夹:
在?iot_thing 文件夹中,创建一个名为?certs?的文件夹以存储之前下载的证书,以及将用于模拟我们的湿度 IoT 设备的 Node.js 脚本:
将之前下载的证书文件复制到?iot_thing/cert?目录中。为了简单些,请按如下方式重命名这些文件:
在终端的 iot_thing 目录中,运行以下命令以下载亚马逊根证书颁发机构 (CA):
现在,您应该有以下文件夹和文件:
在?iot_thing?中,使用以下命令添加?Amazon IoT SDK:
将以下代码复制到?iot_thing?文件夹中的?index.js?文件:
在 index.js 文件中,将变量“YOUR AMAZON IOT ENDPOINT”替换为您自己的?IoT 终端节点。这是允许您连接到 Amazon IoT 的自定义终端节点。您的每个事物都在此终端节点上有一个可用的 REST API。 从 Amazon IoT 控制台的左侧导航窗格中,选择设置。您的终端节点将列在顶部的设备数据终端节点部分。
从 Amazon IoT 控制台中,选择测试。 对于订阅主题,输入?#,然后选择订阅主题。我们将订阅所有主题以检查您的设备是否正在发布。 在本地系统上的 iot_thing 文件夹中,使用以下命令启动脚本 index.js:
回到 Amazon IoT 控制台中,您将看到正在发送到主题的数据: 图 7 – 显示?Amazon IoT 控制台正在捕获传入数据的图片 由于我们已经设置了 Amazon IoT 规则,数据也已添加到 Amazon DynamoDB 表中。因此,刷新本地主机上运行的网站,现在您将看到第二个条目。 结论 借助 Capgemini 的“Smart Hub Cropping” Amazon IoT 解决方案,农民可以获得农田的实时状态,例如土壤类型和含水量,并随时随地监控和执行操作。 您可以让农民轻松安全地分享他们的田地状态。这有助于他们维持作物以确保生产性增长。 我们期望看到您如何按照本示例开始利用 Amazon IoT 打造 Smart Hub Cropping 的未来。 Capgemini – 亚马逊云科技合作伙伴聚焦 Capgemini 是亚马逊云科技高级咨询合作伙伴和 MSP。Capgemini 拥有一支由遍及 40 多个国家/地区的 22 万人组成的多元文化团队,拥有 12,000 多项亚马逊云科技认证和 2,700 多项有效亚马逊云科技认证。 本篇作者 Pete Moles 亚马逊云科技 合作伙伴解决方案构架师 Charudath Doddanakatte Capgemini? 数字客户体验总监 Ragavie Dakshinamoorthy Capgemini 技术解决方案架构师? 听说,点完下面4个按钮 就不会碰到bug了! |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 2:40:44- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |