物联网该是什么样子

这是16年在知乎上发的一篇关于物联网的思考的文章,现在翻出来转到自己博客上。现在看看还是觉得当时自己还是太年轻,技术上的积累太少,有些东西考虑的不到位,甚至有些天真了。最近又思考了一番,深化了一些细节内容,会在下一篇文章给出。

原文链接:
关于物联网下一步发展的思考

物联网是一个非常大的、高度复杂的东西,从目前国内发展的状况来看,还是处于玩概念阶段。从智能家居到智能工厂到其他产业智能化再到智能城市,从智能再到智慧,这需要一系列强有力的基础作为支撑,而且也是一个循序渐进,潜移默化的过程。像目前的智能家居就是一个初端,但是现在的这个初端,总是觉得少了什么。

关键词: 平台、安全、服务

构建平台

目前国内好几家大公司都开发了自己的物联网平台,好多企业也在研发自己的产品。个人觉得,目前小米算是做的不错的,它就把握住了很多关键的点,但是我觉得它做的还是不够。小米现在有很多智能家居的产品。但是在这方面应该争做产业链上游,卖技术为主,现在物联网刚刚起步,我们还是有很多机会的。在智能家居这块,无线路由器是家居产品连网的绝佳切入点,小米抓住了这个点,在智能路由器中加入它的产品的远程监控。想做成一个大家都能接受的平台不容易,这种庞大而又复杂的东西,需要各大企业合作,全社会协作进行。对于这样一个平台,应该打造成安卓系统这种类型,这样做有利于其自身的推广与发展。

个人觉得未来将是嵌入式的黄金二、三十年,可以与各行各业进行深层次的结合,有非常多的机会和非常大的潜力,能够极大的推动社会的发展,十年之后的生活会是怎样,可能我们现在都无法去预测,一切皆有可能。现在的嵌入式系统的发展只能算是一个开端,很多东西我们还处于学习的阶段,离应用还是有些距离。很多人一想到嵌入式,就想到linux,Android,QT,arm处理器等等,仿佛做这些就是代表的嵌入式,但是这不全是。嵌入式的精髓在于 灵活,对不同的对象有合适的处理方法,这些应该理解为嵌入式的高级应用,适用于处理复杂的事情,然而很多东西它不需要复杂的控制,它要考虑成本,51能做的事情为什么要用arm cortex A9的处理器呢,所以对不同的控制对象应该采用合适的方案。从硬件底层来说,这就意味着合格的物联网平台应该具有包容性,全面支持各种层次、架构的MCU与处理器。

物联网和嵌入式有很多相似的特性,两者并驾齐驱可以达到相辅相成的结果。所以,对于打造一个平台,从终端底层系统来说,物联网应与嵌入式系统相结合,源码开源,不同层次全面覆盖,MCU以FreeRTOS为支撑,支持8位,16位,32位的所有单片机,x86架构和arm系列的处理器可以以linux为支撑,或者直接开发出属于我们自己的物联网专用SOC和操作系统。开发手机操作系统已经很难赶上目前主流手机系统了,而这是一次可以在这方面走在前面的机会。底层系统支持多种传输介质接入网络技术,比如有线的以太网,各种总线,无线的蓝牙、wifi、ZigBee和其他频段电磁波,红外、可见光传输,甚至声波传输,比如超声波,这些自由的数据传输最终转换为以太网、wifi或者移动数据网络接入Internet。支持这些可以非常灵活,自由,因地制宜、量体裁衣的设计物联网设备,为开发者提供无限可能的开发方案。

然后就是加大宣传力度,提供论坛交流,对主流的单片机、处理器提供开发板,对各个层次的单片机、处理器提供丰富详细的系统移植教程,各种应用例程,开发方案,与高校课程实践、课程设计,甚至于专业比赛相结合。(比较郁闷的是为什么有些公司开发的系统不对外公开,好不好也无法评估,我觉得物联网系统是需要众多的参与者的,因为这个系统要包含的内容、对象非常的多而且复杂,公司自己可能也无法考虑应用的那么全面)目前32位的arm cortex mx内核的单片机中,我觉得做的最成功的是意法半导体的STM32,为什么用户非常的多,因为服务到位,网上一搜,stm32的开发资料非常的多,众多的开发资料使得它简单,易用,因而用户也多。就比如说开发板,用户在购买开发板进行学习时,肯定考虑资料多不多,够不够全面。想要将物联网开发系统变成一个平台,就必须做好这些前期工作,资料全面易得到,简单易上手,开发者用户多。之所以要开源是因为物联网是一个非常庞大而又复杂的东西,光靠企业自身的力量是不行的,这需要全社会的投入,合作。推出开源的系统后,可以利用众多第三方企业,或者个人的开发者来推动系统的优化升级,bug修复,以及系统的推广。

保障安全

