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

IoT 产品之路:智能家居

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.80/5 (5投票s)

2016年8月19日

CPOL

28分钟阅读

viewsIcon

10422

此解决方案监控家庭前门和车库门的状态,以提高安全性。网关从门铃、门锁、步进电机和车库门应用程序收集数据,用于边缘数据分析。

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

为了演示智能家居垂直快速路径产品边缘物联网解决方案使用云数据分析,我们使用 Intel® IoT 开发套件和 Grove* 物联网商用开发套件创建了一个概念验证,并使用 Intel® IoT 网关、工业传感器、Intel® IoT 网关软件套件、Intel® XDK 物联网版和 IBM Bluemix* 云服务扩展为工业解决方案。此解决方案监控家庭前门和车库门的状态,以提高安全性。网关从门铃、门锁、步进电机和车库门应用程序收集数据,用于边缘数据分析。

物联网 (IoT) 的承诺是提供连接性,让我们能够随时随地控制和了解无数个存在点。作为每个消费者世界的中心,家庭可能是这个愿景得以实现的最重要场所。简而言之,当我们不在家时,我们希望知道家里是安全的,而技术可以在实现这一目标方面发挥重要作用。

每个人都有过那种令人烦恼的怀疑,担心自己是否忘了锁门或车库门是否开着,而且往往是在不方便再次检查的时候。在一个随时随地都能即时获取无限信息的时代,这很难让人接受。我们许多人已准备好采用(并支付)能够消除这种烦恼的解决方案。

尽管市面上已有许多支持智能家居的产品,但这个领域仍处于起步阶段,不同供应商的产品和组件之间互操作性不足。英特尔已经认识到使用基于标准、开放平台构建解决方案的价值。这种方法将允许采用全屋方法,从而能够简单地实现智能设备,并通过云进行安全和监控。这些产品和服务的相应商业潜力巨大。

英特尔开展了一个开发项目,以调查与构建智能家居系统相关的这一和其他机会。该项目很大程度上从 Yoga Systems 智能家居平台的现有解决方案蓝图 中汲取灵感。本文回顾了该项目开发工作的过程。它首先抽象描述了按阶段划分的结构化项目方法,然后详细地分阶段回顾了项目开发过程。

有兴趣的各方可以使用此叙述来追溯英特尔项目团队在开发智能家居产品路径时所采取的步骤。然而,更重要的是,它可以概括为一套指导方针,以满足其他类型项目的需求。英特尔免费提供本文档,并鼓励使用此方法和过程来推动物联网的探索、发明和创新。

本文包含物联网产品路径:智能家居的概述。要查看项目教程,请参阅 物联网产品路径:如何构建智能家居原型

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

方法论

物联网(IoT)的本质是开放式创新,项目种类繁多,从简单到复杂,从平凡到奇特,都可为物体增添智能。同时,每个项目都建立在业界从以往物联网项目中获得的经验之上,最佳实践表明物联网项目普遍存在共同的结构元素。

为了利用这些共性并帮助提高开发成功率,英特尔开发了一种结构化的物联网项目开发方法。该方法包含一个六阶段模型,指导从最初的想法闪现到最终解决方案商业部署的整个产品路径。该六阶段模型旨在足够通用,可以适应任何物联网项目的需求。

启动阶段 (1-3)

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

通过使用Grove物联网商用开发套件(包含Intel® NUC系统、Intel®物联网网关软件套件和Grove Starter Kit Plus(由Seeed制造))可以促进快速原型设计。该项目还使用了Arduino* 101板。

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

第一阶段

定义项目将利用的机会。物联网项目的第一步是确定项目将解决的问题或机会。此阶段的文档应明确机会本身、解决方案的价值(对最终用户以及构建和实施它的组织)以及项目概念的局限性,包括设计挑战和限制。

第二阶段

