65.9K
CodeProject 正在变化。 阅读更多。
Home

IoT 路径到产品:智能自动售货机的制作

starIconstarIconstarIconstarIconemptyStarIcon

4.00/5 (2投票s)

2016年8月19日

CPOL

27分钟阅读

viewsIcon

13761

此解决方案监控自动售货机的库存、产品销售和维护。网关从温度传感器、步进电机、线圈开关和产品购买应用程序收集数据,用于边缘数据分析。

获取新的英特尔® 物联网开发套件,这是一个完整的硬件和软件解决方案,允许开发人员使用英特尔® Galileo 和英特尔® Edison 开发板创建令人兴奋的新解决方案。访问英特尔® 物联网开发人员专区

为了演示使用云数据分析的零售物联网解决方案的快速产品路径,我们使用英特尔® 物联网开发套件和 Grove* 物联网商业开发套件创建了一个概念验证,并使用英特尔® 物联网网关、工业传感器、英特尔® 物联网网关软件套件、英特尔® System Studio 和 Microsoft* Azure* 云服务将其扩展为工业解决方案。此解决方案监控自动售货机的库存、产品销售和维护。网关从温度传感器、步进电机、线圈开关和产品购买应用程序收集数据,用于边缘数据分析。

本文概述了智能自动售货机原型的创建过程。有关操作方法,请参阅物联网产品路径:如何构建智能自动售货机

访问 GitHub 获取此项目的最新代码示例和文档。

物联网 (IoT) 的一个关键机遇在于为日常设备添加智能,以改进其操作以及与之相关的业务运营的效率和有效性。例如,自动售货机无处不在,带有硬币或纸币接收器的常见机器代表了各类零售商的巨大潜在收入来源。难怪自动售货机中可用的商品范围近年来大幅增长,包括在机场和其他设施中普遍销售的消费电子产品。

图 1. 完成的智能自动售货机。

自动售货机比其他零售点具有优势,它们每天 24 小时、每年 365 天运行,无需人工收银员。它们还赋予分销商在其他情况下不可能实现的重大控制权,例如在公共场所和办公楼中。然而,与此同时,自动售货机需要定期维护:经常补充销售的产品,不经常进行定期和非定期维护。

让自动售货机所有者更好地了解其自动售货机车队中每个单元的状态,有可能提高该服务工作的效率。英特尔® 开展了一个开发项目,以调查与构建智能自动售货机相关的这一机遇和其他机遇。完成的设备如图 1 所示。该项目在很大程度上借鉴了英特尔和 ADLINK Technologies 现有的智能自动售货机解决方案蓝图。本文记述了该项目开发工作的过程。它首先抽象描述了一种结构化的项目方法论,分为多个阶段,然后详细地逐阶段记述了项目开发过程。

有兴趣的各方可以使用此叙述来回顾英特尔® 项目团队在开发智能自动售货机时所采取的步骤。然而,更重要的是,它可以被概括为一组指导方针,以解决其他类型项目的需求。英特尔® 免费提供此文档,并鼓励使用此方法论和过程来推动物联网的探索、发明和创新。

方法论

就其性质而言,物联网包含开放式创新,项目种类繁多,可为从简单到复杂、从平凡到奇特的对象添加智能。同时,每个项目都建立在行业从以前的物联网项目获得的经验之上,最佳实践表明物联网项目普遍存在共同的结构元素。

为了利用这些共性并帮助增加开发期间成功的机会,英特尔开发了一种结构化的物联网项目开发方法。它由一个六阶段模型组成,指导整个产品路径,从最初的想法闪现开始,一直到最终解决方案投入商业使用。它旨在足够通用,可以适应任何物联网项目的需求。

启动阶段 (1-3)

项目方法论的前三个阶段是调查性的。它们侧重于构思和评估项目解决给定问题的潜力,为最终形成商业上可行的产品做准备。因此,这些阶段重视头脑风暴和概念验证,而不是严格解决设计的细微之处。

快速原型设计通过使用 Grove* 物联网商业开发套件得以实现,该套件由英特尔® NUC 系统、英特尔® 物联网网关软件套件和 Grove* 入门套件 Plus(由 Seeed 制造)组成。该项目还使用 Arduino* 101 开发板。

