IoT产品的10个最佳实践

Wesley13
• 阅读 519

作者:曹洪伟

如果经历过,有时候就会被人回忆起来。上周末,经过和友人的友人深入地讨论,自己梳理了实现IoT产品的10条经验,并自以为是地称之为“最佳实践”。

制造业花了数年甚至数十年时间来磨练他们的产品,但是,在思考为产品构建物联网(IoT)可能带来的好处时,需要问自己的一个重要问题是:是否具备了云连接和成功扩展物联网系统所需的所有专业技术呢?

IoT产品的10个最佳实践

物联网很复杂,并不像只嵌入无线芯片或添加传感器那么简单。从网络安全到应用软件设计,制造厂商还需要规划预算、可伸缩性、发布以及如何经得起未来的考验。还需要确保的是,当迁移到物联网时仍然能够投入全部的时间、注意力和资源,继续做自己最擅长的事情:制造和销售出色的产品。如果做得不好的话,物联网反而会成为企业的负担,做得好的话,当然可以提升企业的竞争力和品牌。

这里的10条最佳实践指南涵盖了设计、构建以及最终销售物联网产品。

IoT产品的10个最佳实践

1. 清晰地定义用例

可以肯定的是,物联网为制造厂商提供了前所未有的产品能力。但是,在做任何事之前,都需要为每个物联网产品确定清晰且引人注目的用例。顾客不会因为物联网而购买产品,而是因为产品带给他们的好处。物联网支持传统的、孤立的产品所不具备的功能,因此网络连接的用例可能与以往非常不一样。

物联网改变游戏规则的因素在于互联产品产生的数据。在确定产品用例时,要考虑如何释放物联网数据的价值,以使产品与众不同,随着时间的推移不断改进和增强产品,改善购买和用户使用的体验,并产生新的收入流。

IoT产品的10个最佳实践

2. 在安全性上不要吝啬

从一开始就要设计好端到端的安全性。物联网安全必须是防弹的,无论数据在何处流动,包括联网产品的本身、云、用于控制产品的移动app或web应用程序以及可能访问数据的每个人。

但由于安全性是无形的,而且人们总是在寻找削减开发预算的方法,所以很容易将安全性视为削减成本的目标,或者当看到预算状况时,将安全性相关的工作视为“以后再说”的内容。这种态度对物联网来说可能是一场灾难,因为它意味着可能要从头开始,由于有些非安全链接的存在,可能导致整个产品线都需要重新创建。

假设厂商花费100万建造了V1.0版本的物联网产品,但是没有实现端到端的安全性。那可能会花费厂商另外的100万元,以建立同一版本安全的物联网产品,从头开始再来一遍,包括物联网产品的每一个环节。事实上,这样的成本会更高,因为原本不安全的区域可能已经无法加固。此外,重新开始会明显地增加产品规模扩张的时间。

如果不想成为新闻头条中的“那个公司”,就要对物联网产品或其生成的数据进行安全管控,抵制吝啬在安全上投入的诱惑。

IoT产品的10个最佳实践

3. 设计端到端的可配置性

与安全性一样,可配置性也需要从一开始就融入到物联网产品的各个方面。可配置性很复杂,但它是物联网的一个重要方面。

物联网的最大价值是提取联网产品产生的数据,进而了解真实世界的表现以及实际客户如何使用这些产品。物联网数据代表了一种前所未有的强大方式来获取知识和洞察力。利用这一洞察力,从用户已经做过的事情中学习,建立更好的产品,增加新的增值服务,并与客户建立新的、更牢固的关系。

利用物联网数据来改进该产品,就需要了解如何解决可配置性和产品的更新问题,并拥有实现此目的的工具。通过OTA升级,既可以更新物联网产品上的固件,又可以根据实际客户的使用情况,为物联网产品添加功能。当然,需要确保OTA系统的安全性,并且安全性本身可以同样通过OTA进行更新。

IoT产品的10个最佳实践

4. 使用基于开放标准的物联网解决方案

除了产品到云的连接性,物联网产品或产品线还可能接触到全球的客户,并支持各种物联网平台、制造商和零售商的云到云连接,还需要与其他提供商的相关产品和服务集成。最好的方法是使用开放的原生库和其他基于标准的解决方案。

例如,如果制作了一个联网的电暖器,不仅可以与其他空调产品结合使用,还能够与照明系统、智能门锁以及其他楼宇自动化或智能家居产品相结合。厂商可能还希望与电能管理、天气或其他环境监测等服务集成。

选择一个非模式化的云架构,它对任何特定的数据类型都是可适应的。通过这种方式,智能家庭暖通空调产品不仅可以与现有的云和连接方式(如DuerOS Bot Platform等)进行互操作,而且还可以与将来出现的任何新云和连接方法进行互操作。

IoT产品的10个最佳实践

5. 坚持使用经过验证的硬件方案

不推荐硬件的选择太有创意。电气连接或网络协议不是表现公司个性的地方,我们没有必要承担不必要的风险。

例如,如果决定在物联网产品中使用哪种Wi-Fi芯片,那就去选择一个已知的、经过验证的芯片或者芯片组,而不是去买一个价格低廉的替代品。选择智能手机使用的同类型Wi-Fi芯片将确保无线连接具有完整的网络协议栈,并能够提供所需的性能和安全性。如果试图使用缺乏足够无线覆盖范围、性能、兼容性或安全性的产品,那么在生产物联网产品时使用这样的硬件可能会削弱我们已经付出的努力。

