使用Google Cloud Platform进行资产跟踪

简介: 高价值资产往往会被放错地方或被盗。我们回顾了Leverege如何使用GCP创建一个使用物联网设备的资产跟踪解决方案。

09.19.18-Indoor-Asset-Tracking-Video-Follow-Up-1068x656-1.jpg

资产跟踪是物联网解决方案的常见用例。当一家公司拥有的高价值资产可能会被错放或被盗时,给它们安装相对低价值的物联网设备来跟踪它们的一举一动才有意义。在本文中,我们将回顾一个假设的物联网问题,以及我们Leverege将如何使用GCP来创建解决方案。


问题


想象一个虚构的自行车租赁公司,名为Pedal Power,位于美国Ocean City风景如画的海滩社区。在过去,Pedal Power的老板Gary曾要求他的客户将驾照留在他的boardwalk出租屋,以确保他们会带着他的昂贵的自行车回来。大多数人都会准时归还自行车,并支付租车费用,没有发生任何意外,但是加里被几次从未归还的租客烧毁的事实确实使他的底线有所降低。此外,大洋城镇已决定在木板路的尽头建立一个无自行车区,并且只要有一位顾客在无自行车区被发现,就会对加里处以罚款。加里(Gary)警告客户有关这项新法律,但是有些人仍然进入禁止自行车区域,等到他收到邮件罚款时,这些客户早已不在了。


解决方案


硬件


加里受够了现状,他来到Leverege寻求帮助。在与Leverege的协商中,Gary考虑了几种可以在他的自行车上安装GPS跟踪设备的模型。基于易于安装和网络可用性,加里决定为他所有的自行车配备一个电池供电的可充电跟踪器,使用蜂窝通信。


摄取ingestion


把加里的追踪器数据输入GCP的第一步是摄取(ingestion)。Leverege编写了一个运行在GCP的Kubernetes引擎上的摄取服务器,这是一个非常可扩展且经济高效的计算基础设施,它将允许Gary只支付他所需的计算能力,但允许他扩展到一个非常大的设备消息量,以准备有一天他的业务进入其它地区或国家。


摄取服务将仅侦听通过标准HTTP REST接口传入的设备消息,并确保仅列入白名单的设备能够处理其数据。然后,设备消息将被解压缩并放置在默认队列中,以便使用Google Pub Sub处理。Pub Sub是一个消息队列服务,可以处理大量消息,并且具有容错能力。如果Leverege为处理和存储消息而创建的部分云服务暂时不可用,则消息将保留在队列中,并且不会丢失。Pub Sub还允许多个服务响应放置在单个队列中的事件,这在消息路由方面非常重要。


消息路由


物联网系统中的每种设备类型可能都有单独的数据路由需求。想象一下一个带有单独报告温度和压力传感器的系统,该传感器正在监视某些工业过程。我们可能想存储两种设备类型的数据,但是温度数据可能有压力传感器没有的特殊布线需求。 也许我们需要检查来自温度传感器的每个读数的值,以确保其不超过某个特定阈值,如果是,则触发警报。我们将要路由该设备类型的数据,以将过程与压力传感器的数据分开。因此,我们为每种设备类型创建预定义的消息路由,该消息路由包括Pub Sub主题的名称以及需要与数据一起传递的所有选项。消息路由可以并行或串行运行。


对于加里的自行车租赁店,我们目前只有一种设备类型,因此该系统的所有数据将遵循一条路线。


存储


此时,显而易见的事情是存储我们的数据。我们希望有一种可靠、快速的方法来存储加里的所有最新数据,以便在地图上轻松查看他所有未偿租金的自行车位置。为此,我们选择Google的Firebase数据库,它是一个简单但功能强大的键值存储,而且存储速度很快。在任何给定时间,加里设备的最新状态都将存储在Firebase中,使我们可以实时查看他的自行车位置。Firebase的收听功能(listening capabilities)还使我们能够在Gary的一辆自行车改变位置的第二秒内获得即时更新。


此外,我们希望获得有关Gary的每台设备的数据的长期历史视图,以便我们可以随时查看他的每辆自行车在哪里的跟踪记录。为此,我们使用Google的Big Query,这是一个基于SQL的大数据平台。借助Big Query,我们可以存储来自Gary的传感器的多年数据,并在几秒钟内进行查询。


我们创建了两个简单的数据写入服务,将它们添加到Kubernetes Engine中,并将Gary的所有数据路由到两个服务中,以便在它们到达时进行写入。


进一步的处理


至此,我们已经提取并存储了传感器数据。通过在网络应用程序上进行更多的工作,我们可以将所有东西存储在适当的位置,以在地图上存储和查看Gary的所有自行车,并在任何给定时间准确知道它们的位置。这太棒了。但现在是租车旺季,加里正忙着租自行车。他不想把所有的时间都花在盯着地图屏幕上,希望他的顾客没有骑车进入禁止骑车区,或者带着他的设备潜逃。


为了解决这些问题,我们会将Gary的数据路由到第三种来源,即Google Cloud Functions。Cloud Functions是一种简单、可扩展的功能,可作为服务解决方案。它们将允许Gary仅为当前规模下的几个函数调用支付费用,但却保留了从数千台设备大规模调用数百万个并行函数的可能性。Cloud Functions可以通过简单的HTTP请求触发,或者在这种情况下,可以收听Pub Sub主题。


