云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

域名备案_嘉兴企业网站建设_试用

小七 141 0

让我们从定义开始。

什么是边缘计算?

边缘计算将计算应用程序、数据和服务的前沿从集中式节点推向网络的逻辑极限。[1]它使分析和知识生成能够在数据源发生。这种方法需要利用可能无法连续连接到网络的资源,怎么成为淘客,如笔记本电脑、智能手机、平板电脑和传感器。[2]边缘计算涵盖了广泛的技术,包括无线传感器网络、移动数据采集、移动签名分析、合作分布式对等自组网和网络处理也可分为本地云/雾计算和网格/网格计算、dew计算、[3]移动边缘计算、[4][5]cloudlet、分布式数据存储和检索、自主自愈网络、远程云服务、增强现实、,更多信息。[6]

(来源:Wikipedia)

什么是Apache Edgent

Apache Edgent是一种开源编程模型和微内核风格的运行时,5118大数据,可以嵌入到网关和小型边缘设备中,实现对来自设备、车辆、系统、设备的连续数据流的本地、实时分析,各种设备和传感器(例如,树莓Pis或智能手机)。Apache-Edgent与集中式分析系统协同工作,在整个物联网生态系统中提供高效及时的分析:从中心到边缘。

(来源:Apache-Edgent项目页面)

运行在Rasberry Pi或Android上。目前基于Java一个简单的Linux操作系统可以运行Java和EdgentEdgent是一个编程模型(函数流API)和一个用于边缘分析的轻量级可嵌入运行时Edgent可与中心中心通话,包括:MQTT经纪人阿帕奇·卡夫卡用于分析的其他后端系统

Apache Edgent的主要功能

用于流分析的功能流API(Map、Flatmap、Filter、Aggregate、Split、Union、Join、Deadband Filter)连接器(MQTT、HTTP、Websockets、JDBC、文件、Kafka)javaapi允许您将JSON发送到MQTT设备与后端的双向通信用于查看应用程序图形和度量的基于Web的界面Junit可用Edgent使用Java Lambda表达式

故事

物联网数据非常大。我们需要分析来自传感器的所有数据,但正如我提到的,数据是巨大的,将所有数据从源传输到中心分析可能非常昂贵。这可以通过

减少传输到中央分析服务器的数据量来解决减少存储的数据量。

Apache Edgent帮助我们解决这个问题。它可以在Java7、8(包括RPi设备)和Android上运行。

让我们开始编码。

我将创建一个带有Edgent库的简单Java项目,生成一些数字,全球云购,并对这些数字进行非常简单的分析,并将其发布到MQTT代理到设备主题。SAP IoT将获取存储这些分析数据的值。您可以将EMQ用作MQTT代理。在安装MQTT代理之后,我们需要在sapcloudiot中进行更改。进入IoT配置,输入MQTT代理地址、用户名和密码。

我假设您已经下载了ApacheEdgent。创建一个新的项目Eclipse和jars,如下所示:

现在Java项目已经准备好编码了。

Apache Edgent已经准备好了一些连接器,例如消息系统、数据库、文件、进程等(Edgent连接器)。我不会为SAP IoT创建一个特殊的连接器。Apache Edgent透视视图连接器只是一个名称。它只是一些代码

充当流的接收器–当提供流元组时,它可以将数据传递给外部实体。连接器实现Consumer.apply(T tuple)。充当流的源-当被查询时,或者单独查询时,私人云服务器,可以从外部实体的数据合成元组。e、 例如,连接器实现了T Supplier.get()

,因此我将生成一些数字并将其发送给MQTT代理。SAP物联网将选择这些价值观并将其应用于物联网领域。

现在创建一个简单的类。我们需要两种方法,第一种是生成数字,比如来自一个叫供应商的传感器:

在上面的代码中我只生成数字。它就像一个传感器。

另一种方法是消费者。您可以尝试不同的方法连接到sapiot(HTTP-API、MQTT-TCP-API、WebSocket-API、MQTT-WebSocket-API)。我将使用MQTT-TCP-API.

现在我们已经准备好运行我们的代码了。创建一个新类。

让我们逐行检查上面的代码。

第一步是创建DirectProvider。Provider是一个包含Edgent应用程序运行方式和位置信息的对象。DirectProvider是一种提供程序,当调用其submit()方法时,人工智能的技术有哪些,它直接在当前虚拟机中运行应用程序。

在Edgent中,拓扑是描述应用程序结构的容器:

应用程序中的流来自何处,以及如何修改流中的数据

在应用程序中我们有一个数据源,我们通过调用拓扑.poll(),它同时使用供应商函数和时间参数来指示读取的频率。

我们的目标是过滤/分析源上的数据。因此,我们过滤随机生成的低于50的数字。

我们打印数据以查看值,并使用sink()方法发送数据服务器。

还有其他可能操作边缘数据(流概念)。

现在运行Java应用程序并检查输出。同时打开消息管理服务并检查应用程序数据:

另一个伟大的apacheedgent特性是web控制台。要启用控制台,请在下面添加导入和更改提供程序类型并打印控制台url:

,您将在控制台中看到url:

打开控制台中显示的url: