文档章节

【开源项目】之仓鼠管家和OpenHamtaro

机智宝
 机智宝
发布于 2016/09/07 16:02
字数 2419
阅读 5276
收藏 23

## 项目背景

 

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

 

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

 

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

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

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

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

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

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


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

© 著作权归作者所有

共有 人打赏支持
机智宝
粉丝 18
博文 10
码字总数 14843
作品 0
广州
加载中

评论(9)

Three丶
Three丶
有爱的程序员爸爸,赞!
黄金鼎13608078147
黄金鼎13608078147
有想法,收藏了
w
wywywywywy
还可以
大蓝妹
大蓝妹
强势的插了一波广告,不错的软文
机智宝
机智宝

引用来自“永和”的评论

不错!
13哈哈哈谢谢支持
机智宝
机智宝

引用来自“FoxHunter”的评论

79 好有爱
谢谢支持13
苍爹
苍爹
牛皮
永和
永和
不错!
开源红薯烹调技术专家
开源红薯烹调技术专家
79 好有爱
弹幕分析:关于五五开(卢本伟)开挂,弹幕到底讲了啥?

最近,斗鱼“一哥”五五开“的开挂事件舆论越来越热,成为了整个直播行业的谈论话题,B站UP主来斗鱼直播被封,3DM总监直播被封,让这件事的看点变得扑朔迷离。 本文目的是抛开那些扎眼的彩色...

直播观察
2017/12/05
0
0
嵌入到博客中的小动画

abowman是个很有意思的小动画网站,而且网站还提供了可以把小动画嵌入到博客中的代码。 以下1~9动画来自abowman,10为人体时钟(hone hone clock)。直接把下面代码粘贴过去,添加到网页中就...

BjarneCpp
2017/08/22
0
0
腾讯:360安全卫士刻意阻挠QQ电脑管家

腾讯今天发布公告称,360安全卫士存在刻意阻挠QQ电脑管家正常运行的行为,且沟通无果,建议用户不要使用。 腾讯称近日接到大量用户反馈,在运行360安全卫士的电脑上使用QQ电脑管家时,会出现...

红薯
2012/01/06
5.1K
82
把软件当成管家很艰难,但是很重要

简述: 软件产品的目标是为人类服务。好的软件会迎合人类的奇思怪想,它可以使出九牛二虎之力、使用复杂高深的技术,只是为了让一个正在看喵喵猫图片的用户省去一次鼠标点击之力。好的软件对...

红薯
2010/11/08
1K
6
如何彻底屏蔽禁止安装QQ管家,不经用户同意,是否可以起诉腾讯

Windows系统,每次更新QQ或者微信的客户端的时候,都会偷偷的静默安装QQ管家,如何彻底屏蔽掉安装QQ管家的可能性? 另外,是否能以一个企业的角度,对腾讯发起起诉? 第一,QQ管家未经用户同...

曾建凯
2016/12/17
858
5

没有更多内容

加载失败,请刷新页面

加载更多

70.shell的函数 数组 告警系统需求分析

20.16/20.17 shell中的函数 20.18 shell中的数组 20.19 告警系统需求分析 20.16/20.17 shell中的函数: ~1. 函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段...

王鑫linux
52分钟前
0
0
分布式框架spring-session实现session一致性使用问题

前言:项目中使用到spring-session来缓存用户信息,保证服务之间session一致性,但是获取session信息为什么不能再服务层获取? 一、spring-session实现session一致性方式 用户每一次请求都会...

WALK_MAN
今天
5
0
C++ yield()与sleep_for()

C++11 标准库提供了yield()和sleep_for()两个方法。 (1)std::this_thread::yield(): 线程调用该方法时,主动让出CPU,并且不参与CPU的本次调度,从而让其他线程有机会运行。在后续的调度周...

yepanl
今天
4
0
Java并发编程实战(chapter_3)(线程池ThreadPoolExecutor源码分析)

这个系列一直没再写,很多原因,中间经历了换工作,熟悉项目,熟悉新团队等等一系列的事情。并发课题对于Java来说是一个又重要又难的一大块,除非气定神闲、精力满满,否则我本身是不敢随便写...

心中的理想乡
今天
27
0
shell学习之获取用户的输入命令read

在运行脚本的时候,命令行参数是可以传入参数,还有就是在脚本运行过程中需要用户输入参数,比如你想要在脚本运行时问个问题,并等待运行脚本的人来回答。bash shell为此提 供了read命令。 ...

woshixin
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部