rokid-另一个角度的开箱体验


(bluescode) #1

注:本次开发板是掘金联合rokid开发者社区给大家送福利活动中所得的开发板,感谢。

这是一篇迟到的开箱体验文章,我在5天前就收到快递了,拿到后立即体验了一番。给我的第一印象就是:这不就是XXX智能音箱嘛。当时就想体验体验,然后随便写一些开箱、体验啊、功能大致介绍啊…云云之类的就算完成任务了。但是当我打开官网,点进开发者社区,阅读完文档后,我立即抛弃了这种念头,感觉这个板子可以搞事情。所以就有了此文后半部分。文末有送福利

文章分2部分。一是对开发板硬件配置做个大致的介绍,以及功能方面。二是搞事情的重点,给她做个外壳,以及怎么搞。

一:硬件篇

作为一个刚毕业不久的前端,搞事情什么的最喜欢了。大学兴趣爱好就是玩单片机,物联网之类的。拿到开发板,第一件事竟然不是开机😥,而是研究了一遍开发板上面的各种芯片型号以及…价格。看来中毒不浅啊。先上图,多图预警。

这是rokid的包装。很黄很暴力,就一个shi(第三声)黄色的纸板,连个标志都没有。第一眼看去不像是一千大洋的AI语音板子啊。

这是打开包装的样子,黑乎乎的。不过总算看到个rokid字样,表示我没有收错快递。一个写着rokid文字的对话框印在圆圆的铁盒子看起来很是高大上。好像有这么点AI的样子😂。

这是她的实物。板子第一眼还是可以的。黑金配色,板子装逼的惯用伎俩👌,这波没问题。用料很足,焊点光滑圆润没毛刺,板子绝缘漆摸着有厚度。职业手贱,大一点的元器件都用手摇了摇,很牢固,没有松动现象。

这是第一次开机,等待配网的指示灯。

下面就去看看这板子都用了啥芯片。

首先是第一层的debug板。

这层板子多数都是接口、按键、GPIO。有一个USB-typeC debug接口,一个USB HOST接口,6个按键。以及一排GPIO,共30个。还有一个红外加一个usb芯片。

红外接收经查原理图,用的是台湾亿光IRM-2638系列,这型号在小家电中很常见。查数据手册,使用5V供电,最小接收距离有6-12米,接收角度水平垂直各90度。对家庭来说够用了。

debug板上唯一的芯片是USB转串口芯片。型号直接在IC上可以看到是FT232RL。这芯片要贵点,功能也多点。看数据手册自带晶振,所以稳定性要好点。价格在采购网站看的是$4.75一片😰。嗯,这个价格我去买ch340模块,能买6块。普及一下,串口是一种常见的通信协议,一对一通信,协议简单,在单片机几乎是标配硬件串口。USB转串口的作用就是把usb传输的数据转换为串口要求的协议和电平,或者把串口协议的数据转换为usb要求的格式,这样,电脑上就可以通过usb和串口设备交换数据。

下面是CPU板,也就是核心板。

那上面大大的S905D,老司机都懂。晶晨的这CPU在智能机顶盒以及智能家居产品中很常见。采用四核64位 ARM® Cortex™-A53 CPU,GPU是五核ARM® Mali™-450。对付4K视频和常见游戏杠杠的。板子上有HDMI接口,要是这块可以开放给开发者就好玩了😍。

贴上CPU规格参数。RAM是2G的。

CPU下面,SEC是三星的内存。16GB,对于开发板来说可以放心的开发程序。下图是这块内存的规格。

左边那块上面贴着二维码,看不到芯片型号,不用猜就是WiFi模块了。查看CPU板的原理图,从引脚接口上面我判断是AP6255(WiFi 11ac + Bluetooth V4.2)。如有错误,请大神指正。板子上还有一个SPK接口,也就是音频输出接口。开发板不像若琪,需要自己接耳机才能听到声音,不想接耳机的可以自己接一个4欧3W的小喇叭。这个接口的驱动能力我没找到具体的多少,不过接个小喇叭是够用了。

最后是MIC板。

mic板上面是4个mic和12个彩色led灯。以及一块SN3236I544E,36路呼吸灯驱动芯片。支持每路单独256级细腻亮度可控。每个led灯有RGB三原色,也就是说每个灯可显示256*256*256=16777216色。也就是常说的1600万色。有12颗全彩LED,这配置的板子足够装逼了,要的就是光污染。主控器件通过12C接口对SN3236进行编程控制,I2C也是常见的通信协议。

mic使用的是Knowles的SiSonic™ 硅晶麦克风,尺寸小,灵敏度高(-26dB±3dB @ 94dB SPL)。数字麦克风还有个好处是可消除模拟噪声。

