安卓otto

by Flavio De Stefano

由弗拉维奥·德·斯特凡诺(Flavio De Stefano)

奥托(Otto)背后的硬件:猴子长毛绒,成为我的声音助手 (The hardware behind Otto: a monkey plush which became my vocal assistant)

Otto is a monkey plush that we found in a highway store during a trip with my girlfriend in February 2017.

奥托(Otto)是我们在2017年2月与我的女友旅行时在高速公路商店发现的猴子长毛绒。

Its ability, while being extremely cute, was to listen to you, then walk and repeat all things with a higher pitch.

它的功能虽然非常可爱,但是却能倾听您的声音,然后走路并以更高的音调重复所有事情。

My goal was to make it more powerful by transforming it into a vocal assistant.

我的目标是通过将其转换为声音助手来使其更强大。

This is the first part of a series about Otto.

这是关于奥托系列的第一部分。

Originally, it was composed by the following hardware:

最初,它是由以下硬件组成的:

  • A motor connected to his legs for allowing him to walk电机连接到他的双腿,使他可以走路
  • A simple, closed (for modifications), built-in board一个简单的封闭式(用于修改)内置板
  • A microphone and a speaker麦克风和扬声器
  • A push button to start the listening phase一个按钮开始收听阶段
  • Four AA batteries四节AA电池
  • A switch to completely power off the circuit完全切断电路电源的开关

I wanted to replace all these things with fresh and programmable hardware.

我想用新的可编程硬件代替所有这些东西。

The real challenge here was to find the rights components that fitted in the original enclosure. The available space wasn’t much, so every choice had to be done conscientiously.

真正的挑战是找到原始机箱中安装的版权组件。 可用空间不多,因此必须认真进行每个选择。

基板 (Base board)

The preferred hardware for this project are Raspberry PI boards.

此项目的首选硬件是Raspberry PI板。

They are tiny and powerful enough to allow developers to use a high-level programming language and built-in libraries without flashing the software every-time.

它们非常小巧,功能强大,足以使开发人员能够使用高级编程语言和内置库,而无需每次都刷新软件。

Furthermore, you can debug your application in a more comfortable environment.

此外,您可以在更舒适的环境中调试应用程序。

The best hardware at the time was the Raspberry Pi Zero W. Launched at the end of February 2017, the Pi Zero W has all the functionality of the original Pi Zero but with added connectivity.

当时最好的硬件是Raspberry Pi Zero W.Pi Zero W于2017年2月推出,具有原始Pi Zero的所有功能,但具有附加的连接性。

The board was not enough for such a project, so I added additional hardware.

该板还不足以进行此类项目,因此我添加了其他硬件。

音频组件 (Audio components)

To build a vocal assistant, we need audio components. The requirements for these components are, of course, a speaker and a microphone.

要构建人声助手,我们需要音频组件。 这些组件的要求当然是扬声器和麦克风。

For the microphone, I tried a USB microphone. The problem with this accessory was that it was not sensible as I wished. Furthermore an additional USB hub was required to connect it.

对于麦克风,我尝试了USB麦克风。 该配件的问题在于它不符合我的期望。 此外,还需要一个额外的USB集线器来连接它。

Moreover, I couldn’t connect a raw speaker easily.

而且,我无法轻松连接原始扬声器。

For this reason, I opted to buy an additional board that accomplished this task very well: ReSpeaker 2-Mics Pi HAT.

出于这个原因,我选择购买另外一块可以很好地完成此任务的主板: ReSpeaker 2-Mics Pi HAT。

ReSpeaker 2-Mics Pi HAT is a dual-microphone expansion board for Raspberry Pi designed for AI and voice applications.

ReSpeaker 2-Mics Pi HAT是用于Raspberry Pi的双麦克风扩展板,专为AI和语音应用而设计。

The board is developed based on WM8960, a low power stereo codec. There are 2 microphones on both sides of the board for collecting sounds. It also provides 3 APA102 RGB LEDs, 1 User Button and 2 on-board Grove interfaces.

该开发板基于低功耗立体声编解码器WM8960开发。 评估板的两侧都有2个麦克风,用于收集声音。 它还提供3个APA102 RGB LED,1个用户按钮和2个板载Grove接口。

I did not plan to connect LEDs to my board, but the fact that this HAT has built-in LEDs made me think to use them.

我不打算将LED连接到板上,但是这个HAT内置了LED的事实使我考虑使用它们。

Then I took an old Bluetooth mini-speaker, disassembled it, and connected it to the JST 2.0 Speaker Out port.

