IoT 产品之路:构建互联交通解决方案
该解决方案可监测卡车冷藏货厢内的温度以及货厢门的开关状态。网关会根据这些状态的变化生成事件,以支持平板电脑应用程序上的最终用户功能。
获取新的 Intel® 物联网开发者套件,这是一个完整的硬件和软件解决方案,让开发者能够使用 Intel® Galileo 和 Intel® Edison 主板创建令人兴奋的新解决方案。请访问 Intel® 物联网开发者专区。
为了展示面向交通运输领域的快速产品化边缘物联网解决方案,我们使用 Grove* 物联网商用开发者套件创建了一个概念验证。该原型通过使用 Intel® 物联网网关、工业传感器和 Intel® System Studio 进行了扩展,形成了一个工业解决方案。该解决方案可监测卡车冷藏货厢内的温度以及货厢门的开关状态。网关会根据这些状态的变化生成事件,以支持平板电脑应用程序上的最终用户功能。
物联网(IoT)的核心机遇在于为日常设备增加智能和连接性,利用信息并以增值的方式使用它们。监测运输易腐货物的冷藏半挂车的状态就是一个简单的例子。当温度超出预设范围或货厢门意外打开时,向驾驶员发出警报可以帮助避免经济损失。因此,一个用于监测和跟踪半挂车这些方面的物联网解决方案可能是一个可行的商业产品。
英特尔 undertaking a development project to investigate this and other opportunities associated with building a connected transportation solution. The project was presented as a demonstration at Intel® Developer Forum in 2015 and again in 2016. This document recounts the course of the project development effort, to help drive inquiry, invention, and innovation for the Internet of Things.
有关此项目的操作指南,请参阅 物联网产品化之路:如何构建互联交通解决方案。
引言
本项目旨在构建一个功能原型,然后将该概念验证转化为工业级解决方案,以便作为商业产品进行可扩展部署。使用 Grove* 物联网商用开发者套件可以加速原型开发,该套件包括 Intel® NUC 系统、Intel® 物联网网关软件套件,以及来自 Grove* Starter Kit Plus(由 Seeed 制造)的传感器及其组件。项目还使用了 Arduino* 101 主板。本项目原型阶段使用的硬件如图 1 所示,规格见表 1。
注意:在美国称为“Arduino* 101”,在其他地区称为“Genuino* 101”。在本文档的其余部分中,它被称为“Arduino* 101”主板。
表 1. 互联交通项目中使用的原型硬件
|
Intel® NUC 套件 |
Arduino* 101 |
处理器/ |
Intel® Atom™ 处理器 E3815(512K 缓存,1.46 GHz) |
Intel® Curie™ 计算模块 @ 32 MHz |
内存 |
8 GB DDR3L-1066 SODIMM (最大) |
|
网络/I/O |
集成 10/100/1000 LAN |
|
尺寸 |
190 毫米 x 116 毫米 x 40 毫米 |
68.6 毫米 x 53.4 毫米 |
完整规格 |
本项目的开发过程证明了产品化方法的价值:它允许在相对较少的时间和精力投入下构建原型,然后高效地过渡到具有商业价值的解决方案。使用预编译的操作系统和 RPM 可以避免不必要的下载、自定义操作系统以及识别将项目变为现实所需的库。
本项目的目的是为正在生产和销售的类似用例的解决方案的创新做出贡献。虽然本项目仅设计为提供基本功能,但其设计灵活且可扩展,可以添加各种功能。特别是,项目未来可以扩展到包括 Web 连接、云功能、远程监控和其他组件。
在项目早期阶段,团队列出了原型和产品的潜在功能。其中一些包括后门状态(打开或关闭)、拖车温度、基于门和温度状态的警报、用于查看数据的在线应用程序以及车内信息监控。为了展示在保持简洁和低成本的同时创建健壮解决方案的可行性,团队选择将原型阶段的物料清单限制在 Grove 物联网商用开发者套件的范围内。
创建原型概念验证
为了实现职责分离和高效进展,团队将解决方案分为三个主要工作领域:
- 用户界面 (UI)。团队的一部分开始着手实际的生产 UI 布局和设计,为项目的生产阶段做准备。
- 应用程序业务逻辑。团队的一部分开始着手原型应用程序的逻辑,同时认识到随着项目向商业解决方案的推进需要进行更改。
- 原型传感器解决方案。团队的一部分开始为解决方案创建传感器配置,利用 UPM/MRAA 库进行快速开发。
这种将项目划分为离散段的方法使团队能够比以往更快地完成原型阶段,充分利用团队内可用的技能组合。特别是,虽然用户界面在项目早期阶段并非严格必需,但预计它将是上述三个领域中开发时间最长的。因此,尽早开始可以确保在项目后期需要时,它已经进展顺利。
在应用程序逻辑方面,团队能够展望预期的最终功能原型,并在早期原型过程中做出面向未来的决策。总的来说,团队预计门传感器操作相对简单,可以有更多精力来关注在小型和商业规模上正确使用温度传感器。
通过利用 Grove* Starter Kit Plus 中的传感器,我们能够快速创建一个功能性传感器环境的原型,供 UI 团队使用。这种方法使得布局和设计元素能够快速实现,并为最终的功能用例提供了未来的框架。图 3 示出了包含 Intel® NUC、Arduino* 101 主板和传感器的原型配置。物料清单见表 2。
表 2. 互联交通原型组件。
|
组件 (Component) |
详细说明 |
基础系统 |
Intel® NUC Kit DE3815TYKHE |
|
Arduino* 101 板 |
||
USB Type A 转 Type B 线缆 |
用于将 Arduino* 101 主板连接到 NUC |
|
Grove* 物联网商用开发者套件中的组件 |
Base Shield V2 |
|
触摸传感器模块 |
http://www.seeedstudio.com/depot/Grove-Touch-Sensor-p-747.html |
|
按钮模块 |
||
温度传感器模块 |
http://www.seeedstudio.com/depot/Grove-Temperature-Sensor-p-774.html |
|
蜂鸣器模块 |
||
红色 LED |
||
带 RGB 背光的 LCD 模块 |
http://www.seeedstudio.com/depot/Grove-LCD-RGB-Backlight-p-1643.html |
用例
用例已构建并通过管理应用程序显示,以支持以下场景:
- 按按钮启动用例(模拟开门)
- 设置环境温度阈值 +5 度。
- 车厢内的红色 LED 灯常亮。
- LCD 显示当前温度和门状态(打开),如图 4 所示。图 4. 显示门状态。
- 触摸温度传感器将环境温度升高五度
- 蜂鸣器响起。
- 红色 LED 持续闪烁。
- LCD 变为红色并显示实际温度和门状态(打开),如图 5 所示。图 5. 显示高温状态。
- 触摸传感器确认警报(蜂鸣器关闭)。
- 按按钮关闭门
- 红色 LED 持续闪烁,直到温度降至阈值以下。
- LCD 显示温度和门状态(关闭)。
- 当温度低于阈值时,闪烁的红色 LED 关闭,绿色 LED 常亮,LCD 变为绿色。
- LCD 显示温度和门状态(关闭)。
模拟
此模拟演示了通过监测温度变化并在温度达到临界值时向驾驶员发出警报,从而减少了对温度敏感货物潜在的损失,如图 6 和图 7 所示。
目标商业解决方案
基于 Intel® 物联网开发者套件和 Grove 物联网商用开发者套件构建了可操作的原型后,有必要确定如何继续创建商业解决方案。表 3 概述了原型阶段使用的组件如何过渡到生产解决方案。
表 3. 原型与生产解决方案中的组件。
|
原型 |
生产解决方案 |
蜂鸣器 |
Grove 套件蜂鸣器 |
手机上的警报(客户应用程序) |
LCD |
Grove LCD 面板 |
手机屏幕(客户应用程序) |
LED(红色) |
Grove 套件 LED |
手机上的指示灯(客户应用程序) |
Button |
Grove 套件按钮 |
带配对磁铁的工业磁性传感器 |
触摸传感器 |
Grove 套件触摸传感器 |
手机上的触摸操作(客户应用程序) |
温度传感器 |
Grove 套件温度传感器 |
商用温度传感器 |
热源 |
人手指 |
20 瓦卤素灯杯 |
网关 |
Intel® NUC 和 Arduino 101 主板 |
Intel® IoT Gateway |
此外,还有许多商用网关可供选择,其设计差异使其适用于各种行业和用例。本项目的一个关键考虑因素是广泛的 I/O 选项,以支持当前和未来的功能,特别是用于连接传感器以提供数据流。
本项目产品部分选择了 Intel® 物联网网关作为网关设备,如图 8 所示。其处理能力和 I/O 功能被认为足以满足所示的商业用途。
选择了有线 Modbus 温度传感器,以提供可靠的连接,每隔几秒读取一次温度。设备上的所有通信均通过直接布线或以太网进行。标准 MRAA/UPM 库在整个过程中保持不变,未经修改。
网关充当 Web 服务器,存储数据并调用温度传感器以保持数据最新。Java UPM 库使用 libmodbus 从 Comet* 温度传感器读取并发送周期性更新到 Tomcat* Web 服务器。

