注: 本次开发板是掘金联合 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 打印机吧
这是我建模的渲染图
下图是入手的 3D 打印机
最后把开发板放到头里面去, 在放一个小喇叭, 接 SPK 口, 这样就不用接耳机了电源接口需要开个口, 电源才能插上, 这个我忘记了最终实物还在调试中, 3D 打印出来的有些地方有瑕疵, 以及开口处要怎么连接, 还有就是上色问题总之, 就是生命不息, 折腾不止吧好了, 就写这么多了, 本人水平有限, 各位如发现有错误的请指正
福利
最后, 如各位有更好看的模型或想法, 欢迎和我交流, 采纳后我可以免费帮你打印出来, 并送你一个
来源: https://juejin.im/post/5a9a027df265da239611d3e7