物联网设备接入产品该怎么设计?
在某些B端产品中,会通过安装物联网设备来提高工作效率,比如能耗监测、智能抄表、远程监控等。而如果接入的物联网设备品牌多又不一样的话,就需要产品层面设计一个物联网接入模块了。本文作者对物联网设备接入产品的设计进行了分析,一起来看一下吧。
在某些B 端产品中,会通过安装物联网设备来提高工作效率,比如能耗监测、智能抄表、远程监测等等。如果接入的物联网设备品牌多、各家协议、数据格式不一致的话,那么就需要产品层面设计一个物联网接入模块,这个模块充当业务层和设备层的桥梁,使得业务层无需关心具体接入设备的品牌、协议和数据格式。
有了物联网接入模块后,接入新的设备时就不需要更改业务层的设计了,也就能够减少业务层的开发工作量,提高整个团队的产出效率。
01 一个反面案例
先给大家看一个没有物联网设备接入模块的反面案例,这样会更好理解为什么需要物联网接入模块。本人曾经接触过一个物联网监测项目,他们的产品选用的物联网设备只有一个厂家,因此产品设计没有多考虑,开发这边也是为了尽快上线,于是设计了下面这样的产品架构。
结构很简单,实现起来确实也很快,产品顺利上线了。随着业务的发展,从成本和厂家设备的质量综合考虑,公司又选了另外一个厂家的同类设备,但问题来了,新厂家的数据格式和之前的厂家的完全不同,为了接入新设备,他们的产品架构变成了下面的样子。
业务模块变"胖"了,需要新的业务逻辑来对接新厂家的数据 API 接口。更为失误的是,他们的前端页面的字段名称是按照之前的设备写死的,这就意味着前端应用也需要按不同的厂家类型做适配,如果是厂家1就按厂家1的数据格式展示,如果是厂家2就按厂家2的数据格式展示。
之后,公司又引入了新的厂家,然后开发同学就"炸锅"了 —— 简直就是在人工制造"代码屎山"啊!引入一个新的厂家,一是整个开发链条从设备数据 API对接,到业务逻辑处理再到前端页面展示全部都需要跟着改动;二是整个业务的代码里面堆积了一堆按不同厂家做的条件判断,越来越臃肿,难以维护。开发同学怨声载道,对产品经理的配合度自然会下降很多。
02 问题在哪?
出了问题,自然要看看怎么"甩锅"。那么这里到底是产品同学的问题还是开发同学的问题呢?个人觉得都有问题,但是产品是源头,责任更大一些。作为产品经理,应该要具备业务前瞻性。以这个案例来说,物联网设备属于硬件设备,作为公司运营肯定会考虑硬件采购的成本,产品的质量、稳定性。因此,很大可能会使用其他厂家的设备替换。
而且,物联网设备有一个很大的特点就是,设备已经部署后,可能分布在全国各个地方,根本不太可能用一个新厂家的设备完全替换已有的设备。这就意味着,产品设计上需要考虑不同厂家设备的共存情况 —— 也就是要能够支持多个厂家的物联网设备接入。
物联网设备接入需要考虑不同厂家的兼容性,需要能够同时接入不同厂家的同类功能设备。
03 如何解决问题?
先讲我们生活中的一个例子。我们知道不同国家的交流电的电压是不同的,有220伏 ,也有110V的。如果直接接入电器设备,电器设备会因为工作电压超出范围而导致烧毁。
这个问题是怎么解决呢?通过电源适配器来解决,比如下图是一个笔记本的电源适配器,标明了工作输入电压范围是100-240伏,虽然输入电压波动范围很大,但是输出一直稳定在笔记本需要的电压范围内(下图是19.5伏)。
适配器就是解决不同的输入源不影响输出的一个中间设备。受到适配器的启发,软件设计领域就产生了一个"适配器"模式。适配器模式就是将不同的输入转换为相同的输出,从而避免业务层和输入直接产生关系。这样,输入源的改变处理全部由适配器来完成,业务层则无需关心输入源的变动。
对于物联网设备接入,我们会发现和适配器要解决的问题是一样的。因此,对于物联网设备接入,我们应该设计一个适配层,作为厂家数据 API 和业务层的桥梁。这个适配层的职责就是接入不同厂家的物联网设备数据 API,然后转换为业务层需要的标准格式数据。
这样,即便是换厂家、换设备,都只需要更改适配层,业务层和前端都不需要做任何改动。有了适配层之后,我们的产品架构就演变成下面的样子。这种架构下,不管接入多少个厂家、多少种设备,都只需要在适配层进行调整,业务模块和前端无需做任何修改。
图中绘制的箭头是单向的,实际上换成双向箭头也是没问题的。如果业务模块需要下发指令到物联网设备,同样也可以通过适配层将标准指令转换为不同厂家设备能够接收的相应指令,接入新厂家设备同样也不需要更改业务模块。
04 经验分享
其实上面说的反面案例类似的情况十分常见,出现这样的问题很大程度上是没有类似的产品设计经验。本人曾经负责过一个智能电表抄表模块的产品设计,这里面就涉及到抄表、计费、欠费拉闸断电、充值恢复通电、手动通断电等等业务。
在产品设计时,由于有适配器这样的概念(实际经验来自做软件开发时的设计模式),所以提前考虑了做适配层。并且,明确和开发同学交待要考虑未来新的厂商设备接入。到后面,确实也因为采购成本原因,采购了另一个厂家的设备。由于有适配层的存在,新厂家的智能电表非常快就接入到产品中,而业务层并没有做任何改动。要知道,如果要更改业务层的抄表、计费、通断电指令那开发的工作量就非常多,而且还容易出现纰漏导致 bug。
对于物联网设备适配层,通常来说需要下面几个模块:
1)设备档案
设备档案主要维护设备的基础信息,其中关键的一个信息就是与厂家平台对接的唯一标识,通常会是设备编号或 IMEI。在产品设计的时候,需要考虑支持移动端登记设备档案以及批量导入。移动端登记是方便设备安装的时候边安装边登记;批量导入是应对大量设备的批量录入,提高效率。
2)接口管理
与不同厂家的对接接口管理,这里有两种处理方式,一是开发直接在代码层面完成,二是通过页面配置完成。第二种会更复杂一些,但是通用性更强。
3)数据格式配置
将厂家的设备数据转换为业务模块的标准格式数据,和接口管理一样,一种方式是开发在代码里完成,另一种方式是通过配置完成。通常,如果是配置会和接口配置一起完成,将厂家的设备数据字段映射到业务模块相应的字段。
异常监控:异常监控包括两种类型,一个是厂家的服务可用性监控,另一个是业务数据层的监控。可用性是防止厂家的服务不可用导致自有业务的不可用;业务数据层的监控是监测异常数据,方便及时发现业务层面的问题。比如我们的智能电表就遇到过一个极端的案例,由于线路故障导致抄表数据异常。
另外,如果你的产品是 SaaS 平台,那么建议是按照"开箱即用"的理念来设计物联网设备接入模块。什么是"开箱即用"?那就是脏活累活由平台运营来做,客户在业务系统中只需要关注业务模块即可。
以我们的抄表为例,我们把设备档案这个最繁杂的工作留给了平台运营层面完成。我们会在平台层面完成设备档案的录入,然后将设备分配给客户的对应的业务单元。到了客户这边,只需要完成业务层面的计费、通断电规则就可以像使用非智能表一样使用我们的智能抄表功能。
05 总结
本篇以实例的方式介绍了物联网设备接入的产品设计。可以看到,通过引入适配层可以有效实现多厂家设备快捷接入而不影响业务层。
对于产品经理而言,在做物联网设备接入或者类似的功能模块时,应当具备业务前瞻视野,提前预判可能的变化,在产品设计上引入应对变化的适配层,从而提高产品迭代的速度、减少开发工作量的同时提高产品的稳定性。
作者:产品海豚湾;公众号:产品海豚湾(ID:pm-dophin-bay)
本文由@产品海豚湾 原创发布于人人都是产品经理,未经许可,禁止转载。
题图来自Unsplash,基于CC0协议。
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。
网红王胖这样亲爱女要不得我无意中看到王胖老婆阿华发的视频,王胖刚从四川返回家就抱着3个多月爱女宝贝猛亲,想念疼爱宝贝没错,但是这样非常容易把细菌传染给毫无抵抗力的婴幼儿。婴幼儿尚小对于自然中容易造成密切接
热血江湖5大职业介绍!优秀的游戏质量加上主动型免费的模式加持,使得热血江湖在2005年3月内测之初,便展现出自己强大的吸粉能力。感兴趣的朋友评论区预约!游戏以清新明亮的3D建模,非常讨喜的Q版人物造型,
骁龙EliteGaming火力全开,打造玩家心目中的手游神器KPL比赛往往让众多游戏玩家们在观看刺激比赛的同时又不自禁的燃烧起了自身的小宇宙,热血沸腾。职业电竞选手在直播游戏时的超燃的状态,更是令人印象深刻,觉得简直就是无敌的存在。诚然专业
狂飙看懂高启强的求助,才知白嫖他八年的黄老,是狠角色你看过狂飙吗?在接受采访的时候,导演说结局是惨胜,但很多观众看到结局后都觉得,最后黑恶势力不是被一网打尽了吗?安欣他们不是胜利了吗?哪里惨了?一开始,我也是百思不得其解。这段时间我
自杀小队击败正义联盟后续将免费推出新可玩角色在最新发布的自杀小队击败正义联盟开发幕后视频中,蝙蝠侠阿卡姆开发商Rocksteady深入讨论了期待已久的新作,包括了游戏发布后内容计划和在线联机的更多详细细节。游戏开发幕后优酷视
当年联合欺负中国,那8个国家现状如何有2个国家已经永远消失大多数国人对于中国的近代史可谓是讳莫如深,原因无他,只因中国的近代史实在是过于屈辱,不是被这个国家侵略,就是被哪个国家掠夺,导致中国的国际地位屡屡下降。除了抗日战争以外,对中国影响
3。5版本玩家抽卡倾向统计谁夺走了玩家们的心?本次3。5版本的卡池安排可以说是让大家吃惊不已,其复杂情况几乎让所有的玩家都不得不慎重考虑。一方面是须弥时期的角色和即将进入常驻池的角色,另一方面是许久未复刻的老牌角色,同时还要考
皮肤干燥瘙痒,肌渴难耐?这些护肤小知识你必须知道!你有没有过这样的经历轻轻挠一挠皮肤就起白花花的皮屑特别是腿部皮肤常会干燥瘙痒看起来就像是蛇皮一样脱下秋衣秋裤后轻轻一抖就是雪花飘飘皮肤为什么会干燥温州市中西医结合医院皮肤诊疗中心专
二月未结束,已上十八款皮肤,传说以上十一款,直售史诗仅两款二月份还没有过完,但是今年已经上线了十八款皮肤,其中大部分都是传说及以上的品质,并且绝大部分都是限定。这些皮肤的价值加起来,还是一笔不小的数额,你们都入手了哪几款?荣耀典藏之前官方
乡土散文野菜趣事头条创作挑战赛春节回家,说到城里青菜贵,父母就让我们带些青菜回去。和老婆去挖菜,发现大蒜和菠菜地里有好多荠菜。老婆一时来了兴趣,不挖白菜菠菜,挖起了荠菜。她一边挖,一边惊喜地叫我去
悟空上映,票房139元,王宁主演,西游记多位演员出演2月24日,院线电影方面,发生了一件较为奇怪的事情,电影悟空上映,猫眼专业版方面的数据显示,该片实现的累计票房,只有139元,可谓是2023年开年以来的票房新低。一部院线电影,票房
人生四乐在生活中最让人舒服放松的状态莫过于四个阶段独特的气质了,一是儿童的童真无邪,让我开怀逗趣,二是少年的无所畏惧,敢于探索的精神,让人看到不屈的动力,三是青年不妥协不低头不抛弃不放弃的
董卓是底层草根,是如何逆袭到人生巅峰,却骤然失败身首异处?董卓在三国历史上不是一个有争议的人物。对于董卓的评价都是一边倒,贴在他身上的标签有权臣残暴乱臣贼子骄奢淫逸等等,都是一些贬义的词语。看到这些标签,我们不禁要问,既然董卓这么坏,也不
人生美好因失去这些而遗憾当我们呱呱坠地的那一刻起,父母便开始憧憬着我们美好的未来,希望我们能够一生一世,一帆风顺。可是,谁的一生能够这样,多多少少都会经历挫折和磨难。大到一个国家领土的沦陷,小到自己的人生
人生就是一个成长过程,习惯决定命运1早睡早起,宁吃早餐,不吃夜宵。2定期运动,人生最后拼的是健康。3不停地学习,建立起自己的读书计划,脑袋里有知识才能让你更清醒。4每天冥想一会儿,让自己脑袋放空,可以提高注意力。5
外交部维护好中英关系符合两国人民的共同利益中国青年报客户端北京10月25日电(中青报中青网见习记者袁洁)当地时间10月24日,英国前财政大臣里希苏纳克成为执政党保守党新党首。在今天下午举行的中国外交部例行记者会上,外交部发
吃苦,是优质人生的基础只有对饥肠辘辘深有体会的人,才能明白粒粒皆辛苦的含义只有面对过冷酷无情的现实,才会懂得人间冷暖只有让自己置之死地,才能体会生命的不易只有拼搏奋斗,才能改变自己的命运。俗话说吃得苦中
为何在宇宙残影空间中生存的冥王星被踢出九大行星?为何冥王星一度被称为病毒的天堂?它又是如何被天文学家们踢出九大行星的呢?自从1930年克莱德汤博发现冥王星后,它就被视为第九大行星,当时天文学家们认为它比地球还要大许多。然而仅仅过
Redis常见延迟问题排查手册!附优化建议Redis作为内存数据库,拥有非常高的性能,单个实例的QPS能够达到10W左右。但我们在使用Redis时,经常时不时会出现访问延迟很大的情况,如果你不知道Redis的内部实现原理,
AI时代什么教育模式合适家长选择?关于AI时代的教育焦虑背景,已经写了两篇文章来说明,那么家长们焦虑的根源有哪些呢?家庭教育面对的不确定性整个社会的导向问题教育焦虑是社会焦虑在家长孩子身上折射的结果那么当今社会下,
MyBatisSpringMyBatis与Spring整合前言mybatisspring的官网地址httpsgithub。commybatisspringdemo项目地址httpsgitee。comshuashuaworldshuashu
对了一眼配置,Redmi真的很强,同期最出色配置对比,是用户最关心的话题,为了选出更高的配置拍照更好的手机,用户总是在比对。RedmiNote12就是这样的存在,这机子的性能肯定不弱的,Note系列一直都是小金刚,而这次比较