WRTnode发布开源的豌豆锦囊开发框架

个人简介 罗未,豌豆机器小组(WRTnode machine team)发起人,致力于整合机械设计、嵌入式Linux开发、计算机视觉、机器学习方向,以开源的理念制造智能交互机器,希望为开源社区和大众市场带来各种伴随人类却又独立于人类的机器。个人出身于行业软件领域,3年前转入硬件方向,经历过智能家居和路由器行业,现希望做一些让未来更近的事情。

OIOT,即开放物联网技术大会,是OpenIOT的简称。以智能硬件为代表的物联网势不可挡,也引领着新一波的创业浪潮。作为一家以报道技术前沿趋势为重的社区媒体,InfoQ中国也见证并参与着这一历程。在12月的这次峰会上,我们将联合在物联网领域深有积累的公司和个人,基于他们的产品和技术,分享自己的真知灼见,以期共同推进物联网在国内的发展。通过深入的技术层面交流,本次大会也期望能够有更多的务实产出,让物联网技术更加开放。

   

1. 感谢罗总来参加我们的采访,上午罗总演讲的时候提到了一个叫UIXO的产品。我们开发它的背景是什么?

罗未:其实这跟我们团队一直以来产品定位的逻辑是比较有关联的,是完全继承我们产品开发的逻辑的,我们一直定位自己是填补一些关键基础设施技术和一些非常灵活的终端开发者之间的鸿沟的团队。关键核心技术包括来自于几大芯片厂商的芯片,终端应用开发者为了要解决某个行业的特殊痛点的问题,它的需求非常直接明了,需要一个设备跟互联网连接,这个设备能同时执行一些任务,来解决行业本身的问题。比如我们今天提到的KTV,或者智能化的儿童玩具,或者一些工业自动化,和一些服务型机器人的场景,他们的需求非常的明确,就是要一个能够攒在一起的技术来完成一个互联网设备,或者机器人,或者智能硬件的开发。但是当用这样的视角去审视面临选择的技术的时候,他会发现有很多比较严重的鸿沟,这个鸿沟来自于基础设施的供应商,比如说芯片厂商,他们所谓的为客户服务,更多的是为大众产品的客户去服务。比如说我们知道手机芯片的供应商,针对手机推出了Turnkey--交钥匙的解决方案,这个解决方案需要花费芯片厂商一定的精力,它的精力就focus在这件事情上,所以他只能支持到手机,因为现在硬件行业里头卖的最多的就是手机。但是我们如果要做一个能够认识用户,根据用户的特殊的口味,来定制送餐,或者是做帮助用户完成一个特殊动作的机器人的时候,会发现上游厂商完全没有为这个事情做任何的开发,你需要在芯片的基础上做的事情特别的多。所以我们团队的定位就是在这两个大的鸿沟之间去填补空白,做上游的芯片厂商和上游的技术源的厂商与最终的用户终端之间这一段可以被抽象和复用的技术的整合。而这个技术的整合,我们最终落地下来的产品的形态,就是UIXO。UIXO里头最核心的主要包括了两个应用方向的功能的封装。第一个应用方向是物理交互,因为机器人其实是一个传感器和执行器的自动化的循环过程,必须要能感知周围的世界,通过不管是声音图像,还是无线电的传感器,或者是电磁传感器,或者是光学原理的传感器等等去感知周围的世界,然后再用这些感知出来的信息去对执行机构进行控制,这个过程形成一个感知和控制的闭环,然后去完成目标。在这个过程之中,机器人面向开发者的封装还远远不够,机器人现在还是一个所谓高高在上的象牙塔行业,但是实际上这样的理念和诉求在很多行业里是明显存在的,所以我们第一件事情是封装所谓的物理交互。第二件事情是想接入,或者整合一些人工智能的能力,比如说我们现在正在努力的跟一些语音语意的云端资源的供应商做一些合作,把语音语意的API封装成在我们平台里头可以随意调用的东西。当然除了封装别人现有的云端资源,或者算法资源之外,我们也在试图解决一些比较核心的关键资源,让人工智能算法的一些关键的能力成为我们的这个平台里最核心,可以被调用,被黏和的API。我们希望通过不断的在商业客户和开源社区里头重复的验证这套封装的逻辑和规则以及封装的范围,不断的迭代UIXO这两个核心内容,把它以一个更好的框架呈现出来。我们希望提供一套以UIXO为核心的产品体系,而这套产品体系能够支持各种各样的长尾的智能硬件和复杂的类似于机器人这种设备开发的产业生态,开发者生态,让他们能够不要去踏中间那个坑。因为后面的关键技术公司的门槛很高,你用我们互联网RESTful API,或者移动互联网API那种应用方式,把这些API整合在一起,那你需要做的机器人,或者复杂的硬件设备,就已经摆在面前了,你就可以完成这个工作。当然远期来看,我们会不停的去迭代UIXO这个产品体系,让它能够具有更强大的开发者支持的能力,能够让开发者即便是用到最简单的一些功能,也能通过这个工具走到硬件开发的最后一个步骤,所以这应该说是UIXO中文名字叫豌豆锦囊开发框架,我们的意图和我们一直以来把自己定位的点。

   