然后,我拿起旧的蓝牙微型扬声器,将其拆解,然后将其连接至JST 2.0 Speaker Out端口。

To make it work, you have to install their drivers on your board. Drivers are also used to control LEDs within your application via a standard protocol.

要使其工作,您必须在板上安装其驱动程序。 驱动器还用于通过标准协议控制应用程序中的LED。

Hint: when you install a shield, all your GPIO pins are covered. It’s useful to know which pins are really used by your board. To accomplish that, use https://pinout.xyz/

提示:安装屏蔽时,所有GPIO引脚均被覆盖。 了解主板上确实使用了哪些引脚很有用 为此,请使用https://pinout.xyz/

For example, for this board, check out this link: https://pinout.xyz/pinout/respeaker_2_mics_phat

例如,对于此板,请查看以下链接: https : //pinout.xyz/pinout/respeaker_2_mics_phat

为电路板供电 (Powering the board)

The Raspberry Pi board can be easily powered via USB 5V input. The problem with this approach is that you have to buy a battery pack and connect it via USB.

Raspberry Pi板可通过USB 5V输入轻松供电。 这种方法的问题在于,您必须购买电池组并通过USB连接。

I didn’t find any battery pack small enough to fit my plush, then my unique alternative was using LiPo batteries.

我没有找到足够小的电池组来容纳我的长毛绒,所以我唯一的选择是使用锂聚合物电池。

You can’t connect your LiPo battery to your board, you have to use a converter. It can be powered by any 3.7V LiIon/LiPoly battery, and then it converts the battery output to 5.2V DC.

您不能将LiPo电池连接到板上,必须使用转换器。 它可以由任何3.7V锂离子/锂聚合物电池供电,然后将电池输出转换为5.2V DC。

Initially I bought a LiPo SHIM, but I didn’t notice that this controller provides power to your board without charging your batteries.

最初,我购买了LiPo SHIM ,但没有注意到该控制器无需充电即可为您的电路板供电。

For this reason I switched to Adafruit PowerBoost 500 Charger. It has a built-in battery charger circuit. You’ll be able to keep your project running even while charging the battery!

因此,我改用了Adafruit PowerBoost 500充电器。 它具有内置的电池充电器电路。 即使给电池充电,您也可以保持项目运行!

附加硬件 (Additional hardware)

The software uses the “hotword” concept to start the interaction. Basically, it continuously listens for an hotword, like “Hey Otto”, then you just talk and say commands.

该软件使用“ hotword”概念来启动交互。 基本上,它会不断听取“ Hey Otto”之类的热词,然后您只需说说命令即可。

For having an alternative method to start the interaction, I installed a push button connected directly to the GPIO board, at GPIO8 pin.

为了有一种替代方法来启动交互,我在GPIO8引脚上安装了一个直接连接到GPIO板的按钮

Now only one thing was missing: the power on-off switch.

现在只缺少一件事: 电源开关。

I connected this simple component to the PowerBoost Charger via its ENABLE port. The purpose of the ENABLE port is to disconnect the output completely.

我通过其ENABLE端口将此简单组件连接到PowerBoost充电器。 ENABLE端口的目的是完全断开输出。

将所有内容连接在一起 (Connect everything together)

