【开源项目】之仓鼠管家和OpenHamtaro
2016-09-09 18:11:04
机智宝
  • 访问次数: 5
  • 注册日期: 2016-09-06
  • 最后登录: 2016-09-09

## 项目背景

 

大家好,我是多多的爸爸,多多是在李志唱了“多多你不要哭”之后来到这个世界上的小女孩。

 

前段时间给多多买了个语音仓鼠玩具,主要功能就是你说一句,它重复一句,里头有个电机,讲话的时候电机跟着转动,相当于自带抽风效果。多多特别喜欢,整天抓在手里又亲又咬,仓鼠一抽风,她也乐地抽风。后来仓鼠坏掉了,怎么叫都叫不醒,多多以为是开关没打开,我跟她解释说仓鼠坏掉了,她听不懂,一直拉着我的手往底座去拨开关,让人怜惜。

 

机智云Cherry从CSDN联系到我说要赠送一个GoKit3的时候,我很开心,很早就知道它支持语音识别,我脑海中蹦出的想法就是利用Gokit3给闺女的仓鼠玩具做个大换血。记得5月的时候,周杰伦随手就给女儿写了首歌《前世情人》,让我嫉妒不已,老婆鼓励我说“会写代码的爸爸同样牛逼”。这次我也终于能够得偿所愿,给多多写段代码了。

 

这就是这个开源项目的由来。


## 项目介绍

OpenHamtaro是一个以仓鼠玩偶为原型的语音机器人项目,具备语音交互能力,可与不同品牌的ZigBee智能家居产品互联互通。项目希望通过开源方式,集合大家的力量,一起打造一个开放自由的智能家居网络,让大家可以挑选喜欢的设备进入个人生活。

OpenHamtaro有如下特点:  
1. 语音交互。  
Apple有Siri,Google有Goolge Now,你说“OK glass”可以与谷歌眼镜交谈,你说“Alexa”可以让亚马逊Echo播放音乐。 在OpenHamtaro,你念叨下“仓鼠管家”,就可以操作智能家居设备了。

2. ZigBee互联互通。  
在智能家居的应用领域,ZigBee在互联互通、网络接入数量等方面都比WiFi要更有优势。虽然ZigBee联盟已经公布了有1072款的认证产品,但似乎离我们还比较远。
希望通过这个OpenHamtaro项目,逐个接入各个品牌的ZigBeeHomeAutomation智能家居单品,比如飞利浦的HUE灯,xxxx的插座,xxxx的开关等等。甚至给小米的ZigBee智能家居套装重写满足ZHA协议的固件,用于接入标准ZHA网络。(如果绿米的工程师看到这,希望官方能发布一个标准ZHA固件,实现与其他ZHA产品的互联互通。)
 

3. 全球领先的GreenPower协议实现。

这两年免电池开关很受欢迎,Enocean联盟、以及国内的领普等专做无源免电池设备的厂商都大火。其实早在2012年ZigBee协议中就加入对无源免电池设备的兼容,但是技术上一直攻克不下来。最近从上游供应商那传来喜讯,有了工程样机,期待能在这个项目中实现这个技术的接入。

 

总的来说,OpenHamtaro要做一个开放包容且有意思的智能家居网关,这也是这个“产品”的差异化特点。

 

如上,便是OpenHamtaro的项目介绍,项目在github上开源,欢迎Fork:https://github.com/twowinter/OpenHamtaro

如果你对ZigBee技术有兴趣,对这个开源项目有兴趣,欢迎与我联系。我的微信公众号是“twowinter”,不定期做些物联网技术以及心得分享。

 

## 一期项目成果展示

 

### 原型照片    
GoKit3+仓鼠玩偶


飞利浦HUE闪亮登场,感谢领导大力支持。


### 功能演示视频        

严肃演示版视频(锤子T1闪亮出境):   





语音调戏版视频(仓鼠管家抽风特写):  
    

 

## 总体设计方案

 

### 系统拓扑  




### BOM  




### 项目计划  

一期计划(20160728~20160831):  
以GoKit3为硬件原型机,主要实现软件功能验证。  


二期计划(20160901~20161131):    
硬件方面可以开工,着手制作样机。软件方面,接入更多的HA设备,如无源开关等。

 

## 项目过程记录

 

项目过程中熟悉了机智云GoKit3,学习的过程中做了记录。我整理了其中几篇对其他人可能有帮助的笔记,回馈下社区,给后面的新人们带带路。


 

GoKit3(V)学习笔记01_搭建开发环境:

http://club.gizwits.com/thread-3378-1-1.html

