文档章节

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

机智宝
 机智宝
发布于 2016/09/07 16:02
字数 2419
阅读 5269
收藏 23
点赞 0
评论 9

## 项目背景

 

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

 

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

 

机智云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
ACHAW
ACHAW
牛皮
永和
永和
不错!
开源红薯烹调技术专家
开源红薯烹调技术专家
79 好有爱
弹幕分析:关于五五开(卢本伟)开挂,弹幕到底讲了啥?

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

直播观察 ⋅ 2017/12/05 ⋅ 0

嵌入到博客中的小动画

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

BjarneCpp ⋅ 2017/08/22 ⋅ 0

如何彻底屏蔽禁止安装QQ管家,不经用户同意,是否可以起诉腾讯

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

曾建凯 ⋅ 2016/12/17 ⋅ 5

腾讯:360安全卫士刻意阻挠QQ电脑管家

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

红薯 ⋅ 2012/01/06 ⋅ 82

把软件当成管家很艰难,但是很重要

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

红薯 ⋅ 2010/11/08 ⋅ 6

IP防护最高级别的施沃德车位管家

一、先来看看什么是IP IP是Ingress Protection的缩写,IP等级是针对电气设备外壳对异物侵入的防护等级,来源是国际电工委员会的标准IEC 60529,这个标准在2004年也被采用为美国国家标准。 在...

威捷 ⋅ 2011/09/14 ⋅ 0

腾讯 和 360 重燃战火

●腾讯:半年遭360三次“暗杀” ●360:优化与否是客户的选择 在监管部门的介入下,去年那场轰轰烈烈的3Q大战似乎以二者恢复兼容而告终。但昨日腾讯官方一篇“QQ电脑管家遭360截杀”的微博,...

红薯 ⋅ 2011/07/06 ⋅ 107

暗讽腾讯技术不过关?360愿提供技术支持

1月9日消息,上上周四腾讯发公告称奇虎360安全卫士存在刻意阻挠QQ电脑管家正常运行的行为,建议用户不要使用360安全卫士。今日奇虎360对此做出了回应,称愿意对腾讯提供安全技术支持,希望腾...

柳天赐 ⋅ 2012/01/17 ⋅ 8

某美女程序员在微信朋友圈发了一行代码,结果底下评论炸了!

哈哈,今天在论坛看到一个截图就是下图这个,女程序员有这么厉害么。 说一下我曾经的队友吧。 我的印象是跟其他女生差不多,特别喜欢逛淘宝,特别喜欢穿裙子,应该也是比较喜欢养小动物(据我...

编程需要艺术 ⋅ 03/29 ⋅ 0

Windows Server 2012 R2 安装完勒索病毒后出现的共享和DNS等问题

勒索病毒带来的恐慌,相信大家有目共睹了。我也不例外,虽然没有给我们公司带来什么破坏,但是有补丁还是得打一下! 本公司没有安装网络版的杀毒软件,全部安装单机版杀毒软件,腾讯安全管家...

begin2000 ⋅ 2017/05/16 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Java Web如何操作Cookie的添加修改和删除

创建Cookie对象 Cookie cookie = new Cookie("id", "1"); 修改Cookie值 cookie.setValue("2"); 设置Cookie有效期和删除Cookie cookie.setMaxAge(24*60*60); // Cookie有效时间 co......

二营长意大利炮 ⋅ 52分钟前 ⋅ 0

【每天一个JQuery特效】淡入淡出显示或隐藏窗口

我是JQuery新手爱好者,有时间就练练代码,防止手生,争取每天一个JQuery练习,在这个博客记录下学习的笔记。 本特效主要采用fadeIn()和fadeOut()方法显示淡入淡出的显示效果显示或隐藏元...

Rhymo-Wu ⋅ 55分钟前 ⋅ 0

Spring JDBC使用方法

普通实现: 1、创建数据表customer。 可以使用任何数据库实现,在项目中要引入相应数据库驱动包并配置相应数据库连接。 2、创建Customer pojo。 Customer类的属性对应数据库的属性,除了为每...

霍淇滨 ⋅ 今天 ⋅ 0

Contos 7 安装Jenkins

Jenkins是一款能提高效率的软件,它能帮你把软件开发过程形成工作流,典型的工作流包括以下几个步骤 开发 提交 编译 测试 发布 有了Jenkins的帮助,在这5步中,除了第1步,后续的4步都是自动...

欧虞山 ⋅ 今天 ⋅ 0

revel

revel install go get github.com/revel/revelgo get github.com/revel/cmd create new app revel new git.oschina.net/zdglf/myapp run app revel run git.oschina.net/zdglf/myapp ot......

zdglf ⋅ 今天 ⋅ 0

49. Group Anagrams - LeetCode

Question 49. Group Anagrams Solution 思路:维护一个map,key是输入数组中的字符串(根据字符排好序) Java实现: public List<List<String>> groupAnagrams(String[] strs) { Map<Strin......

yysue ⋅ 今天 ⋅ 0

spring Email

使用spring发Email其实就是使用spring自己封装携带的一个javamail.JavaMailSenderImpl类而已。这个类可以当一个普通的java对象来使用,也可以通过把它配置变成spring Bean的方式然后注入使用...

BobwithB ⋅ 今天 ⋅ 0

spark 整理的一些知识

Spark 知识点 请描述spark RDD原理与特征? RDD全称是resilient distributed dataset(具有弹性的分布式数据集)。一个RDD仅仅是一个分布式的元素集合。在Spark中,所有工作都表示为创建新的...

tuoleisi77 ⋅ 今天 ⋅ 0

思考

时间一天天过感觉自己有在成长吗?最怕的是时光匆匆而过,自己没有收获!下面总结下最近自己的思考。 认识自己 认识另一个自己,人们常说要虚心听取别人意见和建议。然而人往往是很难做到的,...

hello_hp ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部