物联网核心是网络。在开发的操作系统里应有包含云服务和局域网控制的物联网服务框架,代码也应多种编程语言版本,全部开源。对于在MCU里使用的C语言框架应该尽可能的简单,易移植性要强,最好能够做出那种类似于FatFS文件系统的性质的物联网服务框架,简单易用,可远程、局域网使用,不用上系统(简单的while结构)都能运行最好不过。或者学习TI的CC系列单片机的源码结构(比如源码包含了zigbee协议的CC2530),以那样的一种形式提供给开发者。开源的物联网服务框架意味着想要安全使用的话,需要超强的加密以及安全保护机制。至于安全保护机制,非常的重要,用户的账号保护,数据的网络传输,云服务器的安全是重中之重,而这样整个的一个平台单靠一个企业来做是很困难的,单是设计物联网协议就已经是足够头疼的问题了。以个人的看法,腾讯的强力的用户账号保护机制,360优秀的保障网络安全能力,阿里出色的云服务、大数据处理、云安全能力,百度强大的数据分析能力,华为卓越的研发能力,小米在这方面探索的可行方法与经验,如果能够携手合作,结合各方的优势,打造出成功的平台是一点问题也没有的。而且这样的平台用起来,人们对于各种物联网产品的使用会放心的多。

拓展服务

目前的智能家居产品的服务主要就是提供用户远程监控服务,一些公司只是对用户数据无意义的收集,云处理往往是一个噱头。除了提供用户远程监控服务外,这些数据经过处理分析后能产生一些价值。比如统计大量的用户数据,推测出人们常用的控制策略以及生活习性,并据此提供用户各种适合习惯的控制策略,或者云托管,做真正的云管家。比如可以根据不同地区人们使用的设备数量与种类,可以估算出不同地区的发展水平,不同地区人们对于生活质量的不同追求,消费习惯,以及间接反应地区的环境质量,比如如果A地区的空气净化机使用较多,说明A地区的空气质量肯定是存在问题的,甚至可以根据用户使用的空气质量检测传感器上传的空气质量数据来更精确的分析出地区的空气质量水平,以此来找出污染源,再比如根据用户使用的温湿度传感器上传的数据,精确分析各地区的温度变化,以及变化规律,分析冷暖气流的移动方向,甚至提前做出天气预报,向用户预警。单在智能家居这块,里面有非常多的有价值数据可以挖掘,并反过来为各方提供有价值的服务。

最后一个问题就是如何盈利,短期的话应该看不到盈利,而且需要大量的投入,从长远来看是非常可观。所以这些东西小公司是无法做成的,得有能力的公司来做,把这些东西都做了之后,不仅是成为产业链上游企业,更可能成为行业标准制定者。上游企业的盈利方式主要应该是云服务,以及物联网操作系统对第三方企业的授权,以及认证,类似于谷歌的安卓。对于利用平台研发自身产品的企业可以对其收授权、认证和云服务费用,对于个人一定服务范围内免费。比如teamviewer的远程连接服务,对企业收费,对个人免费。授权很好理解,认证即是在云服务里向用户提供该公司产品专用的各项服务。只要个人注册了云服务账号,购买第三方的产品后,使用该产品也应该是免费的。云服务费就是根据第三方企业的产品在云服务上的用户使用量来对第三方企业收取一定的费用。个人开发者也应该可以直接免费使用基于系统框架的云服务,而出于安全性的考虑,个人开发者想用自己开发的产品来使用云服务时应该实名制,防止出现使用于非法活动的情况。

对物联网系统的特性的思考:

非常强大的包容性

全面支持多种平台,终端系统支持多种MCU,处理器(系统分层次,分版本,有简单有复杂),非常强的易移植性。

非常灵活的联网方案

支持众多的通信方案,从有线到无线,从光到声。并不是这些功能都要包含在预移植系统中,而是系统提供各种方案的接口,提供完善的协议,以及软硬件解决方案。单一的通信方式,特别是无线,信道的容量是一定的,要充分考虑设备过多,过于密集的情况,采用灵活的联网方案就可以有灵活的拓扑结构(比如混合使用),进而实现理想的通信效果。

自由的云服务框架

要求是使用简单,自由。

严格而又智能的云管理

分权限管理,加强安全操作机制。比如云平台只有在获得用户的对应许可后才可以查看具体数据信息,在获取用户许可后才可以主动控制用户的设备。

强有力的安全保护机制

通信加密,网络防护,用户账户保护,云防护、紧急情况智能处理等都是必须有的安全保护机制。

万物皆文件

个人觉得这是系统的核心问题。这个意思是学习linux的“一切皆文件”,不管是局域网内还是云访问各种各样的物联网设备时,对设备的操作全部转化为对文件的操作。这样做在整个系统里有非常多的好处,解决了很多潜在的难点,比如权限管理、设备标识、设备多样化。