Here you can see in details the complete circuit diagram (https://www.circuit-diagram.org/circuits/0d85ce05)

在这里,您可以详细查看完整的电路图( https://www.circuit-diagram.org/circuits/0d85ce05 )

And here a snapshot of the work:

这是工作的快照:

翻译自: https://www.freecodecamp.org/news/the-hardware-behind-otto-a-monkey-plush-which-became-my-vocal-assistant-96a25c634021/

安卓otto

安卓otto_奥托(Otto)背后的硬件:猴子长毛绒,成为我的声音助手相关推荐

  1. 国产安卓 OS 顶梁柱 ColorOS 背后的内核技术工作者

    在 OPPO 做技术也要有用户驱动设计理念 近几年 OPPO ColorOS 系统体验突飞猛进,用户口碑也是一路飙升,ColorOS 在每次更新都能在带来全新功能的同时,性能与流畅度也有不同程度的提升 ...

  2. 魅族PRO7成像出色的背后:硬件高规格成就拍照高水准

    魅族PRO7为何能站进双摄手机第一梯队?硬件是关键 魅族PRO 7,是魅族高端系列的最新力作,除了一如既往的高颜值外观之外,极具创新的"画屏"设计也是该机的一大亮点.不过,最值得一 ...

  3. 安卓手机卡顿怎么解决_硬件与软件的赛跑导致苹果系统闪退,安卓手机卡顿,可你们选谁呢...

    在手机界,总是流传这样的一句话,安卓手机用久了就会卡,不管处理器多好,还是会有这样的情况发生.那么你们知道吗,苹果系统虽然流畅,可还有它的一句话,是用久了会闪退. 为什么会出现这样的情况,我们不妨来分 ...

  4. 深度linux支持安卓,深度操作系统 V20(1003)内测版招募:新增手机助手,支持安卓和 iOS 端,管理手机应用、文件...

    IT之家9月28日消息 深度操作系统今天发布深度操作系统 20(1003)内测活动招募说明,IT之家获悉,本次操作系统将新增手机助手,支持安卓和iOS端,方便管理手机应用.文件等. 更新说明: 1.新 ...

  5. 谷歌硬件战略缺陷:无法围绕谷歌助手打造硬件体系

    来源:元器件交易网 概要:谷歌希望大规模销售基于谷歌助手的硬件,战略调整或许是其中重要的一步. 谷歌是否犯了重大错误? 谷歌正在以"人工智能优先"的战略取代此前"移动优先 ...

  6. 苹果手机能有软件测试硬件是否给更换过,爱思助手等第三方软件检测靠谱吗?果粉必须了解!...

    原标题:爱思助手等第三方软件检测靠谱吗?果粉必须了解! 用苹果的机友们,想必都知道爱思助手.沙漏助手.PP助手吧! 我们今天来讲下使用这种第三方工具来检测手机是否真伪,到底靠不靠谱呢? 以爱思助手为例 ...

  7. 爱思助手安卓能用吗_专业的苹果越狱工具:爱思助手!

    本文由绿盒下载站原创(www.42xz.com) 欢迎关注微信公众号"绿盒下载站" 爱思助手是一款专业的苹果刷机助手,里面包含了苹果软件.热门游戏.苹果铃声.高清壁纸等多功能,能帮 ...

  8. 类似matlab安卓,【Android 杂货派】理科生神器 Matlab、联通网络解锁助手、高颜值的糖果色任务列表等上新...

    新鲜的货物再次上架.我们几个派老板会从各大应用商店进点杂货,所谓杂货,上到优质的应用,中到实用的教程,下到热腾腾的行业资讯,只为丰富大家的玩机体验,当然还保质保量.以下是今日杂货派上架的新玩意,欢迎挑 ...

  9. 智能硬件android接口,Hippo-ADK:将安卓手机变为智能硬件创造工具

    如今,智能手机尤其是安卓机的更新换代越来越快,相信很多人拥有不只一台淘汰的安卓手机. 对于这些"拿来无用,抛弃可惜"的旧手机,是否有一种方式让它们重新焕发生机呢?来自深圳的Hipp ...

最新文章

  1. Ubuntu14.04 32位上编译VLC2.2.0源码操作步骤
  2. Windows Phone 7 Tip (4) -- User Agent
  3. 像数据分析一样写 Web 页面,这个 Python 库做到了!
  4. 移动端、PC端网站优化需齐头并进
  5. 需求分析的过程是什么?_7大需求分析方法与5大分析过程
  6. response获取响应内容_Project Reactor 深度解析 - 1. 响应式编程介绍,实现以及现有问题
  7. mysql使用字符函数length,获取参数值的字节个数
  8. ONGC的完整形式是什么?
  9. SpringBoot踩坑记录 Invalid bound statement (not found)引发的一些列问题
  10. wifi软件linux版本,[转载]Wii安装运行可用WIFI的Linux系统全攻略
  11. Java线程池execute()方法源码解析
  12. spirng cloud docker部署
  13. 【C语言】指针进阶 - 指针数组 数组指针 数组指针传参 函数指针 指向函数指针数组的指针
  14. PHP中输出本地时间
  15. LINQ的ORM功能中对使用sp_executesql语句的存储过程的支持
  16. 什么是编译性语言、解释性语言和脚本语言
  17. 话筒在multisim怎么找_基于Multisim软件的调频无线话筒仿真
  18. 百度指数python爬虫的简单应用
  19. 又一所“省会大学”,来了!
  20. python 计算两直线交点

热门文章

  1. 时间序列预测 EViews
  2. DL4J实战之一:准备
  3. Windows XP 的最高版本 .net framework 安装
  4. jade选峰之后怎么去掉_jade怎么把峰标出来
  5. Nodejs vm/vm2沙箱逃逸
  6. 计算机右击加设备管理器,win10系统计算机右键菜单添加设备管理器的还原步骤...
  7. 教你如何教育你的猫咪
  8. Android SVG动画详细例子
  9. 教研室课题---卫星通信系统
  10. 门户网站建设需要注意什么