你知道吗?在物联网(IoT)世代,我们设计产品的过程将变得和以前大不相同。或许你已经听说过,这将是一个万物智能的时代,所有的硬件都可以拥有智能,
你的衣服、杯子、咖啡机都可以被赋予可计算的智慧,以及与人交互的能力。我们所面临的物联网市场将不在是一个单一产品足以引爆的市场,而将是一个“长尾理
论”(The Long Tail)的市场。
长尾理论?这和智能硬件开发扯得上半毛钱关系吗?是的,日前,蓝牙技术联盟(Bluetooth
SIG)开发项目技术经理高文森在谈到IoT市场上创新型硬件开发时就表示,智能硬件的开发已不在是一个产品方案走遍天下的时代,随着低功耗蓝牙的出现,
成就物联网时代的蓝牙硬件市场将是一个长尾的市场,早几年,大家提到蓝牙硬件开发,就想到蓝牙耳机,几乎一个方案就能copy在无数中国工厂中。而现在蓝
牙遇到了广阔的IoT机遇,基于蓝牙连接技术的智能互联设备可能是一个牙刷、心率监测仪、门锁、灯泡等各种设备,开发方案将极具创新又各有差异,覆盖的领
域也会千差万别,不变的是,各位,留给我们的开发时间将更少了。我们的队伍还会加入很多“门外汉”设计师,可能对电子设计不熟,但同时又在自己领域是
专家。共同的是,我们都希望快速开发出有创意的、符合市场需求的智能硬件产品。
谈正事,那么?如果你要开发一款基于蓝牙连接技术的智能硬件,你会怎么做?一页一页查Paper,从基础协议学起?要知道设计师的宝贵时间更应该留给功能
的开发与实现,何况留给我们的时间并不多。当然,如果你是“蓝牙大神”,已经对公布、早先公布、形形色色的蓝牙profile烂熟于心,或者你想凭一
己之力吃透厚厚一叠参考资料而不在乎开发时间。OK,请忽略下文内容。
或者你会,找厂家的参考设计或开发套件支持?这是一个好办法,今天,我们并不想否认这种常规的好方法,而是希望提供多一个更能加速开发的全新选择,并且这种选择完全可以叠加于厂家参考设计或开发套件支持的基础之上,并再次缩短开发时间。
好了,前面扯的有点多,该谈谈缩短开发时间的事了。这里提到的好方法就是蓝牙技术联盟为物联网产品开发推出的“Bluetooth
Developer Studio”开发工具包。据蓝牙联盟官方公布:“Bluetooth Developer
Studio”可有效缩减多达50%的蓝牙学习时间。来自初级用户和资深蓝牙开发者的反馈表明,“Bluetooth Developer
Studio”更能够将蓝牙开发时间缩短多达70%.
缩短70%?究竟是如何做到的?简而言之,就是通过提供“代码实例”的方式,让开发者在“开发库”里找到符合自身开发项目大致想法的实例模板,通过简单拖
放(图1),快速创建自己的项目,并在此基础上生成开发原型,设计师可进一步利用开发包进行原型验证和互操作性等测试(包括虚拟测试),工具也直接支持各
家蓝牙原厂(蓝牙芯片和模块供应商)的解决方案,可选择具体的芯片/模块后自动生成代码文件,终导入到原厂开发软件或开发板中进行进一步功能性开发等步
骤,将设计直接变身产品。高文森演示并举例道,比如:我想设计一个“智能咖啡机”,有一块开发板并希望完成上面的软件。我可在工具包里检索到另一个家伙的
智能咖啡机项目,用鼠标拖过来,修改定义一些我所需要的变量,大约15分钟的时间就可以搞定一个原型。然后基于原型,在里面进一步挑选原厂方案。比如要用
Nordic的板做,Bluetooth Developer
Studio就会自动生成适合Nordic的代码,我可以把代码直接放在Nordic开发板上。当然,开发包本身是图形化的界面,操作、生成都很简单。开
发者也能轻松获得教程,易于学习。
图1开发者在“开发库”里找到符合自身项目需要的实例模板,通过简单拖放,快速创建自己的项目
已经有那么多厂家开发套件,为何还要用蓝牙联盟的工具包?当然首先它是完全免费下载的(不论是现在的Beta版还是未来的正式版)。其次,这次由联盟来发
布工具包主要是想填补一个空白,就是基于通用属性配置文件GATT(Generic Attribute
Profile)的开发和调试。对此高经理也表示,有别于原厂的套件,联盟发布的工具包是希望更多提供对蓝牙协议层面的支持。利用原厂套件做开发前,设计
师往往需要对初的自定义配置文件(Profile)进行定义,需要理解很多的Profile文档,现在在下载实例的同时可以省略这一步,或设计师可以在
已有配置文件的基础上加以创建新的应用,由此来大大节省开发时间。当然你的Profile也可以发布在平台中供更多人使用。
从编译角度看,这个工具的编译功能也是对原厂编译器某些方面的增强,你可以在工具中基于某个原厂的开发板生成代码,随后导入原厂的开发工具中进行进一步的
性能开发、UI开发等,再用原厂的开发工具编译代码终导入开发板,这样的流程可以节省很多开发时间。当然这款工具也能在快速出原型的基础上进行原型验
证、互操作验证等虚拟测试。这也顺应目前在开发界很流行的快速迭代概念,需要很快的把设计概念变成产品来验证,这也对工具和开发流程提出新思路。
另外,这个工具也可利于不同厂家板子的选型,可以在原型设计后快速基于不同厂家的不同板子出代码,节省选型时间。当然这个工具对于蓝牙设计的初学者具有很
大的指导性,蓝牙联盟希望通过Bluetooth Developer
Studio工具降低蓝牙开发门槛、同时通过设计模板的方式加速开发、也提高开发质量。
谈了这么多,后小编也想补充一句,作为设计师,难道你不好奇其他人的开发吗?设计库内的部分实例是基于开发者们上传的应用和参考设计,你可以借鉴或对其优化。
听上去设计库很强大,里面都有些什么?由于是一个开源的平台,所以“设计库”内吸引人的部分就是“代码实例”模板了。据高经理介绍,设计库里有来自原厂
的参考设计,也有来自开发者自己上传的设计。有些应用非常广泛,会形成类似标准的实例,会标有“Adopted”的标识,意味着这个东西是被蓝牙联盟所广
泛采用的。有些则是基于设计师的上传,有其独特性。比如:心跳仪设计,如果大家基本都同意心跳仪应该有1、2、3种规范,投票通过了,这个叫
“Adopted”。可能还会有一些厂商希望再加上5和6,这会是他自己定制的东西。目前开发库的分类有二十几类(图2),内容涵盖可穿戴产品、智能家
居、健康产品等各类智能硬件,由于目前仅是Beta版且是完全开源的,相信这个设计库在未来会不断扩充壮大。
图2目前开发库有二十几种分类,设计师自己构建的原型也可以在工具中进行分类发布
哪些原厂的蓝牙器件或板子可以在开发库中直接
导出?据高经理介绍目前Bluetooth Developer Studio
Beta版本已经得到四、五家原厂的支持(如Nordic、CSR,TI,Broadcom都已经支持或在筹备中),工具中可以支持他们市面上买得到的所
有器型。同时还有更多的厂商正在和蓝牙技术联盟一起做研发。Bluetooth Developer
Studio是个开源的项目,任何厂家想加入它的蓝牙芯片或模块都可以。国内有很多做芯片、模组厂商有自己的方案,都可以加入到蓝牙联盟的工具
里,Bluetooth Developer Studio一样可以进行支持。
刚提到的工具自带测试有哪些?如何保证设计出来的产品互操作性、稳定性和用户体验?
据高经理介绍,在蓝牙设计中提高互操作性,也是提出这个开发工具的目的之一。整个工具内含一个测试平台。可以做两种测试:1.虚拟的测试。在你决定正式上
传到平台之前,可以在那里测试一下。比如:模拟数据发送接收的过程是否顺畅。2.当你把原型做好后,可以互相连接,看能不能满足初始设计的一些想法。同
时,你也可以把“原型”分享给整个开发社区。别的设计师可以在此基础上继续提高。这也是提高互操作性的一种方式。同样,对于用户体验,很大部分来自产品质
量和稳定性,依然可以通过测试进行,测试平台可以测试用户不同的应用场景,来确定你设计的这个应用是否符合设计想法能并满足终用户的体验。
嫌这些还不够?好吧。目前这是一个基于测试的Beta版本,从时间上看正式版本会在2015年7月底或8月初在全球正式发布。当然,无论是Beta版本还是正式版本,都会在蓝牙联盟网站上面向所有的蓝牙开发人员免费的进行下载。