2. 据我了解,我们现在在硬件方面有WRTnode,然后在软件方面有UIXO产品开发框架,那么我们在软硬件结合这方面,在硬件都有哪些分类,在软件方面还有哪些其他的产品?

罗未:我们团队可能从某种角度上来看的确会被分为软件部分和硬件部分,软件部分更多的是刚才我们聊到的UIXO框架,硬件部分就是以WRTnode为核心的一系列开源硬件家族。实际上在我们团队本身看来,这两件事情是完全相辅相成的,就像我们刚才聊到的UIXO的核心目的是解决物理交互的问题一样,物理交互的某一个功能在我们的WRTnode开源硬件家族里头,也被封装成了一个真正可见的小的硬件模块。有的朋友看过我们的社区网站就会看到,我们的小模块大概都是差不多一元硬币大小的一个东西,支持标准的USB接口,那上面可能是一个执行器,可能是一个PM2.5传感器,可能是一个电机驱动,可能是一个四轴飞行器的主控,它可能是任何一个东西,但是每个东西都大概是一元硬币大小。它不只是某种电子积木的存在,它同时是UIXO框架里面所封装的最后真正完成物理交互的执行机构。从传统的角度来看,我们的产品分着硬件,分着软件,但实际上从我们自己的角度来看,从UIXO的开发者生态和开发者工具的角度来看,从为了目标客户提供开发者工具和服务的角度来看,我们的软件和硬件是完全有机的在一起的。

   

3. 上午看我们演示的时候有一个PPT,展示了我们的开发环境,类似于一个可视化的拼接的状态,那我们中间需不需要做一些编码的工作呢?

罗未:我们现在这个层次实现的可视化开发不需要做任何的编码工作,完全是拖拖拽拽的动作,能够完成一个简单的物联网设备的开发,比如说传感器跟执行器的某种对应,以及一些条件判断,和一些业务逻辑的实现。我们其实想的更远,往深入走的时候,从软件的角度上说,可能会把一些操作系统比较核心的机制,比如说多线程,资源锁,命令站等等这些类似的机制,要把它从IDE实现出来,如果把这些机制实现到我们的IDE里头,一个非常复杂的硬件设备,或者说一个非常大型的机器人设备都可能在这里不需要任何代码的实现。所以在说2015年的产品路线的时候,我们有一个Pro版本的UIX0框架,它就是基于这样的目标去解决这些问题的,在那个时候,哪怕是在市场上能够买到的真正的商业级的互联网产品,它的开发工作也都可以用我们现在这一套UIXO框架,和可视化编程体系来完成,但是现在我们能够支持的只有原型机的开发,到了2015年之后,希望我们能够很快,很顺利的把UIXO框架的Pro版本推出来。

   

4. 我们在2015年会推出WRTnode2,也会推出UIXO一个Pro版本,那大体在哪个时间点上?

罗未:做硬件,我觉得应该把话说的更收一点,做硬件总是跳票,我们也是这样,因为供应链里头的人不像你一样,像我们是自己的团队,我们自己对我们的产品有责任,有热情,但是当你进入传统产业的时候,他们都是在产业里头挣钱的人,他们永远会有很多的借口,很多的可能性,或者突发情况,不像我们克服困难的决心那么大,这个事情完全没有办法避免,所以跳票是很正常的。所以说的比较保险一点,我们在两个月之内,会做WRTnode2的内测,会在我们社区内部进行一轮测试。WRTnode2也会秉承开源低价,最主流的产品特征和最主流的产业产品的特征,把它往社区和我们客户里头去放,这个是两个月之内,应该是在春节前的时候就会有WRTnode2的内部测试。UIXO这个框架可能会拉的周期比较长,UIXO开发框架Pro版本应该在下半年会比较好的发挥,因为这里面的要解决的坑实在很多,包括一些我们还没有聊到的非常关键的对于复杂物联网设备,或者说类似于机器人应用的一些技术细节,我们正在做。

   

5. 在UIXO的架构图里面提到了代码托管这一部分,那我们的代码是托管在哪一个平台上?

罗未:代码托管是这样的,其实我们支持所有的平台去做,因为这无非是一个API的调用而已,比如说Github API的调用,但是就像今天上午我聊到,我们希望一个更有参与感的开源社区,所以我们可能会选择能够在这件事情上支持的更好的合作伙伴来做,我们不仅仅希望把代码托管上去就好,我们希望那个地方是一个比较热闹的地方,有参与感,换一个比较通俗的说法,就是那个地方是个很欢快的地方,同学们在那都能玩儿的起来的地方,我们希望找到这样的一个代码托管的地方和这种气质的合作伙伴来和我们做代码托管工作。我们团队坐在这里看起来好像是很商业的一个团队,实际上我们团队很大意义上带着我们所谓的Maker的气质,创客的气质,更多愿意在社区里头,大家能够玩儿的很开心,我觉得这跟商业也并不是特别矛盾。总的来说,我们会慎重的选择一个很好的合作伙伴作为我们首要建议的代码托管合作伙伴,其他的情况下,在解决好API接入的时候,其实这些API可以由任何一个代码托管的来执行。

   