设计一个概念验证以利用该机会。最初的解决方案设计提出了构建该解决方案的实用方法,包括硬件、软件和网络元素。该设计必须在构建原型之前尽可能地解决第一阶段中确定的设计挑战和限制,包括充分考虑成本和安全性等因素。

第三阶段

构建并完善概念验证。解决方案原型基于第二阶段建立的设计,并根据需要进行更改和记录。在测试过程中发现的缺陷和额外机会所导致的设计更改应作为此阶段的一部分进行记录。

完成阶段(4 – 6)

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

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

第四阶段

制作一个可靠的测试版。一旦项目被批准为可开发到生产的解决方案,下一步就是生产一个面向产品的版本,其明确目的是最终确定设计。此版本代表了资源的大量投入,包括商用级传感器和其他组件,以及商用物联网网关。

第五阶段

评估功能并添加新特性。解决方案的已完成测试版经过测试,以验证其是否按照设计参数正常运行。作为测试过程的一部分,项目团队还识别了额外的特性和功能,并将其集成到解决方案中,使其对最终用户来说更强大和更有价值。

第六阶段

最终确定设计并投入生产。一旦产品功能完善,团队将通过添加高级可管理性和安全功能来强化解决方案,并根据需要优化设计,以提高市场竞争力、制造效率等因素。解决方案的生产用户界面(UI)也已最终确定。此阶段还包括在全面投产前对解决方案的商品化和营销进行最终规划。

阶段1:定义机会

用于检测门锁或未锁状态、门铃响声以及车库门开或关状态的传感器提供了基本数据,但这些数据的意义可能非常深远。这种信息的简单性与其重要性之间的二元性是该解决方案潜在商业价值的基础。

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

完整项目团队的首要任务是量化与项目相关的潜在机会,作为初始原型设计的基础。此用例的核心机会被确定为集成与智能家居某些功能相关的可编程控制和通知,包括以下内容:

  • 前门:该项目将锁定和解锁门,并提供物理模型上门锁/未锁状态以及开/关状态的信息。
  • 门铃:当模型上的门铃按钮被按下时,管理应用程序和移动应用程序上会显示一个可视化表示。
  • 车库门:用户可以通过移动应用程序发送指令来升降车库门。移动应用程序还将显示车库门打开或关闭时的进度,并在车库门被阻挡而无法关闭时提供警报。

传感器将检测并将此信息发送到云端,以实现日志记录和分析,以及远程安全访问,以便用户可以查看事件通知和上述各种智能家居元素的状态。

团队还确定了进一步扩展解决方案的机会,并将其指定为超出本项目范围。这些包括为住宅和商业客户提供的托管服务,包括将其整合到现有解决方案中,以丰富家庭安全产品。

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