摘要:本篇笔记主要参考机智云社区的教程帖[GoKit2代ST底板程序编译及下载教程],由于GoKit3(V)在硬件上使用的是GoKit2代的ST底板,因此该教程是适用的。本篇笔记主要记录了GoKit3(V)前期的开发环境搭建,为后续开发做基础准备。

插图:



 

GoKit3(V)学习笔记02_自定义产品数据点:

http://club.gizwits.com/thread-3379-1-1.html

摘要:跟着Gokit3使用说明书的教程顺利地让设备跑了起来,家里一下子热闹了起来,玛丽玛丽的声音此起披伏,多多儿还不会讲话,也跟着maaa地叫着。这是GoKit3给生活带来的快乐。言归正传,这篇开始讲述GoKit开发的第二件事--自定义产品数据点。

插图:



 

GoKit3(V)学习笔记03_使用资源管理工具修改Lark7618语音唤醒词:

http://club.gizwits.com/thread-3398-1-1.html

摘要:还记得在电影《2012》中富豪用语音唤醒宾利驾车逃离的场景吗?语音唤醒现在基本是语音交互技术的标配:Apple有Hey Siri,Google有OK Goolge,你说“OK glass”可以唤醒谷歌眼镜,你说“Alexa”可以唤醒亚马逊Echo。本尊虽贵为物联网小能手,但却因为穷没买过这上面提到的任何一个。所以这次当我喊完玛丽玛丽唤醒GoKit3的那一刻,泪水不禁模糊了眼睛。(twowinter你出来,我保证不打死你。)

这篇笔记记录的是如何把GoKit3的默认语音唤醒词“玛丽玛丽”给换成“仓鼠管家”。

插图:

 

 

 

GoKit3(V)学习笔记04_使用资源管理工具修改Lark7618数据点语音资源:

http://club.gizwits.com/thread-3400-1-1.html

摘要:上篇笔记对唤醒词做了修改,这篇将对具体的语音资源做处理。其实官方文档《6_GoKit3(V) 开发指南.pdf》已经详细说明了资源管理工具的使用方法。我就记录下自己的操作过程,另外对升级后的情景做下介绍,看看能不能对其他朋友有所帮助。

插图:

 

## 总结及产品化思考

 

实话说用在这个项目上的时间并不多,平常加班都忙成狗了。由于这个项目,得以从繁忙的工作加班之余挤出一些时间,让自己放松一下。下一步我得抽空将OpenHamtaro做出工程样机,老是叮嘱多多不要咬电路板也不是个办法。如果有想参与这个项目的朋友,欢迎到我公众号留言,画PCB、写APP或者提建议都行,还有好些有意思的功能等着加进去,我会给每位贡献的朋友送一台工程机做个纪念。


关于产品化,我大致想了想。评委们看看我说的有没有点道理。

1.首先想的是,仓鼠管家如果产品化,它能卖的出去吗?

对于陪护机器人这个品类,已经有很多家在做了,特别是BAT中的腾讯和百度都推出了实体机器人。巨头们有流量,草根产品基本被碾压,如果草根产品没有差异化的东西,那市场空间真的是特别窘迫。我觉得这个产品还值得投入的最关键一点是,目前市面上的机器人的功能点都差不多,语音聊天、播放资源等功能之外,没有看到惊艳之处。

仓鼠管家和他们最大不同,就是它太好玩了。我看到热门微博视频的那天中午,就给多多买了这只会抽风会吵架的仓鼠。大家可以从这个微博传播状况看出这个仓鼠的受欢迎程度。
09165826_GlZA.jpg 

另外,它背后是开放的智能家居生态。这点至少对极客们还是很有吸引力。谁会希望整套家居被小米或是Homekit给绑死呢?不屈的战士们站起来!和仓鼠一起守卫我们的家园。

所以,仓鼠管家值不值得产品化?我估计可以,公开BOM、电路以及APP,尝试做一个面向极客的语音玩具,应该有不少人想尝试下。

2.第二步要想的是硬件产品实现。
现在仓鼠管家的原型机已经验证可行,由于原来的玩偶自带了机芯及外观,所以结构外观等部分可以省掉很多工作量。

二期针对现在的不足,有一些工作要做:如语音前端部分是否有多阵列的麦克风,可以增加语音识别的准确度;APP增加仓鼠吵架模式;ZigBee网络增加加入设备种类等。


如上是对仓鼠管家项目的一些总结思考,有啥吐槽和交流请尽情留言。
Whatever,先做个十来台样机送多多还有送亲朋再说吧。