Leverege的工程师与加里(Gary)一起在地图上开发“地理范围”或可以通过其经纬度边界识别的区域。他们在城镇的禁止骑行区域周围创建了一个地理围栏,并在自行车小屋周围20英里的范围内创建了第二个地理围栏。他们还编写了一个Cloud Function(云功能),该功能可检查每条设备的消息,以查看设备的位置是否落在非自行车区域内或20英里范围外,并立即发送Gary文本和电子邮件警报,以便他采取适当和及时的行动。另外,加里(Gary)选择了一种可以测量和传输速度的设备,因此他还会收到有关自行车以特定速度行驶的警报(可能是因为它们已被放置在车内并被拉走了)。


总结


通过使用谷歌云平台,Leverege能够创建一个坚固的、可伸缩的解决方案来满足Gary的需求。由于该解决方案在GCP上运行,它自动获得所有谷歌的最新安全性和性能更新,并具有良好的正常运行时间。加里现在可以确信,当他的一位顾客走进“禁止骑车区”时,他将不再需要支付账单。一旦他怀疑自己的一辆自行车失踪了,他就可以通知当地政府。


他已经开始考虑进行硬件升级,这将使他可以在接近关闭时间时向所有自行车发送音频消息。他还与Leverege合作,开发了一种使用Google Cloud AutoML的机器学习算法,以根据客户的骑车行为模式来估算客户租自行车的时间。这将帮助Gary有效地确定库存中需要多少辆自行车,并将其估算提供给正在等待自行车的客户。


原文链接
相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
6月前
|
存储 人工智能 大数据
云计算平台:AWS、Azure和Google Cloud的比较与选择
在当今数字化时代,云计算平台成为了企业和个人的首选。本文将重点比较三大主流云计算平台:AWS、Azure和Google Cloud,从性能、功能、可用性以及定价等方面进行综合评估,帮助读者更好地选择适合自己需求的云计算平台。
|
6月前
|
机器学习/深度学习 存储 人工智能
云计算平台选择之路:AWS、Azure和Google Cloud的比较与抉择
在当今数字化时代,云计算平台扮演着企业转型和创新的关键角色。本文将对三大主流云计算平台——AWS、Azure和Google Cloud进行比较分析,为读者提供选择指南。我们将从性能、可靠性、生态系统、服务和定价等方面综合评估,以帮助读者做出最适合他们业务需求的决策。
686 0
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
解密Google Cloud 全新 PaLM2及创新应用
这篇文章深入解析了Google Cloud推出的PaLM2大语言模型的特点及其在不同行业中的创新应用。
|
3月前
|
开发者 监控 开发工具
如何将JSF应用送上云端?揭秘在Google Cloud Platform上部署JSF应用的神秘步骤
【8月更文挑战第31天】本文详细介绍如何在Google Cloud Platform (GCP) 上部署JavaServer Faces (JSF) 应用。首先,确保已准备好JSF应用并通过Maven构建WAR包。接着,使用Google Cloud SDK登录并配置GCP环境。然后,创建`app.yaml`文件以配置Google App Engine,并使用`gcloud app deploy`命令完成部署。最后,通过`gcloud app browse`访问应用,并利用GCP的监控和日志服务进行管理和故障排查。整个过程简单高效,帮助开发者轻松部署和管理JSF应用。
60 0
|
6月前
|
安全 编译器 C语言
MISRA C++ 、Google C++ 、AUTOSAR Adaptive Platform编码 C++ 规范总结
MISRA C++ 、Google C++ 、AUTOSAR Adaptive Platform编码 C++ 规范总结
197 1
|
6月前
|
机器学习/深度学习 人工智能 安全
【专栏】云计算平台的比较与选择:AWS、Azure 和 Google Cloud
【4月更文挑战第28天】本文对比了AWS、Azure和Google Cloud三大云计算平台,强调了解它们的差异对于企业选择合适云服务的重要性。AWS以其丰富功能和广泛覆盖领先,Azure与微软生态紧密集成,适合已使用微软技术的企业,而Google Cloud在大数据和AI领域有优势。选择时应考虑服务功能、成本、扩展性、技术支持、安全合规及行业生态。最终决策应基于全面评估以确保为企业提供高效、可靠的云服务。
758 0
|
6月前
|
API Go 网络架构
GEE Colab——如何从本地/Google云盘/Google Cloud Storage (GCS)上传和下载
GEE Colab——如何从本地/Google云盘/Google Cloud Storage (GCS)上传和下载
333 4
|
6月前
|
存储 机器学习/深度学习 人工智能
云计算巨头之争:AWS、Azure和Google Cloud的综合对比与选择指南
本文详细比较了三大云计算平台AWS、Azure和Google Cloud在性能、可靠性、服务覆盖范围、定价策略以及生态系统等方面的优势和劣势。通过对这些关键因素的分析,读者将能够更好地理解各个平台的特点,并为自己的业务选择最合适的云计算平台。
765 0
|
6月前
|
人工智能 大数据 数据处理
云计算巨头大比拼:AWS、Azure和Google Cloud的终极对决
在云计算领域,AWS、Azure和Google Cloud三家巨头一直在竞相争夺市场份额。本文将从性能、可靠性、定价策略以及生态系统等方面对它们进行全面比较,帮助读者做出明智的选择。
1081 0
|
11月前
|
开发工具
阿里云的镜像服务(mirrors.aliyun.com)可以同步 Google Cloud SDK 的软件包
阿里云的镜像服务(mirrors.aliyun.com)可以同步 Google Cloud SDK 的软件包
1636 3

热门文章

最新文章