6. 在物联网时代,大量的数据会从端产生,传到后端的数据处理平台,在数据处理这些方面,我们有没有喜欢的方案?

罗未:这个地方可以跟大家透露,就是我们现在正在跟一些比较大的合作伙伴解决基础设施的问题,而且会以开源的形式把这些产品发布出来。我们对这个东西完全没有任何态度,我们会放出一些特征,一些资源,或者一些示例,或者放出原代码,这个原代码可能是基于某一个云平台,或者某一个供应商来完善或实现的,但是对我们来说完全没有关系,我们本身不太关注传统意义上的云平台资源的实现,我觉得这是客户的事情,对我们来说不重要。因为你不能帮客户解决这个问题,你也不能帮Maker用户决定这个问题,因为客户总有自己很重要的一些考量,Maker用户也会有些自己的考量,我们尽量和一些伙伴一起解决一些基础设施的建设问题,但是它到底怎么用,选用哪个平台,包括选择什么样的技术路线,只要我们能够支持,我们全力支持。我们会很快的发布一些更大的云平台的接入方案,但是我们在这上面没有任何态度。

   

7. 我们的UIXO中间提到了一点,就是在我们的下部和上部做沟通的时候提到了一个单独的协议,为什么说要开发一个单独的协议?

罗未:这个是一个很有意思的话题,在PC时代和Mobile时代,其实都涉及了操作系统和硬件外设的接入机制,比如说今天插一个USB摄像头上去,必须要有摄像头的驱动,才能在Windows或者Mac OS里用这个摄像头。在Mobile时代也是一样的,在手机上我们也支持比如说插U盘,或者别的外设,但是有很重要的一点,在PC时代和Mobile时代,硬件外设的种类的增长速度是非常缓慢的。我们举个最典型的例子,很多年以前,刚开始有智能手机的时候,摄像头并不是标配,后来摄像头成了智能手机的标配,刚开始有触摸屏的时候,它是电阻触摸屏,要用一个笔,或者用指甲去滑,后来变成了电容品,再接下来有了指纹识别,有了双摄像头,但是我们回过头来看这些外设的发展演进在整个Mobile行业里头,它花了很多年才能完成特征的演进,成为系统里的主流,然后由这些厂商为不管是安卓,还是IOS,把这个设备的驱动体系完善起来,比如说双摄像头,比如说指纹识别,比如说电容屏,这都是要花很长时间来做的,所以这个地方,你可以让他们慢慢的去协作,用传统的大厂商对大厂商的形式去协作外设在系统里的驱动的问题,或者是容纳的问题。但是在我们的复杂物联网设备,或者说机器人时代,我们的传感器给你一看,突然间就是几十种,上百种,执行机构呢,光一个步进电机可能都有无数种信号,步进电机只是我们常用电机的三种之一,还有两种其他的电机,每一种电机跟每一种电机的驱动型号都不太一样,而且可能还会有些组合的执行机构,或者组合的传感器,比如说三个舵机能够做成一个三自由度机械臂,四个空心臂电机做成一个飞行器,在这样的情况下,我们突然间面临着一个硬件外设的大爆炸,相对于传统可能一两年,发展出一个指纹识别,一个电容屏,大厂商和大厂商慢慢磨,把这些驱动写好,反复测试,渐渐的被行业所接受,可能三年已经过去了,三年我们就搞了一个电容品,或者搞了一个指纹识别,或者重力加速度,或者陀螺仪这种PC或者手机里头非常重要的外设。但是我们当面临机器人的时候,突然间你一开门,就要面对无数种传感器和无数种执行器,这就要求你的技术构架跟传统的技术构架完全要是不一样的,传统的Windows,或者是安卓设备驱动的那种形态可以慢慢去磨,一点点写完,跟微软打交道,微软再给你回,回了以后再怎么样,最后把一个驱动写好,这样可以。但是在这个时代,没有大家一起磨的时间,而且需求太多,可能性太多,所以我们希望有一种类似于协议的东西让大家明白,广泛的外设跟一个主控系统怎样进行对接,怎样进行整合。当然我们提到的UIXO这套协议,并不一定是市场上最优的选择,目前市场上还没有更多的选择来执行这件事情。UIXO这个开发框架里的每一个组件都是开源的,我们希望跟产业的合作伙伴一起能够把UIXO框架走得更深入,所以也希望用这样的开放的姿态,让大家一起在大规模的硬件和主控系统的接入这件事情上,能够形成一个真正的生态圈。

你可能感兴趣的:(WRTnode发布开源的豌豆锦囊开发框架)