项目团队认为,为了使该项目对开发人员社区尽可能有用,它应基于现成的部件和技术。基于该决定,我们决定将物料清单限制在 Grove 物联网商用开发套件、Intel® 物联网开发套件和 Intel® 物联网网关软件套件(https://software.intel.com/en-us/node/633283),并使用业界广泛使用且成本低廉或免费的软件技术,在可行的情况下使用免费开源软件(FOSS)。

为了加速原型阶段并降低其复杂性,团队选择将原型的本地部分构建为台架模型,该模型将包含计算平台和传感器,而不包含智能家居的实际比例模型,尽管此类模型将在项目的未来阶段添加。

原型硬件选择

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

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

表1. 智能家居项目中使用的原型硬件

  Intel® NUC Kit 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个数字IO引脚
  • 6 个模拟 IO 引脚
尺寸 190 毫米 x 116 毫米 x 40 毫米 68.6 毫米 x 53.4 毫米
规格 完整规格 完整规格

图1. Intel® NUC套件DE3815TYKHE和Arduino* 101板

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

  • 前门的锁定/解锁状态
  • 前门的开/关状态
  • 车库门的开/关状态
  • 车库门被阻挡/未被阻挡的状态
  • 事件:门铃响,前门锁/解锁,前门开/关,车库门开/关,车库门被阻挡

原型软件规格

对于原型操作系统,团队考虑了Yocto Linux*以及Intel® IoT网关软件套件。Yocto Linux支持项目使用FOSS的理念,并提供高度灵活性、对源代码的强大控制以及创建定制的轻量级嵌入式操作系统以适应系统需求的能力。另一方面,Intel® IoT网关软件套件提供了开箱即用的实现,无需定制。它还提供Node-RED功能用于开发。团队将这种因素组合确定为原型开发的最佳实践,因此Intel® IoT网关软件套件被选为原型的操作系统。

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

  • 控制应用程序将运行在智能家居模型本身上,从传感器收集数据并处理解决方案的机电方面操作(例如,打开/关闭车库门),以及与人工用户(即,通过管理和移动应用程序)和云进行数据交换。
  • 管理应用程序将在PC或平板电脑上运行,并允许详细查看智能家居的运行情况,包括事件、状态和日志,以及访问云数据和分析。
  • 移动应用程序将在智能手机或其他移动设备上运行,使客户能够打开和关闭车库门,并监控门打开和关闭或被阻塞时的进度。

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

项目团队使用 Intel® NUC 套件 DE3815TYKHE、Arduino 101 板和 Grove Starter Kit Plus 物联网版,开发了如图 2 所示的概念验证原型。该原型被构建为台式概念验证,不连接到工作门等机械部件,项目团队确定这些部件在此阶段不需要。相反,例如,旋转角度传感器用于模拟前门的锁定和解锁,步进电机代表车库门,一个简单的按钮充当智能家居完整模型中的门铃按钮。

图2. 智能家居概念验证原型

原型物料清单总结在表 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-Touch-Sensor-p-747.html

光传感器模块

http://www.seeedstudio.com/depot/Grove-Light-Sensor-p-746.html

旋转传感器模块

http://www.seeedstudio.com/depot/Grove-Rotary-Angle-Sensor-p-770.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://www.seeedstudio.com/depot/Grove-Buzzer-p-768.html

项目团队还指出,智能家居原型应在云服务中断或互联网连接不良的情况下提供本地功能。

概念验证原型中使用的控制应用程序是用 JavaScript* 编写的。它访问 IBM Bluemix 以在移动和管理应用程序之间传输数据,以支持包括打开和关闭车库门、锁定和解锁前门以及门铃响铃等事件通知的功能。移动应用程序用 JavaScript 编写,用于 Web 浏览器,以避免将应用程序迁移到多个智能手机平台的必要性。

用于开发此解决方案软件的开发环境是 Intel® XDK IoT Edition,该套件包含在 Grove IoT 商用开发套件中,可免费下载。它使开发人员能够直接在基于 Intel® 架构的 IoT 平台上创建和运行 Node.js 应用程序,包括 Intel® NUC Kit DE3815TYKHE,并提供远程调试功能。Node-RED 也是一个开发选项。

为了访问 Intel NUC 上的 I/O,需要声明 MRAA,这是一个 C/C++ 库,带有 JavaScript 和 Python* 的绑定,用于与其他平台进行接口。它提供了一个结构合理且健全的 API,其中端口名称和编号与物理硬件匹配。欲了解更多信息,请访问 GitHub。此外,此解决方案的开发使用了 Firmata,它允许与 Arduino 开发环境进行程序化交互,利用 Arduino 的硬件抽象能力。通过使用 Libmraa 抽象 Firmata,可以更好地对 Intel NUC 上的 I/O 进行程序化控制,从而简化从传感器收集数据的过程。UPM 提供用于访问传感器的特定函数调用。

智能家居概念验证原型包括一个车库门激活按钮、一个门铃激活按钮和蜂鸣器、一个触摸传感器用于识别前门的开/关状态、一个旋转角度传感器用于模拟前门的锁定和解锁,以及一个背光 RGB LCD 显示屏,显示车库门和前门的开/关状态,并在门铃响时显示消息。原型还包括指示车库门开/关状态的指示灯。

用Node.js构建的智能家居软件应用程序,从传感器收集输入数据并在LCD显示屏上显示信息。如果LCD显示屏上显示“门开”信息,则绿灯亮起。如果LCD显示屏上显示“门关”信息,则红灯亮起。该应用程序还可以控制步进电机来打开和关闭实际的车库门,尽管为了简化起见,步进电机未在概念验证原型中实现。

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

智能家居概念验证完成后,项目团队认为其功能已足够成功,可以着手构建生产版本。此阶段将整个解决方案构想为包含以下部分:

  • 家庭的物理模型,按比例建造,并包含解决方案中突出显示的功能部件:门铃、前门、车库门和相关系统。
  • 网关,作为基于英特尔架构的商业产品购买,并使用定制开发软件实现。
  • 客户端应用程序,用 JavaScript 实现,用于控制整个解决方案并生成和访问基于云的分析。
  • 云分析,基于 IBM Bluemix,允许根据自动售货机随时间的使用数据,开发洞察以改进业务流程。

为项目的 Beta 版本选择组件

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

智能家居模型采购

虽然团队选择将概念验证原型创建为智能家居的板级模拟,但他们决定将生产版本基于真实房屋的比例模型。团队聘请了一位在构建复杂功能比例模型方面具有专业知识的外部制造商。智能家居模型的初步规格和成品模型的艺术渲染图如图3所示。

在此阶段要做的其他关键决定包括选择工业级传感器、基于英特尔架构的网关、用于数据存储和分析的云服务以及客户端应用程序的软件技术。

传感器及相关组件选择

用于替换概念验证原型中使用的 Grove Starter Kit 的工业级传感器和相关组件详见表 3。

定制模型房屋,以1/12比例用紧密层压板和金属加固建造,大致尺寸为每边三英尺,包含以下组件:

  • 手动开启的前门,配有英特尔提供的传感器以检测开/关状态以及可操作的门铃按钮。
  • 电动车库门,配有英特尔提供的步进电机和传感器,用于检测行程的下限和上限,以及一个小型尼龙剪切螺钉,以防止门被阻挡时损坏。

图3. 生产解决方案智能家居模型的工作草图

门和屋顶将采用模块化结构,可拆卸以便在测试和诊断期间完全访问。

表3. 生产智能家居组件

组件 (Component) 描述 详细说明
智能家居模型 比例模型 定制制造
物联网网关 Dell iSeries Wyse* 3290 物联网网关 更多信息
USB Type A 转 Micro-USB Type B 线缆 将I2C/GPIO控制器连接到网关
电源 12V 10A 更多信息
直流1转2分线器电缆 为网关和传感器提供相同PS电源 更多信息
逻辑电平转换器 - 双向适配器 在2个不同逻辑电平之间转换(例如,3.3V到12V) 更多信息
IIC GPIO扩展器 I2C转16xGPIO breakout板,使用PCA9555 更多信息
FT4222H USB评估2.0至四SPI扩展器 USB转SPI/I2C/4xGPIO扩展器 更多信息
Applied Motion NEMA23高扭矩步进电机 8线,0.71A,22AWG,扭矩:127至177盎司英寸 更多信息
Applied Motion STR2步进驱动器 12-48V输入 - 2.2A能力步进电机驱动器,带各种控制功能 更多信息
ST12C直角支架 用于DM系列红外反射器的安装支架 更多信息
RL204-1 反射垫 矩形红外反射垫 更多信息
DM系列光电红外反射器 光电TBLR 12mm 10-30vdc四线NPN极性反光金属辫子 更多信息
OMRON GSL-1开关 磁簧开关 更多信息
开关按下SPST-NO 0.15A 24V 用于门铃的简单按钮 更多信息
高压电 Z15G1704开关 滚轮限位开关(数量 = 3) 更多信息

网关选择

选择用于智能家居产品版本的网关时考虑的因素包括:

  • 强大的计算资源,确保在操作过程中性能流畅,避免因卡顿而出现错误。
  • 显然需要现成的商业可用性,以便项目按计划进行。该网关还必须有足够的数量,以满足智能家居概念的假设产品化需求。

最终,戴尔 iSeries Wyse 3290 物联网网关(其规格总结于表 4)被选定用于本项目的产品阶段。该网关提供了当前和可预见的功能所需的性能,以及用于智能家居产品假想商业分销的现成可用性(可能大量供应)。

团队一致认为,继续使用 Intel® IoT 网关软件套件(原型已基于此套件)是一个直接的决定,尤其因为该网关已针对该操作系统进行了预验证。此外,Intel® NUC 和网关都可以运行 Intel® IoT 网关软件套件,从而简化了将软件元素从原型移植到智能家居模型产品版本的过程。同样,其他核心软件组件(如 Intel® XDK 和原型中使用的库)也保持不变,以简化向产品阶段的过渡。

智能家居产品阶段的传感器状态汇总于表5。对于每个传感器,“开”和“关”值给出返回的逻辑电平,“边缘动作”表示要监控的转换。

表4. 智能家居产品阶段的网关规格

Dell iSeries Wyse* 3290 物联网网关
处理器 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

表5. 智能家居产品阶段的传感器状态

Sensor 打开 Closed 边缘动作 描述
红外线 1 0 两者 停止或恢复车库门操作
门铃 1 0 下降 触发门铃按压事件
1 0 两者 触发门开/关事件
门锁 0 1 两者 触发门锁/解锁事件
车库关闭 1 0 下降 停止车库门,触发车库完全关闭事件
车库打开 1 0 下降 停止车库门,触发车库完全打开事件

系统架构

解决方案拓扑结构如图4所示。

图4. 智能家居解决方案拓扑结构

阶段5:评估功能和添加特性

在评估智能家居解决方案之前,团队将硬件和软件组件安装到模型中,如图5所示。

管理和移动应用程序的差异化

图5. 模型中安装的智能家居解决方案

项目团队确定,为解决方案配备两个独立的应用程序来控制和监控智能家居解决方案将非常有价值:

  • 客户端应用程序,供系统管理员使用,支持测试/调试功能并提供对云分析数据的访问。
  • 移动应用程序,供最终用户使用,允许控制门铃和车库门开启器,并显示两扇门的开/关状态。团队还决定增加对前门锁的状态监控。

实现浏览器的管理和移动应用程序

团队决定使用 Intel XDK IoT Edition 在 HTML5 和 JavaScript 中实现管理和移动应用程序,而不是为不同平台提供多个版本的富客户端应用程序(或承担跨平台富客户端开发的额外复杂性)。这种方法允许管理员和最终用户使用的多个硬件平台使用每个应用程序的单一版本。团队确定的主要平台包括:

  • iOS* 设备,包括 iPad* 和 iPhone*
  • Android* 设备,包括智能手机和平板电脑
  • 运行 Windows* 或 Linux 的笔记本电脑和台式电脑

门锁功能

团队认为,除了前门和车库门的开/关状态之外,增加显示前门锁定/解锁状态的功能将很有价值。因此,在提供给制造商的模型规格中添加了门锁。

云警报

增加了以下基于云的功能:

  • 当车库门打开时,车库内灯会亮起。车库门关闭后,灯会在指定时间后熄灭。
  • 如果车库门在指定时间段内保持打开,则会向用户生成警报。
  • 如果前门在一定时间内保持打开或未上锁,则会向用户生成警报。

额外的进入授权方法

人们可以通过无限多种方式向智能家居系统表明身份,以进入前门或车库门。这些方式可能包括智能手机上的近场通信 (NFC) 功能,到指纹识别等生物识别技术。虽然尚未实现此功能扩展,但智能家居设计的模块化特性和额外传感器容量的可用性使其作为未来工作是可行的。

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

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

图6. 智能家居管理应用程序UI

在这些讨论中,用户界面得到了完善,以整合额外的功能和特性。例如,团队为车库门和前门添加了更强大的状态指示,以指示门是打开、关闭、锁定还是被阻挡。移动应用程序的视觉外观也进行了更改,以更接近传统车库门开启器的外观。

管理应用程序用户界面

管理应用程序用户界面(如图 6 所示)旨在在平板电脑上运行,并根据云数据为智能家居提供管理功能。

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

  • 菜单系统包含一个用于返回主屏幕(如图所示)的“主页”按钮、一个包含软件信息的“关于”屏幕、一个提供硬件设置详细信息(包括传感器的位置和连接)的“设置”按钮,以及一个用于访问事件日志的“日志”按钮,该日志跟踪每种类型事件的最新实例,包括门铃响铃、前门上锁、解锁、打开或关闭,以及车库门打开、关闭或被阻挡。
  • 通知面板显示门铃响铃以及前门(开、关、锁、解锁)和车库门(开、关或被堵塞)状态变化的事件通知。此显示基于与云端交换并保存在云端的数据,而非本地生成的数据。它显示事件本身以及检测到事件的传感器。
  • 状态面板显示系统跟踪的每种事件的最新实例,包括车库门打开、关闭或被阻挡,前门打开、关闭、锁定或解锁,以及门铃响铃。它包含每个事件的时间戳。
  • 前门视图显示门的开/关状态,以及一个动画图标,指示门是锁定还是解锁。当门铃响时,还会提供视觉通知。
  • 车库门视图提供车库门打开、关闭或被物体阻挡时这些动作的动画显示。如果门被阻挡,应用程序会在动画中以视觉方式显示阻挡,并阻止门关闭。

管理应用程序还会弹出关于无法满足的请求操作的通知,例如“前门已上锁。请先解锁。”如果用户尝试在门打开时锁定门,也会发生类似的通知。

移动应用程序用户界面

图7. 智能家居移动应用程序UI

移动应用程序用户界面(如图 7 所示)旨在在智能手机上运行,允许客户打开和关闭智能家居的车库门。它还根据每秒一次的云数据轮询,报告车库门的状态。

移动应用程序用户界面包含以下主要元素:

  • 通知面板显示车库门的开合状态,并使用动画显示车库门开合的动作。它还通过在动画中显示障碍物并向用户显示“移除障碍物以继续”对话框来指示车库门是否被障碍物阻挡。
  • 打开和关闭按钮允许用户远程打开和关闭车库门。当按钮被按下时,应用程序将数据发送到云端,从云端接收响应,并根据响应显示门的状态。管理应用程序也会立即响应移动应用程序所采取的操作。

结论

一个结构化的过程对于将诸如本文所述的智能家居项目从构思的早期阶段推向原型设计并最终实现商业解决方案的生产至关重要。本文所述的六阶段方法旨在提供一个模型,组织可以根据自身项目的需求进行调整。通过使用类似于创客社区使用的低成本组件进行原型设计,可以在项目早期识别项目的可行性,同时时间和金钱的投入有限。对于那些有前景的项目,可以进行功能完善,并将解决方案转移到基于商用网关和工业级传感器及其他组件的生产就绪平台。

这种循序渐进的项目开发方法为实现具有商业价值的产品提供了一条途径,有助于限制风险,同时使项目团队能够自由创新。本文概述了物联网产品路径:智能家居。有关项目教程,请参阅物联网产品路径:如何构建智能家居原型

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

附加信息

物联网产品路径:智能家居 - CodeProject - 代码之家
© . All rights reserved.