Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
bob [2019/11/14 18:12] zashi created |
bob [2019/11/18 14:37] zashi |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | {{tag>software hardware go stupid}} | + | {{tag>software hardware go rpi stupid}} |
====== Bob The Skull ====== | ====== Bob The Skull ====== | ||
What should go here is an explanation of what this project is and why it exists. Instead, I'll say this: Alexa should be dumber and more annoying. | What should go here is an explanation of what this project is and why it exists. Instead, I'll say this: Alexa should be dumber and more annoying. | ||
+ | ===== Tests ===== | ||
- | ==== Hardware ===== | + | ==== Test 1 ==== |
+ | <html><iframe width="1033" height="581" src="https://www.youtube.com/embed/Ehz4RjqMQSQ" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></html> | ||
- | === Datasheets === | + | ===== Hardware ====== |
+ | |||
+ | * Raspberry Pi Model B+ (what I had lying around) | ||
+ | * Junk-bin USB-Wifi (dito) | ||
+ | * Custom Pi-Hat to interface with/drive hardware | ||
+ | * Some kind of not-too-shitty USB microphone | ||
+ | |||
+ | |||
+ | ==== Datasheets ==== | ||
Cause I know I'll need 'em. | Cause I know I'll need 'em. | ||
Line 13: | Line 23: | ||
| uln2801a (Darlington Pair IC) | https://www.mouser.com/datasheet/2/389/uln2801a-957494.pdf | | | uln2801a (Darlington Pair IC) | https://www.mouser.com/datasheet/2/389/uln2801a-957494.pdf | | ||
- | === Outputs === | + | ==== Outputs ==== |
All outputs need a 220 Ohm resistor as each Raspberry Pi GPIO can source 15mA @ 3.3V. | All outputs need a 220 Ohm resistor as each Raspberry Pi GPIO can source 15mA @ 3.3V. | ||
Line 29: | Line 39: | ||
- | === Inputs === | + | ==== Inputs ==== |
^ Name ^ GPIO Pin ^ Use ^ mA ^ Notes ^ | ^ Name ^ GPIO Pin ^ Use ^ mA ^ Notes ^ | ||
| Button | | | | | | Button | | | | | ||
| Photoresistor | | presence / movement detection | Can use to "smartly" add "oh hey there" / "hello" type messages | | | Photoresistor | | presence / movement detection | Can use to "smartly" add "oh hey there" / "hello" type messages | | ||
+ | |||
+ | |||
+ | ===== Software ===== | ||
+ | |||
+ | Alpine Linux + a Go application to control the hardware. Various Go packages to interact with AVS (Alexa Voice Service). | ||
+ | |||
+ | Custom animation library for various responses. | ||
+ | |||
+ | DSP software to match mouth movements to audio output (very simplistic). | ||
+ | |||
+ | ==== Crap I Have to Write ==== | ||
+ | |||
+ | * Wake Word Engine - Might be able to reuse the demo program from Amazon. It's C++ garbage. | ||
+ | * AVS system - Basically the bridge between the hardware and AVS | ||
+ | * Gesture / Animation Library - pre-defined routines for animating Bob | ||
+ | * The DSP / Speaking mechanism should probably go here | ||
+ | |||
+ | ==== Resuable Animations ==== | ||
+ | |||
+ | * Speaking | ||
+ | * Mouth movement tied to audio | ||
+ | * Medium brightness brain and eyes | ||
+ | * Thinking | ||
+ | * Pulsing Brain | ||
+ | * Front LEDs randomly blink on and off one at a time | ||
+ | * Eyes lit | ||
+ | * Listening / At Attention | ||
+ | * Brain Lit | ||
+ | * Eyes Lit | ||
+ | * Cheeky Emote | ||
+ | * Mouth Hangs open | ||
+ | * Winks one eye | ||
+ | * Deeply Confused | ||
+ | * Mouth stays mostly open (gaping gesture) | ||
+ | * Eyes wink randomly | ||
+ | * Brain blinks rapidly | ||
+ | * Blink red/orange front panel LED |