注意:在美国被称为“Arduino 101”的开发板,在其他地方被称为“Genuino* 101”。在本文的其余部分,它被称为“Arduino 101”开发板。

  • 阶段 1:定义项目将利用的机遇。物联网项目的第一步是确定项目将解决的问题或机遇。此阶段的文档应明确机遇本身、解决方案的价值(对最终用户以及构建和实施它的组织),以及项目概念的局限性,包括设计挑战和限制。
  • 阶段 2:设计一个概念验证以利用该机遇。初步解决方案设计提出了一种构建解决方案的实用方法,包括硬件、软件和网络元素。设计必须在构建原型之前尽可能地解决阶段 1 中确定的设计挑战和限制,包括充分考虑成本和安全性等因素。
  • 阶段 3:构建并完善概念验证。解决方案原型基于阶段 2 中确立的设计,根据需要进行更改并记录。在测试期间发现的缺陷和额外机遇而进行的设计更改应作为此阶段的一部分进行记录。

完成阶段 (4-6)

项目方法论的最后三个阶段仅在决定将解决方案产品化后才进行。因此,这些阶段明确关注解决方案在稳定性、安全性和可管理性方面的强化,为大规模生产做准备,并将其商业化以实现其商业潜力。

项目完成阶段涉及将解决方案转换为工业级传感器及相关组件,使用商用级网关进行构建,并最终确定功能集。

  • 阶段 4:制作一个稳定的测试版。一旦项目被批准为可开发生产的可行解决方案,下一步是制作一个以产品为导向的版本,明确旨在最终确定设计。此版本代表了对资源的重大投资,包括商业级传感器和其他组件,以及商业物联网网关。
  • 阶段 5:评估功能并添加特性。对解决方案的完整测试版进行测试,以验证其是否根据设计参数正常运行。作为测试过程的一部分,项目团队还会识别额外的特性和功能,并将其整合到解决方案中,使其对最终用户更健壮和更有价值。
  • 阶段 6:最终确定设计并投入生产。一旦产品功能完善,团队通过添加高级可管理性和安全特性来强化解决方案,并根据需要优化设计,以增强市场化和制造效率等因素。解决方案的生产用户界面 (UI) 最终确定。此阶段还包括在全面投入生产之前对解决方案的商品化和营销进行最终规划。

阶段 1:定义机遇

虽然传统自动售货机代表着可观的收入来源,但它们的效率却非常低下。每台机器都必须由人工服务员定期维护,以补充机器中的产品库存。这项任务通常通过将机器分配给由卡车上的工作人员遵循的常规路线来处理。

为了理解这种方法固有的低效率,请考虑一条包括高层办公楼的路线上的活动。在这里,服务员将车停在建筑物前,可以选择猜测 15 楼和 20 楼的机器需要什么,然后将产品运上去,然后再往返一次以运送剩余所需物品,或者手持记事本进行专门的库存检查。这两种方法都会耗费不必要的时间和精力,从而使自动售货公司损失金钱。

此外,分销商必须在派遣过多服务员行程(浪费工资工时)或过少(导致机器库存不足并损失收入)之间取得平衡。由于分销商必须在一定程度上依赖最终客户报告机器何时出现故障,因此情况变得更加棘手。

英特尔® 的项目发起人确定,智能自动售货机作为潜在项目的基础是可行的,可以展示物联网功能和本文所述的项目方法。该核心小组确定了项目期间可能需要的技能组合,包括项目管理、编程、云架构和文档。根据所需的技能列表,核心小组组建了完整的项目团队,项目人员主要来自英特尔员工,少数情况下包括外部人员以完善团队的专业知识。

完整的项目团队的首要任务是量化与项目相关的潜在机遇,作为初始原型设计的基础。此用例的核心机遇被确定为使自动售货机能够智能地监控其产品库存水平和运营状态,并能够通过物联网网关将该信息报告回云端。

