编者按:本文为投稿。作者黄凯明,曾在腾讯负责开发平台的开发工作,现任矽递Seeed Studio 互联网技术总监。本文系BOSS直聘主办的直聘学院「对话智能硬件」活动上黄凯明的分享整理。
「从硬件连接到共同智慧的开发实践」
智能硬件经过这两年的快速发展已经开始慢慢渗透到我们生活的方方面面。智能硬件的发展脉络是在建立互联网不断发展的基础上的,无论网速发展还是计算机的存储和处理能力,都在不断重演着摩尔定律。但在这技术高速发展的过程中其实有唯一不变的东西,那就是其背后给人类提供价值是“解决信息不对称”。
矽递科技是开源硬件制造商,也是国内较早期涉及物联网、智能家居和可穿戴设备领域的企业。今天想结合实践中的经验和大家分享在智能硬件领域,互联网在应用上和技术上的演进。
首先是应用层的变化,以下是六项从互联网到智能硬件进化过程中围绕着解决信息不对称的需求:
- ➤连接人和人
- ➤连接人和交易
- ➤连接人和信息
- ➤连接服务
- ➤连接人体
- ➤连接设备
其中前三项是在PC时代解决的,腾讯连接人和人,阿里连接人和交易,百度连接人和信息,而后面三项连接是需要依靠新硬件到来才能完成的。其中第四项连接服务是依靠智能手机的到来完成的。智能手机让我们可以随时随地处于在线状态,更因为这种可移动的连接,促使我们有了更多的服务需求,比如打车、找餐馆等。当前三项连接满足之后智能手机的到来使得我们连接互联网的应用场景从我们的办公室和家里走向了我们生活的衣食住行无所不在。最后两项则需要其他更多新硬件的到来,我们靠的是穿戴设备来连接人体,如谷歌眼镜、手环等。
从以上几项我们不难看出“连接”就是关键词,我们做了智能硬件之后更要利用互联网,利用它的数据集中的处理能力解决信息不对称问题。当智能硬件连接互联网之后会产生的下一个化学反应就是智慧。一个硬件开始有了第一个属性连网,那么便解决了“连接”的问题,下一步就开始解决它更加聪明的问题,这里说的聪明或者智慧的定时是帮助用户做选择,帮助用户做判断。这里我列出三个阶段:
▌工具:智商 = 0
传统汽车、传统眼镜、普通的称,“智商”为零,硬件本身不具有对信息做加工处理和判断的能力,这是我们传统的硬件。
▌智能:0 < 智商 < 用户
智能则是硬件的“智商”大于零,开始做IFTTT的判断,但这种智力水平通常小于使用的用户。它使得用户变懒,但是不能取代用户在里面做判断,比如智能冰箱,如果门没关时会提醒用户。比如智能电饭锅,当温度超过103度时,会自动跳闸。这样的智能需要芯片进行处理,今天我们大量的硬件还是处于智能的位置,智能的位置能够帮助用户更懒,但它并不具备革命颠覆的能力,所以还需要更高级的智能,就是下面所说的智慧。
▌智慧:智商 >= 用户
硬件“智商”局部领域开始大于等于用户,就是机器可以跟人一样聪明,甚至更加聪明。那么,是如何做到的呢?硬件连网之后,数据得到集中处理。另外不是因为开发的工程师或者产品经理聪明产生的智慧,而是通过连接不同设备对用户行为的智能硬件及大数据的处理产生的智慧,是互相帮助产生的共同智慧。
目前什么服务比用户聪明?比你问朋友更靠谱?这个互联网应用或者硬件的选择能力和判断能力是远远超过你去问其他人的,那就谷歌的搜索引擎。当你问它问题的时候会比你问身边的人更能解决你的事情。为什么谷歌搜索那么聪明,并不是它的工程师或者产品经理带来的,它通过对互联网上网页的分析,其背后是我们用户、编辑、开发者等对于这个世界的理解以正文或者超链接的形式存在,谷歌通过他们开发PR算法,收集用户在网上的点击行为或者链接行为,通过各种方式知道这个网页在说什么内容,什么网页更加重要,这样的数据处理使得它本身的服务更聪明。
现在硬件需要的就是这种处理能力,硬件需要连网,对用户行为产生的数据做加工,所以硬件从普通硬件到智能硬件需要做同样的事:
▌测量 —> 连接 —> 智慧
传感器通过对现实数据进行获取,其次它有连接能力,能与整个互联网进行对接。数据本身就是有价值的,通过连接到传到互联网集中分析和处理并对数据进行加工,最后将数据放回到用户手中,帮助用户去做选择和判断。这就是互联网与智能硬件体现其解决信息不对称的共通价值所在。
所以在技术互联网和智能硬件是相同,需要通过下面三个技术手段来解决信息不对称的问题:
▌测量:收集数据
收集数据的方式从原有PC和手机扩展到各种不同的硬件传感器上,每一个传感器传输数据形式都是不同的,有字符串、音视频等,通过电流变化转化成二进制,编译器解析后产生我们可处理的数据形式传到服务器。
智能硬件的应用场景比PC和手机多非常的多,相比起Web和APP的兼容性,硬件需要考虑温度、湿度和供电等等稳定性,而一个数据的传输前端需要考虑因数会更多。
另外前端传感器的质量要求会更高,因为比起互联网开发,智能硬件开发边际成本要高很多,无法像软件一样可以快速迭代。
▌连接:接收数据
互联网的开发只有,客户端(Web或APP)与服务端。智能硬件对数据的传输方式比互联网复杂很多,是通过以下三个维度构建起信息传输桥梁的:
- ➤硬件连网,客户端连网,通过云端服务器进行数据交互;
- ➤硬件通过蓝牙、红外等方式与客户端进行数据交互;
- ➤硬件通过本地wifi网络与客户端进行数据交互;
这里面最大的区别是硬件与客户端都是独立输入输出主体,不是传统客户请求数据,服务端返回数据,而是双向请求,可以互相唤醒,同时两端之间都是有心跳的,当一端触发对另一端的处理是,另一端可以快速响应。所以智能硬件比互联网在数据传输层更多样且复杂,有红外蓝牙、局域网、互联网等方式。
▌智慧:处理数据
➤数据存储传统数据以关系型数据结构进行存储,可以把所以数据关联起来,读写性能瓶颈明显。而智能硬件要一定不同地点上线连接,数据快速查询并返回,更适合使用KV存储,以对象结构建立数据之间的关系,在不同地点登录后可将对象数据集同步。
➤数据读写比起PC和手机,传感器是一个非常不稳定输入原,经常存在断点,网络信号强弱不同等问题,在数据传输极其不稳定,导致数据读写时需要具备对数据的重组功能,因此在读写方面常用队列。队列需要大存储量,可并行,能容灾,少冗余。
➤数据交互在数据交互方面,需要更快的网络增强体验,需要更强大计算能力处理如图像,音视频等数据还需要有大数据统计分析能力才能完成各种数据计算并返回到用户手中。
这些就是我开发实践中的一些心得,希望能给要进入智能硬件的互联网开发者一些帮助,感谢本次活动主办方Boss直聘。