-
Prototyping sources
08/20/2014 at 03:30 • 0 commentsThe final goal is a something with a custom circuit board. In the meantime, Build Logger has to be prototyped from existing parts. Here's what I'm thinking so far:
- A Digix for the brain. It is an Arduino Due-compatible board with Wifi, a web server, and SD card socket.
- The EasyVR Shield 2.0 for voice commands.
- An Emic 2 Text-To-Speech module.
- A small speaker and simple custom audio amplifier.
- A voice recorder breakout board. This will offload audio sampling from the main CPU and should give better quality.
- and probably several Go-Between Shields so everything plugs in easily.
For now, I'm not going to worry too much about a battery. From prior experience, I know the Digix will run forever on a small solar panel and battery pack, so the extra peripherals can't be all that much load.
-
Voice commands
08/20/2014 at 03:18 • 0 comments"Voice command" does not equal "Speech recognition". That is, Build Logger supports a very limited set of sounds ("words") that it recognizes as command tokens. When the right set of tokens has been provided, an action is performed.
It is important to know when to interpret the stream of tokens. People get.. ooo a bird... interrupted all the time. Some even exclaim loudly when a solder blob misbehaves mid-command. As such, instructions need prefix and suffix markers. Tokens/words can be ignored until a prefix is found, such as "Command". Then the words accumulate until a suffix is found. Naturally, the accumulator is cleared if too much time passes or too many words are spoken.
A resulting command structure could be:
Command session - begin a build session with associated reminders to collect data
Command stop session - end the build session. Can also happen due to inactivity.
Command record - begin audio recording for use during audio tours and later note-taking.
Command timer - start a count-up timer without a limit.
Command stop - stop the current recording or timer. If a timer is stopped, its timer's final minute duration is spoke.
Command status - speak the timer's current minute duration (and any other short status information)
Command [numbers] timer - start a count-down timer for the given minutes duration.
-
What about XYZ?
08/20/2014 at 03:01 • 0 commentsBuild Logger (BL) has a lot of features that sure feel familiar: text to speech, voice commands, storage, web server, etc. It's no wonder people ask "What about just using your phone? It has a microphone and Internet access."
Yes, yes it does. It is not a web server though. Anything the phone posts to the Internet can only be found while.on.the.Internet. This really is where the inspiration for a new bridging technology comes from. The phone has GPS but it can't know anything unless it checks some central registry of cool GPS locations and someone registers the exacting GPS location of their project. It just doesn't work for ad-hoc things like Maker Faires or even Open Make nights at the local hackerspace.
For that, you need the project being shown to advertise itself. It needs to be fully self contained so no Internet connection is required to serve information to someone standing right next to it. (Besides, have you seen the Internet connection request forms at a Maker Faire?) Its self contained nature gives it its greatest strengths.
Strength: It must serve a complete web site about the project, highlighting the entire build timeline. This is a web site of static HTML5 files and images that can be copy-n-pasted to web host for larger sharing.
Strength: To collect the required information, it must connect to easy sources of data. Namely camera phones and keyboards made for Twitter-length thoughts. That is, to be self contained for the end viewer, it must be fully connected for the builder.
-
Use case for the observer
08/20/2014 at 02:48 • 0 commentsA typical use case for an observer of the logged project.
I've been wandering Maker Faire all day, especially interested in someone that's used those strange small bearings. You know the ones, right? Hey, my Build Logger app just buzzed my phone. There's a project nearby that actually uses them! Tap. Ah, I see the pictures. It looks so easy. There must be more.
"Hi there! I see you used the mark 7 bearings. How'd you mount them so level?"
"I'm glad you asked. Command record."
-
Use case for the Maker
08/20/2014 at 02:42 • 1 commentAn example use case from the builder's perspective.
I turn on lights in the workshop. BL (Build Logger) speaks "Welcome" and I respond by speaking "Command start session". BL fully awakens, making Internet connections, opening its local web server, powering up all peripherals, and checking its SD card for consistency.
BL speaks "Remember Pictures". I grab my phone, tap the BL app, and snap a few shots of the bench, the pile of wood screws I just got from the store, and half opened Amazon box of goodies.
First things first, I caulk some cracks. That'll need time to dry. "Command one five start" and a 15 minute timer starts with an obliging "Beep" (the spoken word not the noise, because it's cooler).
Setting that aside, its time to solder. Holding a part in hand, "Command ef eee tee tee oh two two zero pinout". "Ground one drain two source three" comes back and that pesky FET's fate is sealed.
"Feed me". Ok, "Command record". "Hi again. Today, we're building the power supply for the next generation build logger. It's tricky because..." (spoiler removed) "... Command stop." Good, that'll really help with writing the next blog post.
"Command end session."