以上就是S905D开发板的硬件配置介绍。不得不说,rokid对开发者很上心,开发板都是送最贵的版本,赞😀。

软件体验

软件方面相信其他人已经有很好的介绍了,我这里就不多说了。S905D开发板提供安卓和Linux镜像,出厂默认是安卓。这块板子最让我兴奋的就是它的开放,官方开发者社区提供了很详细的开发文档。根据文档,给板子开发一个语音技能skill非常简单,用户只需要给自己的技能起一个朗朗上口的名字,然后定义用户的语音应该触发什么操作,再完成操作的具体功能。一个skill就完成了。这里最重要的语音识别和语义分析已经全部给开发者弄好了,剩下的事情就简单多了。使用这个skill可以搞很多事。

除了这种开发方式,更重要的是rokid提供更低层次的系统应用开发,用户可以调用系统api和操作硬件。对于前端开发人员来说,和硬件打交道是比较头疼的一件事。系统内置NodeJS引擎,可以使用熟悉的node开发应用、使用node调用硬件接口,开发无限可能,我相信前端er都是会玩的。

搞事情

既然有了语音识别开发板,不能让它吃灰啊,开发板就要开发。怎么开发?开发啥?肯定是当下最火的物联网,语音控制我们家里的电器。rokid本身就自带了智能设备控制,在app上配置一下支持的设备就行了。比如智能插座,智能灯泡之类的,然后就可以装逼的说:‘若琪,打开空调’。这不在讨论范围内,直接买成品就行了。我们要做的是根据咱自己的需求个性化开发(其实我就是穷,买不起这么多智能设备😭只能自己开发了)。

要控制设备,得有个实体或者平台和硬件对接,然后编写硬件驱动,最后控制设备。对前端来说,树莓派就是个很好的平台。这里打个广告。树莓派NodeJs万能硬件驱动,驱动硬件就是这么简单

我们先实现让rokid播放家里的传感器数据,例如当温度过高或过低时让rokid语音提醒是否要打开空调,当湿度过低时rokid提醒是否要打开加湿器。然后就可以通过智能插座控制加湿器或空调的电源,对rokid说:‘若琪,打开加湿器’。是不是很装逼?传感器数据收集和管理使用树莓派,传感器驱动使用上面的oneDevice驱动。使用rokid提供的webhook从树莓派推送数据给rokid播放。温湿度传感器使用DHT11,某宝上面4块钱就可以搞定。

使用node编写一个定时器,不停的读取传感器数据,然后当温度或湿度超出范围时,就向绑定的rokid的webhook发送一个请求。webhook介绍看这里,这篇文章只是简单介绍,硬件和驱动都有了,具体实现这里就不说了,自行开发完成。有兴趣的还可以自己添加更多酷的技能。需要帮助或者有什么不懂的,可以联系我。联系方式oneDevice有,也可以回复评论。这只是第一步搞点简单的事,后面可以继续添砖加瓦。

继续搞事情

搞完了代码的事情,就可以跑起来了。但是总觉得还不够😕。裸奔的开发板放在桌面上,很有极客的感觉,但咱们是前端er,颜值至上啊。得用个什么东西把它包起来,总之别让人感觉这是个半成品。

既然是AI语音开发板,那咱们就做个机器人的样子。刚好板子的形状是个圆柱形,不大,我想起了一款很萌的机器人:方小方(这里不是打广告,没收钱,特此声明)。把rokid开发板放到方小方的脑袋里,是不是更像是智能机器人。

咱前端er本着搞事情不怕大的精神,撸起袖子,说干咱就干啊!入个3D打印机吧:see_no_evil::point_right::pill:

这是我建模的渲染图。

下图是入手的3D打印机。

最后把开发板放到头里面去,在放一个小喇叭,接SPK口,这样就不用接耳机了。电源接口需要开个口,电源才能插上,这个我忘记了。最终实物还在调试中,3D打印出来的有些地方有瑕疵,以及开口处要怎么连接,还有就是上色问题。总之,就是生命不息,折腾不止吧。好了,就写这么多了,本人水平有限,各位如发现有错误的请指正。

福利

最后,如各位有更好看的模型或想法,欢迎和我交流,采纳后我可以免费帮你打印出来,并送你一个。


(大发) #2

赞好文

赞福利

:kissing_heart:


(大发) #3

(席席) #4

求打印一个贾维斯


(bluescode) #5

有模型吗?有的话可以发上来看看,适合打印帮你打出来


(大发) #6

3d打印个格拉斯参加一波黑科技啊