团队选择整合云资源用于数据存储和管理功能。这种方法的目标是促进一个完全连接和可扩展的解决方案,该解决方案通过自动售货机车队的整体视图优化操作。云方法的关键价值在于分析的潜力,这可能预测销售以优化许多分布式机器的供应链。它还可以用于优化补充机器库存和执行非计划机械维护的人员效率。

阶段 2:设计概念验证原型

项目团队确定,为了使该项目对开发人员社区尽可能有用,它应该基于现成的零件和技术。基于这一决定,决定将物料清单限制在 Grove* 物联网商业开发套件、英特尔® 物联网开发套件和英特尔® 物联网网关软件套件 (https://software.intel.com/en-us/iot/hardware/gateways/wind-river) 内,并使用行业中广泛使用且成本低廉或免费的软件技术,在可行的情况下尽可能使用免费开源软件 (FOSS)。

为了加速原型阶段并降低其复杂性,团队选择将原型的本地部分构建为台式模型,该模型将由计算平台和传感器组成,而不包含实际的自动售货机,尽管此类设备将在项目的未来阶段添加。

原型硬件选择

此项目选择了英特尔® NUC 套件 DE3815TYKHE 小型 PC。该平台如图 2 所示,其高级规格在表 1 中给出。除了其强大的性能外,团队认为,作为英特尔最新推出的专门针对物联网的硬件平台,它是该演示项目的前瞻性选择。基于英特尔® Atom™ 处理器 E3815,英特尔 NUC 提供无风扇散热解决方案、4 GB 板载闪存存储(以及用于额外存储的 SATA 连接)以及广泛的 I/O。英特尔 NUC 被设想为一种高度紧凑和可定制的设备,提供桌面 PC 规模的功能。

为了简化与传感器的接口过程,团队选择利用 Arduino* 生态系统,使用 Arduino* 101 开发板(也如图 2 所示,规格在表 1 中给出)。该开发板使英特尔 NUC 在硬件和引脚方面都与 Arduino 扩展板兼容,符合项目团队的开源理念。虽然当前迭代的项目中未使用蓝牙*,但该开发板确实具有该功能,团队正在考虑将来使用。

图 2. 英特尔® NUC 套件 DE3815TYKHE 和 Arduino* 101 开发板。

表 1. 智能自动售货机项目中使用的原型硬件。

 

英特尔® NUC 套件
DE3815TYKHE

Arduino* 101

处理器/
微控制器

Intel® Atom™ 处理器 E3815 (512K 缓存, 1.46 GHz)

Intel® Curie™ 计算模块 @ 32 MHz

内存

8 GB DDR3L-1066 SODIMM (最大)

  • 196 KB 闪存

  • 24 KB SRAM

网络/I/O

集成 10/100/1000 LAN

  • 14 个数字 I/O 引脚

  • 6 个模拟 IO 引脚

尺寸

190 毫米 x 116 毫米 x 40 毫米

68.6 毫米 x 53.4 毫米

完整规格

规格

规格

对于原型创建所需的传感器和其他组件,团队选择了适用于 Arduino* 的 Grove* 入门套件(由 Seeed Studio 制造),该套件基于 Grove* 物联网商业开发套件中使用的 Grove* 入门套件 Plus。这套组件成本低廉,并且由于它是一组预先选择的零件,因此减少了识别和采购一般物联网原型物料清单所需的工作。原型传感器和其他组件的选择(在下一节中详细介绍)遵循以下关键数据:

  • 机器内部温度
  • 机器中每件可售商品的库存水平
  • 门开或关状态
  • 自动售货线圈卡纸检测

原型软件规格

对于原型操作系统,团队考虑了 Yocto Linux* 以及英特尔® 物联网网关软件套件。Yocto Linux 支持项目使用免费开源软件 (FOSS) 的理想,并提供高度灵活性以及对源代码的强大控制能力,以及创建适合系统需求的自定义轻量级嵌入式操作系统的能力。另一方面,英特尔物联网网关软件套件提供开箱即用的实现,无需定制。团队将这种因素组合确定为原型开发的最佳实践,因此选择英特尔物联网网关软件套件作为原型的操作系统。

以下应用程序被确定为作为解决方案的一部分进行开发:

  • 控制应用程序将运行在自动售货机本身,从传感器收集数据并处理解决方案的机电方面(例如,转动自动售货线圈)以及与人类用户(例如,客户和管理员)和云端的数据交换。
  • 管理应用程序将在 PC 或平板电脑上运行,并允许详细查看自动售货机的操作,包括事件、状态和日志,以及访问云数据和分析。此应用程序还将支持定期维护。
  • 客户应用程序将在智能手机或其他移动设备上运行,使客户能够从机器购买产品。

阶段 3:构建和完善概念验证原型

团队使用英特尔 NUC 套件 DE3815TYKHE、Arduino 101 开发板和 Grove Starter Kit Plus 物联网版,开发了图 3 所示的概念验证原型,以模拟一台可销售两种产品的简单自动售货机。它包括一个 2x16 字符的 LCD 显示屏,显示产品名称和价格信息,以及两个产品选择按钮、一个用于销售产品的步进电机,以及两个 LED(绿色和红色)显示机器状态。它还包括一个温度传感器和一个“故障检测”按钮。一旦按下客户应用程序上的购买按钮,产品就会被销售;为简单起见,原型中省略了支付处理硬件。

图 3. 智能自动售货机概念验证原型。

原型硬件实现

原型物料清单总结在表 2 中。

表 2. 智能自动售货机原型组件。

 

组件 (Component)

详细说明

基础系统

Intel® NUC Kit DE3815TYKHE

http://www.intel.com/content/www/us/en/support/boards-and-kits/intel-nuc-kits/intel-nuc-kit-de3815tykhe.html

Arduino* 101 板

https://www.arduino.cc/en/Main/ArduinoBoard101

USB Type A 转 Type B 线缆

用于连接 Arduino 101 板到 NUC

Grove* Starter Kit Plus IoT Edition 的组件

Base Shield V2

http://www.seeedstudio.com/depot/Base-Shield-V2-p-1378.html

带驱动器的齿轮步进电机

http://www.seeedstudio.com/depot/Gear-Stepper-Motor-with-Driver-p-1685.html

按钮模块

http://www.seeedstudio.com/depot/Grove-Button-p-766.html

温度传感器模块

http://www.seeedstudio.com/depot/Grove-Temperature-Sensor-p-774.html

绿色 LED

http://www.seeedstudio.com/depot/Grove-Green-LED-p1144.html

红色 LED

http://www.seeedstudio.com/depot/Grove-Red-LED-p-1142.html

带 RGB 背光的 LCD 模块

http://www.seeedstudio.com/depot/Grove-LCD-RGB-Backlight-p-1643.html

触摸传感器

http://seeedstudio.com/depot/Grove-Touch-Sensor-p-747.html

原型软件实现

概念验证原型中使用的控制应用程序用 C++ 编写。它还使用 Node.js 组件访问 Azure 云。云用于与移动和管理应用程序交换事件。此类事件包括例如温度警报和产品销售请求。移动应用程序用 JavaScript* 编写,用于 Web 浏览器,以避免将应用程序迁移到多个智能手机平台的必要性。

用于开发此解决方案软件的开发环境是英特尔® System Studio,它是 Eclipse* IDE 的一个插件,便于连接到 NUC 并开发 C/C++ 应用程序。

此外,该解决方案的开发使用了 Libmraa,这是一个允许直接访问 NUC 上的 I/O 的 C/C++ 库,以及 Firmata,它允许与 Arduino 开发环境进行编程交互,利用 Arduino 的硬件抽象功能。使用 Libmraa 抽象 Firmata 可以在 NUC 上实现更大的 I/O 编程控制,简化了从传感器收集数据的过程。UPM 提供用于访问传感器的特定函数调用。

第四阶段:生产稳定的 Beta 版本

概念验证原型启动并运行后,团队将注意力转向创建智能自动售货机的生产版本。整个解决方案被设想为包括以下主要部分:

  • 自动售货机,负责销售产品并通过网关将数据传回。解决方案的这一部分复杂且定制化,包括各种传感器和相关组件。
  • 网关,作为基于英特尔架构的商业产品购买,并使用定制开发软件实现。
  • 管理和客户应用程序,用 JavaScript 实现,用于控制整个解决方案并生成和访问基于云的分析。
  • 云分析,基于 Microsoft Azure,允许根据自动售货机随时间的使用数据开发洞察力以改进业务流程。

选择自动售货机组件

项目完成阶段的早期工作涉及选择将构成最终生产解决方案的特定组件。

自动售货机设备采购

团队曾选择将概念验证原型创建为自动售货机的板级模拟,而生产版本将是实际可运行的自动售货机。团队调查了定制机器的用途,以及购买一台可用于此项目的二手机器进行改装。最终,选择了一台定制机器,以支持销售尽可能广泛的产品。定制自动售货机的初始规格和机器在制造初期的照片如图 4 所示。

图 4. 自动售货机规格和制造期间设备的照片。

自动售货机型号规格

定制桌面自动售货机,适用于各种盒装、吸塑包装或袋装小件产品。三个线圈驱动的售货盘将分别配置为不同尺寸的产品。

  • 3 英寸密间距线圈,可放置 12-14 个小型吸塑包装
  • 4 英寸中等间距线圈,可放置 9-12 个中型盒子或包装
  • 5-6 英寸大线圈,可放置 6-8 个较大包装,例如 T 恤

线圈将由每个线圈一个步进电机驱动,并将产品落入机器底部的单宽托盘中。将有一个有机玻璃窗口用于查看售货选择,并可选用于英特尔选择的平板屏幕和/或键盘的切口。

机器主体将采用粉末涂层钢,托盘将采用铝,售货线圈将采用镀钢。机器前部将打开以补充产品,后部将打开以安装和维修售货机构。

机器的大致尺寸为深 24-30 英寸 x 高 36 英寸 x 宽 30 英寸。总目标重量低于 70 磅。

客户应用程序允许购买产品。

在此阶段要做的其他关键决定包括选择工业级传感器、基于英特尔® 架构的商用网关、完全支持的生产操作系统、用于数据存储和分析的云服务,以及用于管理和客户应用程序的软件技术。

传感器及相关组件选择

工业级传感器和相关组件,以取代概念验证原型中使用的 Grove 入门套件中的那些,详见表 3。

表 3. 生产智能自动售货机组件。

组件 (Component)

详细说明

自动售货机型号

定制制造

  • 带铰链前门和可拆卸后面板的机箱

  • 带三个用于销售产品的线圈的可拆卸托盘

  • 三个步进电机(每个线圈一个),每个都配备用于感应线圈完全旋转的开关

  • 用于电子元件的可拆卸托盘

戴尔 Wyse* 物联网网关

https://iotsolutionsalliance.intel.com/solutions-directory/dell-iseries-wyse-3290

USB Type A 转 Micro-USB Type B 线缆

将 I2C/GPIO 控制器连接到网关

12V 5A 电源

用于步进电机驱动板

UMFT4222EV USB 到 I2C/GPIO 控制器

http://www.mouser.com/new/ftdi/ftdiumft4222ev/

基于 PCA9555 的 GPIO 扩展器

http://www.elecfreaks.com/store/iic-gpio-module-p-692.html

SparkFun Quadstepper 电机驱动板

https://www.sparkfun.com/products/retired/10507

AM2315 温湿度传感器

https://www.adafruit.com/product/1293

带 RGB 背光的 Grove LCD 模块

http://www.seeedstudio.com/depot/Grove-LCDRGB-Backlight-p-1643.html

红色 LED 面板安装指示灯

http://www.mouser.com/ProductDetail/VCC/CNX714C200FVW

白色 LED 面板安装指示灯

http://www.mouser.com/ProductDetail/VCC/CNX714C900FVW

网关选择

选择用于智能自动售货机产品版本的网关的因素包括:

  • 强大的计算资源,以确保平稳的性能,而不会因操作过程中卡顿而出现错误,特别是考虑到在正常使用中需要与云通信。
  • 现成的商业可用性显然是必需的,以便项目能够按计划进行。尽管团队的一些成员表示偏好 Vantron VT-M2M-QK 网关,但及时获取该设备的困难使其无法用于该项目。

最终,戴尔 iSeries Wyse 3290 物联网网关(其规格在表 4 中总结)被选用于此项目的产品阶段实施。该网关为当前和可预见的功能提供了所需的性能,以及现成的可用性(可能大量),以用于将自动售货机作为商业产品进行假设分发。

表 4. 智能自动售货机产品阶段的网关规格。

 

Dell iSeries Wyse* 3290 物联网网关

Processor

Intel® Celeron® 处理器 N2807 (1M 缓存, 最高 2.16 GHz)

内存

4 GB DDR3 RAM 1600 MHz

网络

  • LAN: 1 x 10/100/1000 BASE-T

  • WLAN: 802.11a/b/g/n/ac

  • PAN: 蓝牙 4.0 低功耗

物理规格

  • 尺寸: 69mm x 197.5mm x 117mm

  • 重量: 2.34kg

继续使用英特尔物联网网关软件套件(原型已基于此套件)是一个直接的决定,特别是因为网关已针对该操作系统进行预验证。此外,英特尔 NUC 和网关都可以运行英特尔物联网网关软件套件,从而简化了将软件元素从原型移植到智能自动售货机模型的生产版本的过程。同样,其他核心软件组件,如英特尔 System Studio 和原型中使用的库,保持不变,以简化向产品阶段的过渡。

在线操作

该系统包括运行在物联网网关上的软件、Azure 云和服务器端应用程序,如图 5 所示。

图 5. 智能自动售货机拓扑:在线操作。

物联网网关软件实现

  • 物联网网关软件由三部分组成:控制应用程序使用物联网开发套件库 libmraa 和 libupm 用 C++ 实现;它执行以下任务:

    检查机械故障并向本地数据库报告故障/无故障事件。
    监控温度波动是否超出允许范围,并在温度超出和返回该范围时报告事件。
    检查客户应用程序中发生的产品选择按钮事件,然后应用程序生成一个“销售”事件,该事件通过云发送到机器。

  • 本地数据库用于控制应用程序和数据库守护程序之间的进程间通信。本地 SQLite 数据库使用文件 $HOME/Vending_Prototype/events.sqlite3,其中包含“events”表,其中包含要报告给云的事件。事件表在机器之间双向复制。
  • 数据库守护程序使用 Node.js 实现;它在本地数据库和云之间双向发送报告的事件。

Azure 云实现

Azure 云维护智能自动售货机的产品库存信息,跟踪从客户应用程序和自动售货机接收到的事件,并提供分析这些数据和触发对各种条件(例如,低库存或机械故障)的响应的功能。主要的云分析功能如下:

  • 如果产品缺货,该信息将发送到云端,并在管理员应用程序中为用户显示警报。
  • 如果自动售货机内部温度达到或低于预设阈值,该信息将发送到云端进行分析。警报会在管理员应用程序中为用户显示。
  • 如果三个自动售货机线圈中的任何一个功能异常,该信息将发送到云端进行分析。警报会在管理员应用程序中为用户显示。
  • 如果自动售货机托盘被拉出,“机器已打开”状态会在 LCD 和 LED 中显示红色。一旦托盘被推回,“机器已就绪”状态会在 LCD 和 LED 中显示绿色。

管理员应用程序提供有关主页、设置、日志历史记录、库存状态和警报详细信息的信息。

阶段 5:最终确定设计并发布生产

负责开发此解决方案的项目团队以工程为中心,因此为最终产品制作一流的用户界面在一定程度上超出了团队的核心能力。因此,团队为此目的聘请了外部承包资源。用户界面提供商参加了定期团队会议以及与核心软件开发团队的专门会议。

在这些讨论中,用户界面得到了完善,以整合额外的功能和特性。例如,团队为管理应用程序用户界面添加了颜色编码和在华氏度和摄氏度之间切换温度的选项。客户应用程序用户界面添加了功能,要求用户在进行交易之前验证他们是否希望进行购买,以及其他一些小的改进。

管理应用程序

管理应用程序用户界面如图 6 所示,旨在在平板电脑上运行,并为智能自动售货机提供管理功能。

图 6. 智能自动售货机管理应用程序用户界面。

管理应用程序 UI 包含以下主要元素:

  1. 菜单系统包含一个“主页”按钮,可返回主屏幕(如图所示),一个“关于”屏幕,其中包含有关软件的信息,一个“设置”按钮,提供硬件设置详细信息(包括传感器的放置和连接),一个“日志”按钮,用于访问跟踪购买、警报和维护的事件日志,以及一个“警报”按钮,提供有关活动维护警报的信息,包括每个警报的类型和发生时间。
  2. 库存面板反映了在云中设置的库存水平,使用颜色编码来指示这些水平:深蓝色表示库存水平高于容量的三分之二,浅蓝色表示库存水平在三分之一到三分之二之间,橙色表示库存水平低于三分之一。单击面板会生成一个详细的库存窗口,显示精确的库存数量、商品所在的货盘以及每件商品的价格。
  3. 温度模块是一个双阈值径向温度图,显示机器当前内部温度,可选择华氏或摄氏。白色条表示可接受的温度范围;如果温度超出该范围,系统将生成警报。软件每隔几秒轮询温度并更新 UI。
  4. 线圈状态模块报告自动售货线圈和电机的状态,指示是否存在任何故障,例如卡纸或电气故障。
  5. 售货单元模块提供有关错误状况的存在和位置以及门开/关状态的视觉信息。

客户应用程序

客户应用程序如图 7 所示,旨在在移动设备上运行,允许客户与自动售货机互动以进行购买。

图 7. 智能自动售货机客户应用程序。

客户应用程序包含以下主要元素:

  • 状态窗格指示机器是否准备好接收订单,它还充当购物车,显示用户选择的待售商品列表。当商品添加到购物车时,会出现一个“购买”按钮,指示销售总额;单击该按钮即可完成购买,方法是将订单信息发送到云端,并在收到云端确认后,销售商品并更新库存数量。
  • 订购窗格包含机器中每个产品的选择按钮;单击时,该按钮会将商品添加到状态窗格中的购物车列表。每个产品按钮都附带显示库存数量和商品价格的字段。

已完成的生产自动售货机

组装好的智能自动售货机,安装了网关、传感器和其他组件,如图 9 所示。

图 9. 完全组装好的智能自动售货机。

阶段 6:评估功能并添加特性

一旦自动售货机的实际产品版本投入运行,几位团队成员便开始确定可以集成到产品中的未来功能。

增强云分析

团队确定了利用 Microsoft Power BI 服务和 Power BI Desktop 增强云分析功能的机会,Power BI Desktop 是一种集成到 Microsoft Azure 中的云托管商业智能和分析服务。这些功能为智能自动售货解决方案提供了数据可视化增强功能。

增强事件通知数据流

在评估阶段,团队发现了利用事件通知结合 Azure 分析来自动化机器操作某些方面的可能性。具体来说,确定了基于以下数据流的未来增强功能:

  • 库存。如果产品数量降至两个单位,未来的增强功能可能会导致通知发送到云进行分析,并且警报可能会作为重新订购库存的通知发送到管理应用程序。如果数量降至零,此序列可以重复,并且通知也可以发送到机器显示屏和移动应用程序,指示该商品缺货。
  • 维护。如果机器出现故障(例如,线圈未完全转动,温度超出预设限制等),未来的增强功能可能会导致通知发送到云进行分析,并可以通知服务人员。警报也可以发送到管理应用程序以监控服务呼叫的状态。

结论

追溯智能自动售货机开发过程中的产品路径,旨在为团队构建自己的解决方案提供一个模式。从构思阶段和在低成本设备上进行快速原型设计以及简化的物理模型开始,可以使项目快速启动。因此,可以在早期对项目的潜在可行性做出决策,此时时间和金钱的投入相对较少。

该项目还提出了一个思考物联网解决方案中云分析的模型。它不仅关注大数据洞察的机遇,而且揭示了云如何首先作为通信枢纽和集中数据存储发挥作用。同时,云数据为生成商业智能提供了巨大的机遇,可以优化供应链,提高维护效率,并提高盈利能力。

更多信息

© . All rights reserved.