特殊时期,社区等单位的管理提出了“零接触”新需求。如何基于物联网开发平台和腾讯连连小程序快速上线面向家庭/社区单位的产品服务,实现疫情管控“零接触”数字化管理?本文是周佳鑫老师在「腾讯云开发者社区沙龙online」的分享整理,详细带大家了解物联网项目开发流程、腾讯云物联网开发平台技术优势,以及如何借助loT Explorer和腾讯连连小程序快速开发上线新型体温检测产品。
一、物联网发展趋势和现状
整个物联网的发展是非常缓慢的,上个世纪九十年代才开始出现各种联网设备,我记得当时曾听到过这样的新闻:比尔盖茨建立了一座小岛,岛上所有设备都实现了智能化和物联网化,最终提供了非常舒适的生活环境。但直到2008~2009年,国内一些厂商才开始投入去做一些联网化的设备。
真正这股物联网的风吹起来的时间是在2011年~2012年的时候,苹果公司的iPhone 3开始引入很多实现设备远程控制的APP,市场上也渐渐浮现出来一些能够实现远程控制能力的设备。到2014~2015年,已经可以看到很多厂商投入在做物联网了。所以就我个人而言,我认为物联网发展过程并不是一蹴而就的,而是一种相对比较缓慢的过程,但是它已然成为了一种趋势。
上图展示的是从2016年到2020年的市场规模预测图,可以看出,物联网设备的市场规模增速是相当快的。那为什么我说物联网整体发展非常缓慢呢?因为它并不类似之前风靡一时的共享类设备,如共享单车、共享充电宝等,只要有投资进来就可以大规模快速发展。
物联网也不是应用类型的产品,而是一种系统工程,这种系统工程涉及到的物联网产业链非常之长,从最上游的芯片、模组到PCB板卡,从方案商,集成商、终端厂商再到应用厂商,最后做一些应用的交付落地,整个链条涉及到七八个角色,每个角色都在行业内占据重要地位,所以这也注定了物联网开发会是一个比较漫长、比较系统化的工程。
1. 物联网项目开发痛点
正因为它的产业链多且复杂,所以物联网项目开发不可避免会存在一些痛点。
(1)成本问题
首先是成本问题,物联网项目涉及到的系统非常多,涉及到的产业链角色也很多,人员参与度很高,实时周期也会特别长。
(2)稳定性要求
对于物联网平台,在2010年之前大家脑海中可能都不会有“云平台”这样的概念,因为那个时候更多是做本地化的部署。本地化部署需要承载的量比较小,可能一栋楼里面加起来不会超过一千台设备,所以稳定性是可靠的。
但是,这种稳定性背后意味着什么呢?那就是特别大的成本投入!我们需要在优化成本的同时,保证系统的稳定性,所以云服务的概念因运而生。能不能把物联网平台性的工作放到云上做,把资源均摊下来,让平台承担整个设备传输过程中的整体稳定性跟可靠性呢?
这其中主要考验的是云平台厂商自身的能力,所以我们评估一个物联网平台是否成熟,一般可以通过以下几个指标:
第一:平台本身的可靠性。
第二:整个通讯网络的稳定性。
第三:这个设备本身通讯的可靠性。
从平台侧、网络侧、设备侧这三个方面判断物联网平台是否成熟。目前腾讯云也在做物联网云开发平台方面的工作,而且腾讯云本身是具有很大优势的,因为腾讯云自己就是一个优质云服务商,腾讯云在云服务商方面积累的经验足够从技术上保证整个平台的稳定性。
在通讯侧我们更多考虑的是具体的实施项目,或者使用的设备走什么样的通讯模式。比如像一些WiFi类的设备,如智能音箱等,通过接入家庭WiFi,经语音设备完成网络传输,设备本身的稳定性往往不足,这跟网络传输有很大的关联,所以网络侧也是很重要的一条。
还有设备本身的可靠性。物联网设备有一个很重要的特点,就是远程OTA的能力。产品本身不会像其他设备那样可能:出厂交付就完成了整个研发生命周期,剩下就是使用生命周期。物联网设备往往是在不断更新,在不断的交付使用中循环更新。这也是它本身的一个优势,所以能不能确保可靠性也是我们需要考察的重点。
(3)交付问题
物联网项目的交付链条会很长。举一个例子,我们之前做智慧园区、智慧医疗项目的时候,发现整个链条涉及到的角色特别多。角色一多就会导致整个周期变长,周期变长就会变得难以管控。
所以对于物联网项目,大家除了关注项目的实施周期之外,还要注意项目交付的时间控制。另外也需要考虑到设备资产的管控,设备资产也是物联网项目非常关注的一块。
(4)安全问题
有很多新闻都有提到过这样一种情况:家里安装了摄像头,导致隐私信息泄露出去,在社会上引起很大热议,可见安全问题是大家非常关注的问题。
那么物联网平台该怎样确保云端和设备端的安全呢?以及如何确保我们在应用端的安全?在展开讲解之前,不妨先来看看腾讯云在物联网上的整体部署。
二、物联网开发平台产品能力介绍
下图展示的是腾讯云物联网整体产品矩阵。大家可以看到,腾讯云从去年开始就在不断发布各种各样的产品。
我们去年发布了一系列相关的服务,包括物联网底层操作系统TencentOS tiny、loT Hub、低功耗网络服务LPWA、提供设备本身硬件加密服务的TID、跟运营商合作的物联卡流量服务loT Link,以及视频服务的loT Video等。
去年年底我们做了一次全新的产品升级迭代,正式推出「物联网开发平台」(loT Explorer),今天物联网开发平台里面涵盖内容已经比较丰富,也提供给很多客户在使用。我们也有对应的IoT Market (物联网市场)提供给大家使用。
IoT Market 涵盖的角色和承担的事情有很多,在整个物联网的产业链上涉及有芯片、终端、应用服务、系统集成,还有各种解决方案,覆盖了很多的客户类型,从政府政务,到创业创客,还有许多来自不同行业的开发者,以及不同渠道的渠道商等,他们都有涉及到物联网方面的需求。
那么,我们是怎样把这些需求整合起来的呢?其实就是通过IoT Market把我们合作的硬件厂商、解决方案厂商,以及其他合作伙伴的产品不断推出来,让越来越多的人知道这些产品存在,从而更好解决他们遇到的问题。
1. 腾讯云物联网开发平台产品架构
loT Explorer 物联网开发平台,是目前在腾讯云上做IoT集成功能最多的一款产品。这款产品面向的设备类型也是最全面的,主推包括WiFi类通讯模式、2/3/4G设备,我们很快也会推出5G开发套件,可以支持到所有局域网络的泛智能开发,同样也支持NB-loT/Lora等设备。
在设备连接层会提供以下几个主要能力:
第一是设备的连接。设备连接主要是用来实现消息的通讯,消息的上传和下发。
第二是在连接层提供规则引擎跟设备健全的能力。整个连接层会有一些开发者能灵活使用到的工具,我们把这些工具在连接层单独抽象出来变成IoT Hub,IoT Hub同样也是腾讯云单独提供出来的产品,在官网上就可以找到。
我们在其上提供了很多的应用能力,包括OTA升级能力、数据统计分析能力,设备管理能力,用户权限能力,甚至现在还提供了像实时计算,持续分析,告警通知位置,AI算法模型等。再往上到应用层,支持常规 iOS和安卓App开发,同时提供SDK。去年年底我们开始大力支持小程序。未来会为开发者提供更多无缝对接小程序能力,并且会提供更多小程序插件,满足各个行业需求。
以上就是对整个腾讯云物联网开发平台的功能模块的简单拆分和讲解。
2. 痛点解决
(1)保障端到端安全
再将视线转回来,腾讯云物联网平台是如何保障端到端的安全呢?
目前我们提供了三种设备鉴权的方式来保障:
第一种针对低算力设备,比如嵌入式设备,它们是目前市面上应用最广泛的设备类型,使用TLS、PSK的加密方式,通过ProductID、DeviceName、DeviceSecret加密。
第二种针对算力比较好的设备,比如企业办公场景下的人脸识别打卡机,或者是一些摄像头,我们提供有TLS/双项认证的加密方式,支持Linux,安卓、iOS等系统。
第三种是针对单独的一款产品,我们提供TID这样一种能在硬件芯片层面加密的服务,保障安全。所以不管是对于低算力的设备,还是具有比较高运算能力的设备,甚至是对设备的安全性要求极高的,比如说一些银行柜员机设备,我们都能提供不同的端到端加密,满足可靠性需求。
另外我们在物联网开发平台上提供了非常灵活的管控模式。在产品的开发阶段,对设备Owner的授权机制做了很好的规划,如果产品开发完以后投入到市场,在运营阶段,可以把相关权限做很好的调整,不会因为开发阶段授权之后导致运营阶段无法接收回这些权限。
(2)解决可靠性问题
那么腾讯云物联网开发平台又是怎样解决可靠性问题的呢?首先在中间的连接层,我们做了高效的Message Broker,Broker是专门为端到云,端到端,端到应用的处理而创建的,目前线上处理的QPS已经达到了千万级别,同样支持MQTT、CoAP协议,支持QoS0、QoS1等。
当某一TGW出现故障时,怎样实现无缝切换呢?我们采用的是多地无缝切换,多点接入异地容灾的方式。
腾讯云在全球有很多机房,以我们现在的云能力已经可以做到区域间无缝切换,所以这里面会涉及到前期投入的问题,我们的目标是:能极大满足后面客户对使用产品的可靠性要求。
如何确保可靠之余还能够做到低延时?通过增加规则引擎这样的功能就可以实现数据在不同模块之间进行转发。腾讯云自己有像MangoDB、Kafka等等不同产品,这些不同产品内部切换起来非常快,其实就依赖于我们做的规则引擎模块,现在消息引擎转发的消息量已经达到了几十亿的级别。
(3)助力快速开发
腾讯云物联网开发平台又是如何快捷帮助客户更好地开发出相应物联网设备的呢?为了更快满足客户需求,低门槛帮助客户更快开发内容。我们在整个产品过程中定义了如下几个流程:
第一:产品定义阶段
产品定义阶段无非是弄清楚以下这些事物,如产品的ProductID、DeviceName等,产品本身属性有哪一些,支持什么样的动作,以及可以做到哪些事件?诸如此类......
第二:设备开发阶段
设备开发阶段,肯定会遇到各种各样的不同通讯类型的要求。比如有的设备要走4G、有的要走5G,有的要走WiFi网络,有的用的是Realtek芯片,有的用不同厂家模组,这里面怎么处理呢?有OS支持和没有OS支持又该怎么做呢?这些我们统统放在设备开发阶段里面,大家可以进入腾讯云物联网开发平台,在流程里面可以明显看到整个流程化的操作。
第三:设备调试阶段
在我们确定好这个产品本身叫什么名字,有什么用,能做什么事情,以及他的通讯模组、通讯类型、通讯芯片怎么开发之后,就进入到设备调试的阶段。
之前有客户反馈,硬件开发的周期往往比软件开发周期来得慢,当他把应用端开发完了以后,这时候却没有PCB板可以做调试。结合我个人之前开发硬件的工作经验来看,一些PCB板和贴片,真正到你手里通常需要五个工作日左右的时间,最快也要三天时间,这就会造成一个时间差,那怎么缩短这个时间差呢?
物联网开发平台提供了虚拟开发的功能,我们在云的能力侧模拟了一个设备,然后开发者可以通过模拟通讯的方式进行应用侧接口的开发以及各种功能的调试。当做完了所有事情以后,通常你的PCB板也已经到了,这个时候就可以进入真实设备的调试,整个模拟过程和真实匹配度接近100%,大家可以放心体验。
第四:批量投产阶段
当把设备开发完以后,这个时候就应该开始批量投产了。我们提供了大量的批量化操作,包括Device ID如何分配,批量化设备如何管理,量产后的固件如何烧录,设备上线以后如何控制权限等等。我们已经把物联网应用开发过程的整体流程缩得很短,并且把流程可规避的问题,以及能够缩短的时间拆分到以上四个环节里面,客户和开发者只要按照以上流程选择适合他们的开发方式就可以很快开发。
我们有一些合作伙伴,利用IoT Explorer开发他们的产品,整体的效率也是非常高的。在中间的设备开发的流程中,我们在IoT Explorer中定义了Tencent loT Kit 模块,这个模块是为了更好、更通用的解决客户采用不同厂商的MCU或者通讯模块的需求问题。
现在跟腾讯云合作的模块厂商有30多家,不同的厂商用不同的模块去集成腾讯云loT的IT指令级,在采购这些厂商模块的时候,可以自动下载安装一个指令包,就能完成整个云跟模块之间通讯工作,而不需要自己再通过Hell层去改造移植一套SDK,可以大大减少整个开发过程的工作量。
另外因为是在IoT Explorer物联网开发平台上完成开发,之前在产品定义阶段时候已经把各个产品对应的不的属性,不同事件和动作都定义好了,设备通讯模块和设备云端的协议也是固定的,这样就能很快生成MCU自动代码,同样可以加速开发者开发的过程。
在应用端,提供有「腾讯连连」这样的小程序,大家可以在微信小程序上搜索找到。这个小程序可以当成开发过程中的调试工具来使用,另外也可以把自己开发的硬件,通过这个小程序展示出来,我们未来也会投入流量来推广这个小程序的服务。
在应用侧我们提供了小程序,同时也提供App和SDK的功能,我们很快也会提供一些小程序插件来满足大家的开发诉求。
如下图所示,从设备里的MCU到模组,从PC端到终端,再从终端到云,从云服务到上层应用,中间也添加了很多的功能,比如一些定时、设备分享、设备管理、用户管理,甚至还有一些语音控制功能。
腾讯也有自己的语音开发平台,我们会把对应能力相互打通。并且大家可以看出,在loT Explorer里面也可以集成不同的语音开发能力,包括一些消息推送的功能,这些都是经由很多客户反馈,最终我们把它们抽象做成一种公共的服务提供给所有人使用。
另外在做loT Explorer这款产品的时候,有客户反馈:他们需要做一些实时的设备数据分析工作,但是自身的开发动手能力却不是很强。为此我们实现了如下图所示的可拖拉拽的设备数据实时分析能力。
通过数据源的采集,支持结构化数据和非结构化数据,再通过SCF云函数做数据的过滤、聚合,接着经过一些算法的模型的处理,又可以将这个数据传出去,或者将数据通过前文提到的规则引擎转发到Ckafka,或者推送到第三方Saas系统的API做对接......这些现在都可以在loT Explorer这款产品里动手实现,并且大大降低了整体的开发门槛。前文提到的SCF函数,是云函数的计算能力,还有Ckafka、CTSDB也都是腾讯云单独的产品,这些产品都可以在腾讯云官网上找得到。
三、疫情防控产品案例分析
1. 背景介绍
疫情发生之后,不管作为公司还是个人都有义务发挥自己的力量,尤其是腾讯这样体量的企业,更需要做一些能够服务社会、服务大众的产品出来。我们观察到小区和社区用到的体温计检测,工作人员要套上手套,拿着笔登记也很麻烦,所以希望尽可能缩短这样的交互的流程,让大家得到更好的体验。
为此我们精挑细选找到了市场上一家非常老牌的体温计厂商,合作开发了一款体温计。值得一提的是,这一款体温计是通过了医疗器械认证的,整体测温精准度非常高,市面上存在为数不少的体温计并没有拿到医疗器械认证,这样的体温计测出来温度可能都是不准的。借助loT Explorer,从产品硬件软件的设计和开发到最后整个产品模块化推出前前后后花费了五天的时间。
2. 市场需求调研
由于时间紧迫,我们只花了半天时间做了调研,总结了如下几个主要功能点,需要在我们的产品里面实现:
第一:我们希望测完的温度数据能够自动传到云端,并且实时显示在小程序端,而不需要工作人员来做体温数据的登记。
第二:我们希望进出小区的时候是通过一种更快捷的电子方式,而不需要登记姓名或者出示身份证,甚至有的小区是通过暗语或者暗号进行出入。
第三:我们希望通过声音提醒,把异常数据和异常的人员同步到云端上进行管理,让管理人员更好服务所在人群,通过这种云端管理和监测的方式应该是非常便捷的,非常有利于客户使用的。
3. 使用场景描述
这款产品可以使用的场景特别多,包括很多学校和教育机构都在沟通这个产品的合作,我们也可以用到腾讯自己办公的大楼,自产自销。同样我们也会跟很多小区物业合作,把产品给到他们使用。
4. 功能特性概述
除了前文提到的出入登记、体温实时上报、异常检测功能。我们也将门磁设备检测考虑进来,添加整个门磁状态的上报和下发能力,这样就可以将产品投放到一些酒店、公寓,甚至医院隔离间来使用。
此外,我们还提供了完整大盘的统计分析,让小区的所有用户都能够看到小区的整体数据情况,而不用像现在一样需要通过物业管理处每天统计再隔一天公布。
一些小区跟我们产品进行合作之后,整个小区的居民都可以实时看到整个小区每天进来多少人,出去多少人,整个小区温度超标有多少人,整个小区有没有达标,这个小区里面哪一些地方是不能去的,哪一些地方是需要被隔离,这些都可以从大盘里面看到!
我们希望通过这样的产品,更好做到数据上的规范,避免一些人为操作性的失误。
5. 方案内容
产品化的整个流程也非常容易,就像前文提到的那样,首先我们找厂商合作,然后在通讯协议层进行SDK移植,之后通过上文提到的四个步骤:完成产品定义,通讯模块的开发,设备调试,投入市场做量产的管理。四个步骤结束之后,最后再完成小程序端的开发上线。
6. 项目意义和影响
我们希望通过这样一个产品可以服务到社会上更多有需要的人,以及使用在更多的场景里面。
四、福利彩蛋
最后提供一些小小的福利给到大家。
第一:我们在腾讯连连小程序里面添加了企业预约咨询的服务,如果有需要采购这样产品的企业可以通过这个方式预约,这里我们并没有做强制性或者盈利性操作,我们只是希望能更好的把厂商合作的设备推给有需要的客户和场景里去。
这里必须声明,因为我们现在跟厂商合作的设备是定制化的,所以产品本身的产量非常有限。我们只能尽量安排,实在安排不了也会通过邮件的方式反馈给大家。后面这款产品也会上到京东上,大家可以到京东购买。
第二:针对开发者,我们已经把这次开发出来的小程序,抽象成一个小程序插件了,可以给到各个不同的企业或者是开发者做开发集成使用,后面腾讯云IoT所支持的所有不同品牌、不同厂商的体温计设备,都可以快速在小程序里面应用起来,我们同样希望能支持到更多产品!
五、Q&A
Q:腾讯平台对设备的接入有审核或者规范吗,受众有没有可能在不知情的情况下被动使用某些设备被收集数据?
A: 对于不接入腾讯连连的设备,腾讯云物联网没有特别的审核流程,即使是开发中的产品只要不超过开发状态下的设备数量限制,平台都会提供生产级别的服务等级。对于接入腾讯连连的设备,则需要进行必要的测试流程,以保证腾讯连连使用者的体验。设备厂商会在腾讯云物联网创建账号,腾讯云是无法获取客户的账号、密码去查看设备的数据。
Q:“腾讯连连”微信小程序开放吗?
A: “腾讯连连”目前不开源,会开放API以及一些DEMO源码,便于用户做自己品牌的小程序。
Q:腾讯连连是一款什么样的产品?
A:腾讯连连是腾讯云面向物联网行业提供的一整套C to B开放平台服务,并不仅仅是一款简单的微信小程序。借助腾讯连连可以降低物联网产品的研发门槛以及加快研发速度,同时提供以微信小程序为载体的、面向消费者的应用入口,整合腾讯内部的品牌以及多项优势内容服务,助力万物互联时代真正到来。
腾讯连连基于腾讯云领先的云服务资源,能打通腾讯云IaaS以及多项大数据、AI等PaaS服务,为产品应用开发提供更便捷的解决方案。针对B端,腾讯连连依托名腾讯云IoT Explorer物联网开发平台,具备快速实现设备对接云的协议开发、连接上云、数据收发以及虚拟设备调试等能力,协助开发者3-5天内快速上线产品,并根据品牌需要进行深层二次开发。其次,产业端产品开发完善后,消费者能通过添加物联网设备快速与厂商建立连接,改善设备使用体验,最终实现物联网应用链条闭环。
Q:如何保证连接设备的安全访问?
A: 腾讯物联网平台提供了多种安全等级的设备身份认证模式。对于可以运行证书认证的设备,可以使用双向认证来保证设备与云端的身份安全以及传输通道加密传输。对于运行证书认证方式较困难的设备,则可以采用一机一密即密钥认证的方式。
Q:物联网哪些产品今年值得做?
A: 基于物联网的产品、项目应用会很多,需要根据自己的需求或者说需要解决的痛点出发去选择要做的产品。
Q:物联网大有前景啊!另外腾讯云的物联网布局不知道如何?
A:腾讯云IoT定位于全链路物联网基础设施建设者,通过搭建物联网覆盖云管边端的基础设施能力,为企业实现物联网信息化提供优质可靠的基础设施能力,降低物联网的开发门槛和复杂度,助力业务快速上线。在云侧,物联网开发平台IoT Explorer整合腾讯云的大数据、AI智能、图像视频、安全和无服务计算等产品能力,为各行业的设备制造商、方案商及应用开发商提供一站式设备智能化服务;在边侧,各类服务发挥协同优势。在管道侧,LPWA物联网络是为传感终端提供用于通讯的基础网络。具备建网方式灵活;低成本提供稳定的网络覆盖,节约建网成本,降低物联通讯费用等特点;在边缘侧,ECM和IECP共同为用户提供就近的边缘计算服务,完成云、边的服务协同;在端侧,TencentOS tiny是腾讯面向物联网领域开发的实时终端操作系统,具有低功耗、低资源占用、模块化、可裁剪等特性。可以有效减少开发人员所需要的时间和产品成本,并且能够快速高效的实现设备的低功耗运行,同时提供强大的开发调试功能,提高测试效率,能够保障产品实现快速开发和上线交付。
详细的腾讯云物联网矩阵产品介绍可在“腾讯云官网-企业应用-物联网”查看。
Q:我们正在针对疫情开发相关产品方案,请问跟腾讯连连产品合作模式是怎样的?
A:针对不同类型合作伙伴提供不同的产品合作服务模式。
- 对于已有小程序产品能力的用户,腾讯云IoT提供腾讯连连蓝牙体温枪和LoRa门磁传感器小程序插件,小程序插件支持智能设备的发现、连接、状态获取、数据获取等功能接口,第三方开发人员无需熟悉智能设备细节协议以及微信小程序通信开发;
- 对于需要提供小程序产品服务的用户,疫情期间,腾讯云IoT可提供免费的腾讯连连公版小程序,配合智能体温枪设备和LoRa门磁设备提供完全免开发的用户操控面板和场景标准化功能。客户只需在微信搜索【腾讯连连】小程序,进入小程序申请开通企业版即可体验使用;
- 对于希望获取体温枪测温数据用于打通第三方SaaS业务系统的用户,腾讯云IoT可提供标准的云API以及支持不同语言版本应用SDK方便用户调用。
Q:如何识别哪个是被检测的用户?设备是Wi-Fi联网吗?
A:红外额温枪是蓝牙通信方式的设备,腾讯连连会有专门的功能去设置额温枪采集的温度所归属的用户。
Q:温度和用户名如何绑定?
A:同上
Q:在哪里能买到这款智能体温枪?
A:可在腾讯连连微信小程序-我的-预约咨询进行智能体温枪预购。
Q:我们有一些项目合作需求,怎么能联系到你们
A:可关注“腾讯云IoT”微信公众号,点击菜单栏“联系我们”或在腾讯云开发者社区公众号后台留言“物联网合作”。
讲师简介
周佳鑫,腾讯云专家产品经理,目前负责管理腾讯云物联网产品团队。对物联网产品、物联网应用服务、物联网架构设计有丰富理解,拥有多个大型物联网项目的技术实战经验,带领产品团队搭建了腾讯云IoT全栈物联网产品体系