将代码传输到网关
通常,升级到商业网关需要对代码进行改造,以使其与系统上可用的服务兼容。在本例中,原型上的编码全部使用 Java*、HTML 和 JavaScript* 完成,因此过渡到商业解决方案相对简单。由于项目两个阶段都使用了相同的 MRAA/UPM 库,代码迁移变得更加简单。
将 Grove 传感器映射到工业传感器
使用 MRAA 和 UPM 库可以帮助项目快速启动。以下步骤涵盖了将应用程序移植到商业产品解决方案的流程:
- 确定目标工业硬件
- 确定硬件是否需要额外的库或应用程序支持。
- 如果需要,集成库和软件,并创建用于软件部署的 OS 层。
- 一旦商业产品硬件成功集成到原型解决方案中,删除不再需要的代码。
- 利用原型阶段创建的现有层来安装解决方案依赖项。
- 根据新硬件进行必要的更改。
- 将新的和旧的层构建到生产运行时中。
- 在生产硬件上完成所有安装和测试。
客户应用程序
基本客户应用程序(如图 9 至图 12 所示)旨在取代驾驶员将与之交互的 Grove LCD、LED、蜂鸣器和触摸传感器。在生产解决方案中,客户应用程序将驻留在驾驶员携带的移动设备上,以便轻松通知和响应警报。在此示例中,客户应用程序非常简单,但可以轻松扩展。它有两个状态指示器,分别表示温度和门状态。一个警报按钮会激活,然后出现一个确认按钮用于清除警报。
结论
此练习演示了如何使用 Grove* 物联网商用开发者套件快速开发原型。该开发者套件拥有广泛的库,易于使用,简化了开发过程,同时还提供了高度的兼容性,便于产品的商业化。扩展到商业网关非常容易,因为团队能够直接复制代码并立即使其正常工作。