经过验证的硬件方案还意味着最终客户不必处理配置或处理连接性、网络协议或安全性的问题。

IoT产品的10个最佳实践

6. 从一开始就考虑远程控制

在开始第一个物联网产品的开发过程中,制造商经常犯的错误是,认为移动或远程控制只是一个附加功能。但是,在物联网中,远程控制需要从一开始就要融入到产品的架构中。

如果正在制造一个能够联网的空调,它可以用智能手机控制,那移动App是否同时支持iOS和Android?无论将移动App还是Web应用于远程控制,它能否一次控制或操作多个独立的空调系统?为空调设计的移动App是否也可以控制其他的物联网产品,比如灯或热水器?本地操作和远程操作需要特别注意的安全措施是什么?最后一项也是安全性的关键,那就是物联网产品的App也是安全实现的一部分,即远程控制允许的最大权限是什么?

远程控制的另一个方面是,如果互联网中断或产品电池耗尽,则需要本地控制。需要设计一种方法来存储本地行为,并在没有电源或互联网连接的情况下可以更新它。

IoT产品的10个最佳实践

7. 物联网产品要易于安装和使用

物联网产品的复杂性和用户的期望值越来越高。

例如,谁负责安装和配置物联网产品,以及什么他们需要知道什么信息?如何提供安装的信息?安装说明是否物联网产品上的显示、是否使用移动App/web应用/其他方式来完成?安装时需要什么样的PIN/密码/其他标识?网络安装是与产品安装同时进行还是作为一个单独的过程存在?最终用户如何注册他们购买并使用的产品?

在这里,测试是至关重要的,需要支持不同的组合测试。例如,iOS设备可以自动将网络更改为最强大的可用网络,并影响连接的进程。例如,空调的安装位置一般与暖气相对,那么暖气中的金属和管道是否可能会干扰无线连接?正确的测试能够为最终用户提供足够的指令,以处理不同的连接行为。

IoT产品的10个最佳实践

8. 实现物联网产品的可伸缩性

什么是可伸缩性?这可能意味着每月生产2000台,10万台的物联网设备,或者能够在短时间内开启数百万台产品。与安全性一样,可伸缩性也必须从产品设计的开始就进行规划。

虽然许多IaaS产品支持大规模扩展,但是需要管理扩展的过程,或者冒着支付高定价模型的风险。此外,某些数据库类型对于最初的产品发布非常好,但是随着规模性的增长,可能会导致中途的数据迁移。

与领先的物联网平台合作,或者基于云技术的构建,是一种明智的选择。

IoT产品的10个最佳实践

9. 包括基于角色的访问控制(RBAC)和其他高级控制

基于角色的访问控制(RBAC)是一种根据个人的“角色”或与关系授权的临时或永久权限的访问控制方法。例如,服务技术人员可以在预定的维护时间内访问物联网系统。一个家庭中的成人、儿童和客人都可以被赋予不同程度的控制智能家居系统的能力。

公寓楼、办公楼或酒店的业主可根据个人是经理、员工、建筑承包商、租户或客人来提供不同级别的智能家居系统访问。同样,度假物业的业主也可以为度假者提供一个房屋的暖气和空调控制装置,以及智能门锁、照明和其他相关设施的临时访问权限。

除了RBAC外,还需设计其他的高级控制方式,例如自定义调度、触发器和报警,以及向最终用户、经销商或其他服务人员发送通知。

IoT产品的10个最佳实践

10. 考虑“服务”而不是“产品”

当人们说物联网改变了一切,这确实是重要而真实的。为了在物联网的世界中取得成功,制造厂商需要转变思维方式,充分利用物联网可能带来的所有新机遇。

以下是物联网产品可以完成或提供的一些传统产品无法实现的功能:

  • 规则引擎允许物联网产品通过评估各种规则而不是遵循既定的过程来编程操作,这使得它们更能响应用户的需求。

  • 可以为真实世界的地理区域建立地理围栏,即虚拟屏障或边界,使用全球定位系统(GPS)、射频识别(RFID)或移动信标数据来预定义地理围栏,也可以动态生成,在该区域中,智能手机可以控制特定的物联网产品。

  • Web或移动App上的数字仪表盘能够可视化诊断、预测分析物联网产品的使用等数据。使用这些数据仪表盘,可以提供快速或预防性的维护措施,排除故障并解决问题,而无需派遣维修人员,并且可以方便地允许最终用户监控他们使用物联网产品的状态。

  • 通过与第三方服务(天气预报或空气质量报告等)的集成,将物联网产品的功能扩展到传统产品所能实现的范围之外。使用这些第三方服务的数据,可以使物联网产品自动调整其操作,以优化性能、节约能源的使用或优化其他参数。

一句话结语

我们并不想掌握物联网所要求的所有技能、技术专长和细微差别,而是希望集中精力利用物联网的价值,扩大我们的产品规模,为客户提供更好的用户体验。

IoT产品的10个最佳实践

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Easter79 Easter79
2年前
swap空间的增减方法
(1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这