在物联网浪潮之下,智能硬件的火爆程度不断升温。未来十年,全球接入互联网的硬件设备将达到1万亿台。如今的智能硬件产品正成为下一个“台风口”,同时这对于终端市场也是一个机遇。然而从创新走向产品,作为开发者应该如何步步为营?面对传统硬件与智能硬件之间思维理念及技术差异的“鸿沟”,开发者如何提升自己的技能,更加高效地开发?由此,我们带着探索道路上的种种疑问,采访了机智云 CTO 刘琰,请他具体分享物联网与智能硬件开发的实践经验,希望帮助开发者少走一些弯路。
机智云创始人兼 CTO 刘琰
刘琰,机智云创始人兼 CTO,互联网早期技术及管理人员,中山大学毕业,前网易创始团队成员,拥有近 20 年互联网系统研发和软件技术架构经验,曾先后就职于韩国三星、网易(163.com)、Webex China Lab 、IBM(中国)等国内外知名企业,目前全面负责机智云核心架构设计、平台化产品部署和项目研发技术指导工作。
团队背景
CSDN:请介绍下您个人的从业经历以及目前关注的技术领域?
刘琰:我是 90 年代末第一批互联网从业者。2005 年我与身在美国的黄灼共同创立机智云公司(前杰升信息科技有限公司),主要为美国一线高新技术企业提供技术支持服务,后凭借个人的互联网技术经验和业内知名度,受邀成为全球最早进入亚马逊云计算和移动互联网应用开发的团队,为欧美互联网企业提供云计算解决方案和技术支持。
2009 年开始带领团队对苹果 MFi 项目进行前瞻性研究,并陆续完成上百款移动应用 App 研发交付,2010 年受邀成为苹果公司授权的亚太地区首批 Apple MFi 物联网软件解决方案提供商,目前已带领团队连续 7 年保持苹果亚太地区优秀 MFi 方案商。在 2015 年 8 月,我与微软 IoT 资深专家共同完成基于物联网云服务的云计算系列著作《云就该这么玩儿》。
目前关注的技术领域有:边缘计算、云计算架构、物联网大数据、人工智能算法、无线联网技术、金融支付等。
CSDN:可否分享一下目前机智云整个技术团队的背景、规模和分工?
刘琰:机智云目前拥有完整的技术研发团队、安全运维团队、人工智能团队和技术服务团队,已形成了一支多学科有机互补、专业搭配合理的研发队伍。
各团队主持技术和管理工作的负责人和核心技术人员均来自运营商、芯片原厂、大型互联网公司的技术骨干,比如云平台负责人为前中国移动业务支撑系统 BOSS&CRM 项目技术负责人,具有超过 10 年运营商业务支撑系统规划及实施经验。人工智能负责人是前 Intel WPRD MC1 系统高级工程师,曾带领团队主导完成 Intel 基带芯片算法的研发。负责通信协议开发的核心技术人员为原华为技术有限公司网络产品线底层开发部 BSP 项目团队 Project Leader,有超过 9 年嵌入式软件、网络通信设计开发经验。
目前公司总人数接近 250 人,其中技术人员约占 80%。技术研发团队负责大型客户项目及标准化解决方案研发工作、安全运维团队负责云平台日常运营维护及安全、人工智能团队负责人工智能产品研发及商业化和技术服务团队负责客户支持。
CSDN:请谈一谈目前机智云正在做的事情?
刘琰: 机智云是目前国内最大的智能硬件自助开发(PaaS)及物联网云服务(SaaS)平台,为有志于进军物联网的开发者提供设备管理、网络连接管理、应用开发、数据挖掘、智能分析、金融计费与第三方系统互联等重要平台服务,同时帮助企业连通底层设备、企业业务需求、应用开发者和企业内其他 IT 系统(CRM、ERP 等),为厂家打造完整的物联网解决方案,已服务车联网、新能源、工业互联、医疗健康、消费类电子产品等众多行业,目前在家电领域市场份额第一。
机智云智能硬件自助开发 PaaS 平台是全球最早推出的,目前行业最健全的应用赋能 AEP 服务平台,拥有全球最大的物联网应用开发者社区。平台通过多元化的 API 支持,完善的 SDK,IDE 开发环境,全自动的嵌入式和移动应用代码生成器等完整的工具链,帮助开发者高效地实现方案的开发、测试、发布及商业运营。开发者可以通过邮箱即时注册使用机智云免费的在线开发工具。包括嵌入式开发的协议文档、智能手机应用的 SDK、云端的相关接口、用于演示产品功能的智能手机应用,以及运行在云端的虚拟设备等等。
机智云智能设备运用管理系统是在 PaaS 平台基础上为企业提供的相对标准的智能设备远程监控、设置调整、软件升级、系统升级、故障排查、生命周期管理等服务,可实时提供网关和应用状态监控告警反馈,为预先处理故障提供支撑,提高客户服务满意度;同时开放的API调用接口帮助客户轻松地进行二次系统集成和增值功能开发;所有设备的数据可以存储在云端。满足客户对应用支持、数据挖掘、金融计费等功能的需求。
机智云实时大数据分析应用平台则为客户提供物联网大数据能力,高效实现物联网复杂机器学习算法服务。对集合的各类相关数据后进行分类处理、分析并提供可视化数据分析结果;通过实时动态分析,监控设备状态并予以预警。通过对历史数据(结构化和非结构化数据)进行训练生成预测模型或者客户根据平台提供工具自己开发模型,满足预测性的、认知的或复杂的分析业务逻辑。
机智云智能设备一站式解决方案,帮助企业优化产品体验以及降低运营成本。比如提供智慧家居解决方案、智慧水家电解决方案、GRCS厨膳云、GALS商用租赁平台、充电桩平台解决方案、Zinn宅居智慧公寓方案等,满足垂直领域行业客户需求。
前瞻性的技术预研和战略布局促使机智云已经发展成为目前国内技术领先的综合物联网云服务平台,同时开放的跨平台技术对接及自身开发者生态建设的完善,成功打造了围绕机智云平台为核心的物联网生态系统。
2016年机智云平台完善了ECE雾计算(边缘计算)引擎、RTBD实时大数据平台、Giga ML吉咖机器学习和D3动态数据编排引擎,将云计算和雾计算结合,组成超大规模的物联网大数据和机器学习体系,配合应用赋能和傻瓜式操作界面,充分整合物联网、大数据和机器学习应用能力,进一步降低物联网产品和服务的研发和部署及维护难度。
2017年3月份,机智云推出了一系列人工智能产品,比如通过多维度感知(Sensor Fusion) 与深度学习 (Deep Learning) 技术的支撑实现的新一代智能家居服务平台-机智玛莉,使用图像识别引擎和语义识别引擎进行交互,拥有智能决策能力,具备类人感官和语音交互的人工智能管家。
此外机智云还在积极与原厂和其它平台对接,帮助开发者可以快速赋予产品更多能力和服务,比如连续七年保持苹果 MFi 认证亚太地区优秀物联网软件解决方案提供商,持续参与苹果 Homekit 研发及推进合作;微软、亚马逊、Intel 全球战略合作伙伴,协助微软完成 2015 年微软 DX 部门 IoT 开发工具研发及开发者夏令营,2015 年协助 Intel 完成爱迪生连接云端实现自助开发并完成第一届创客大赛,日前在 Amazon Alexa 平台发布 Smarthome 和Custom Skill,将 Echo 应用场景推向中国智能家电厂家,在硬件联网技术层面除已完成的 Lora 产品外,正在积极与高通进行 NB-IoT 项目研发、与 ST 合作进行全型号 MCU 代码自动生成工具开发等等。
智能化硬件平台开发
CSDN:相比其他同类物联网云服务平台,机智云平台的区别及技术优势是什么?
刘琰:机智云凭借在硬件接入、数据挖掘和分析应用上的技术优势及多年的行业实战经验,已发展为行业第一的综合物联网云服务平台,处于整个产业链的核心位置,通过对数据流的集中、处理和疏散中心,凭借“大平台+小前端”的结构,支撑和推动物联网在细分行业的商业模式创新,提升行业效率。通过多年来对产业深耕和上下游资源整合,形成完整的物联网开发服务生态,有效撮合供应商和用户降低交易成本,通过第三方接口释放共享经济的巨大价值,参与应用分成,达成生态共赢。
我们从 2010 年就开始从事这个领域,所以在技术的迭代上我们是有一定的优势的,而这些都是需要经验积累才能打造出来的,因此我们的技术相对成熟。同时,除了技术上的领先,我们在开发团队规模上也领先了很多,甚至比大型互联网公司之中专门做物联网的团队还要成熟得多。而且我们的用户和开发者也非常多,这也是我们在生态上的优势。这些优势也是我们的核心竞争力,使得我们在业内的领先地位能够巩固下去,只要我们不放慢,就能一直保持。机智云是典型的复合型技术栈,技术只是工具,重要的是满足商业的目的,所以机智云是用最合适的工具来做最合适的事情。
CSDN:您与团队是如何看待“完整的物联网大数据和机器学习体系”这个概念的?
刘琰:物联网的数据是典型时间序列数据,具有量大、价值高的特点。传统的数据库无法很好地处理如此大量、实时的数据,传统的数据挖掘方法也无法从中挖掘出价值。因此需要引入复杂的机器学习算法来处理。比如2016 年机智云发布的机智云 4.0 平台就包括了 RTBD(Real Time Big Data)实时大数据平台和 Giga ML 吉咖机器学习,为客户提供了物联网大数据能力,高效实现物联网复杂机器学习算法服务。
RTBD(Real Time Big Data)实时大数据平台,是一个专门为物联网应用而生的实时大数据分析、处理、输出平台。RTBD 特别适用于存储和计算物联网行业最常见的基于时间序列的数据(Time Series Data)。基于搜索引擎技术,RTBD 存储量大(可达EB级), 内置强大的实时运算能力,复杂的数据聚合结果可以在毫秒级输出。RTBD 还具有多种计算引擎的整合能力可以方便地通过与 Hadoop/Spark/Storm 等计算平台的整合完成复杂计算。人性化的管理界面让开发者可以方便地定义数据查询脚本,并即时生成对应的 API,使应用赋能在数据层面有质的提升。
Giga ML 吉咖机器学习,是专门为物联网设计的机器学习产品。基于机智云的云端+雾端计算架构,吉咖机器学习可以把数据采集和处理逻辑动态分配到设备和网关端,让海量的终端设备参与到机器学习的运算中,大大的增加了可采集和处理的数据量和全网络的运算资源,可以高效的实现复杂的的机器学习算法,极大的降低了机器学习在物联网领域的应用的开发和部署门槛。
CSDN:可否简单介绍一下如何通过机智云对接快速实现 Amazon 的 Echo 对接?
刘琰: Alexa 是 Echo 内置的语音助手,可以接收相应语音命令,通过它能够唤醒 Echo。Alexa 的优点在于它基于云端,因此可以随时对其进行改进。Alexa Skills Kit (ASK)是一个由自服务 API、工具、文件和实例代码的集合,可轻松构建你自定义的 Alexa skills,然后发布。
机智云开源套件 Gokit 是一块标准的量产级嵌入式开发板,即代表了通用型智能设备。硬件集成了通用 MCU、通讯模块、电机马达、温湿度传感器、红外传感器和可扩展接口等,搭载机智云 Gagent 连接协议和 App 开发测试工具、微信硬件客户端,以及完整的机智云云平台服务。免费发放给开发者进行物联网设备开发学习,可在官网申请。机智云发布生态认证计划。
作为 IoT 前沿技术领军企业,机智云在 Amazon Alexa 平台率先发布了 Smarthome Skill 和 Custom Skill,实现了亚马逊 Echo 直接控制机智云开源套件Gokit(包括 Gokit2.0 和 Gokit3.0)!这也就意味着:随着机智云和亚马逊账号的打通,接入机智云的智能设备都可以轻松实现Amazon Echo控制功能。
CSDN:如今开发者对于云服务解决方案有哪些需求、痛点?机智云能为他们带来哪些变化?
刘琰:智能硬件开发云平台和传统的软件开发有很大区别,在传统的桌面软件开发领域,客户端的环境主要是 Windows 和 Mac,移动互联网有 Android 和 iOS,但是智能硬件的客户端平台则要庞大的多,单单芯片厂家就有几十家,如果算上做模块的那就更多了,客户端的多样化是物联网的一个独特之处。
另外,物联网应用结合了企业应用的业务复杂性,以及互联网应用在处理高并发、高访问量的技术难题,因此物联网应用开发是一个更有挑战的领域,比如,硬件领域的开发者相对比较传统,他们会采用比较成熟的技术,而不像互联网领域的开发者比较喜欢尝试新技术。
再有,大部分硬件因为受到成本和体积等因素的影响,在计算、存储等方面的能力是有限的,把硬件接入云端后,无形中扩展了硬件的能力。同时可以将硬件变得更加智能。原来一些设备的业务逻辑需要写在硬件里面,现在可以把这部分和智能决策的逻辑放到云端。但是对于一个硬件工程师来说完成这些开发会非常难。
那机智云给他们带来哪些变化?我们可以先看看目前智能硬件的基本架构,也就是我们常说的黄金三角形,即云端、智能硬件、智能手机应用。云端的技术大多是互联网的 技术,与硬件工程师所熟悉的领域不太一样,我们需要有工具帮助开发者更好、更快地接入。出于这个考虑,机智云提供了一个叫 GAgent 的小固件程序,它运行在硬件平台里面,通常在 Wi-Fi 模块里,也可以在硬件的主控芯片里。GAgent 起到了一个承上启下的作用,对云端,它实现了所有的机智云接口,让硬件具有与云端连接的能力;对主控芯片,它又提供了一套对嵌入式开发很友好的封装,让硬件工程师可以面向业务编程,而不用去考虑云端通信的细节。
智能硬件“黄金三角形”
GAgent 在云端所提供的各类型接口能够让整个连接过程变得更加简易,这些接口在传输层面支持多种协议,包括 MQTT,HTTP/S,还有 WebSocket等。MQTT 是由 IBM 最先倡导的一套专门用于物联网的协议,适用于互联网这样网络环境不可靠的场景;同时它又是基于二进制的数据格 式,特别适用于硬件上的嵌入式开发。而 HTTP/S 和 WebSocket 则用于一些应用的开发,如微信的应用或者是基于HTML5的应用。多样化的接口能 让开发者根据不同的应用场景选择不同的方式。
此外,机智云还在云端提供了一个开发者的自助服务界面,使得我们可以通过一些简单的表单操作就可以完成对一款新的智能硬件的功能定义。我们会帮开发者生成一系列包括嵌入式开发的协议文档、智能手机应用的 SDK、云端的相关接口、 还有一个用于演示产品功能的智能手机应用。另外,我们还提供了一个运行在云端的虚拟设备,帮助开发者能够在一行代码都不用编写的情况下,测试自己产品的各项功能。
CSDN:能否介绍您在打造物联网和智能硬件平台过程中,主要运用的技术?在平台开发过程中,面临哪些技术难点?
刘琰:机智云在云服务方面主要用 Python、Ruby 等语言来开发。数据层是机智云核心,用到 MongoDB、MySQL、Redis 技术;大数据领域,用到流式大数据处理框架 Spark。在 IaaS 层面,尽量做到服务供应商的中立型,也就是说机智云的整套架构部署可以无缝部署在阿里、腾讯、亚马逊、微软等 IaaS 平台。
对于平台打造过程中的通用技术难点,主要就是如何从一个大的服务到微服务转化,这个过程花费了团队很大的精力,包括现在还在不断的去做。这个很好理解,刚开始的时候,一个平台刚刚起步,一般是一体化的服务,业务比较简单,但是随着后期的访问量的增加,业务越来越复杂,各种各样的需求会不断的叠加进来,所以有段时间,机智云平台自身增加新的业务非常困难。因为你要考虑的东西特别多,例如增加新的功能会不会影响旧功能的使用等等。
另外,公司人员的增加,如何让员工快速进入开发节奏,目前机智云参考 Facebook 的做法,就是将服务尽量的切小,每一个服务负责一个非常单一的功能目的,让新员工可以在一天之内为服务贡献代码。除此之外,机智云的 SDK、GAgent(WiFi 模块中的固件程序)或者 GPS、蓝牙通讯模块里面的代码程序,需要有一个合理的发布节奏。目前机智云的云端服务现在基本上每天可以发布多次,而客户端的 SDK/GAgent 等产品则是每月发布一次,这样就平衡了功能的演进、缺陷的修复、质量的稳定等几个方面的关系。
CSDN:您认为目前物联网主要面临哪些安全性问题?从您的个人角度来看,有什么较好的解决方案?
刘琰:物联网安全是个重要话题。物联网产品跟手机/电脑不一样,没有用户持续的去管理它的操作系统,一方面不太容易发现被随随便便安装的病毒软件,同时也正因为没有用户每天照看,如果设备的安全防线被成功击破,也很不容易被发现。受制于大部分企业没有完整的技术开发人员和完善的专业运维和安全团队,现在企业依托现有工程师自主研发的产品或多或少都存在一些安全隐患,攻击者利用这些产品因各种因素制约没有考虑到的安全漏洞,可以监控或接管这类设备的运作,甚至令其感染恶意程序等,为消费者和厂家带来不同程度的困扰和损失。
对于物联网安全,个人认为有六大物联网安全的考虑点:
- 网络安全。本地网络和数据上云管道的安全,思科、华为这些硬件厂家比较擅长这个。
- 安全认证。用户和设备的身份和权限管理,我们这样的互联网公司比较擅长。
- 数据加密算法。需要在端部和云端同时做,需要机智云这样的端到端技术平台支持。
- PKI。公钥基础设施,这个在互联网阶段就比较成熟,但是应用到智能硬件上,很多硬件还没用起来。
- 持续的安全数据分析。这个对大数据能力提出很高要求,也是机智云在投入端方向,可以通过数据分析防范尚未成功的攻击。
- 云端接口的安全保护。这个互联网公司比较擅长,我们做云计算超过10年,保护服务接口是我们的强项。
开发经验分享
CSDN:根据您的经验来看,目前物联网开发者面临的主要挑战是什么?开发者在面对这些困难时开发者容易陷入哪些误区?
刘琰:我们开发过上千款硬件,发现了几个共性问题:
- 硬件连接手机、接入云端,就是这么简单的连接过程其实包含了从硬件跨到软件、跨到互联网的诸多问题。因为物联网产品所涉及到的技术领域跨度很大,建议不要从一开始就自己去完成所有的东西,而是要尽可能地去利用外部的资源,找到合适的工具去解决一些通用的问题。如机智云将现有核心技术积累开放出来,让开发者更快的克服智能硬件开发门槛,实现智能硬件零成本开发。
- 硬件本身有千奇百怪的型号,网络环境也千差万别,更不论手机的型号、系统版本和平台了。因此我们作为中间件就可以解决其中这些问题。比如你买一款设备,它并没有键盘,因此无法输入,但是你应该如何告诉它哪个是你的路由器以及密码?此外可能还会存在兼容性问题。想把产品做得稳定可靠,就要深入学习,所以我们通用的技术开放给大家使用。我们也与一些芯片厂商合作,可以做到让手机 App 自动发现设备,然后将路由器信息发给它,实现联网。
- 做软件的人都了解,App 如果有 Bug,可以打补丁。但是硬件产品如果出现问题,第一版硬件发出去了,但不能工作,只有两个选择,任由用户吐槽,或者发一个新产品给用户,但这样的成本很高。现在大部分的厂商都没有考虑到固件升级的问题。我们海外的一些非常成熟的客户从第一版就开始考虑后续的升级问题。固件升级可以是针对所有用户,也可以对指定地区或用户群进行升级。我们的平台就可以帮助开发者快速实现 OTA 固件升级。
CSDN: 对于从事物联行业的开发者,您有什么经验及建议分享?
刘琰:对于智能硬件领域的开发者来说,从技术研发到产品销售,整个生态链条非常长。智能硬件的产品研发,只是它生态链里面的其中一个环节。而且不仅仅要做出来,还能够交到消费者的手上,让消费者用得好,用得放心。
因此作为开发者,大家关注的并不是技术本身,应该关注的是要解决什么问题。现在产业中存在这样的现象,发现别人做手环,我也做,别人做插座,我也一起做,都是有样学样,最后同质化非常严重。我认为开发者需要将眼光放远,可以从小的痛点深挖,围绕自己熟悉的垂直行业去做,这才是最健康的发展方式。
展望未来
CSDN:未来几年,机智云有哪些重点规划,会有一个怎样的战略布局?
刘琰:未来几年,机智云在保持技术领先位置、衔接产业链上下游的同时将加大市场营销投入,进一步完善和扩大围绕机智云平台为核心的物联网生态系统,提升技术成果转化速度,除继续保持在传统消费电子领域的优势位置,将投入更多力量开展新的行业应用,在冷链运输、商用服务、智能公寓、煤改电、工业物联网等方向发挥作用;积极开展公共服务平台建设,帮助更多有想法的团队和个人;继续加强产学研合作,帮助校企实现成果转化。机智云将以中国为发展基石辐射全球,帮助中国传统企业率先实现互联网化,保持行业领军地位,引领物联网产业向前发展。