The Geek Biker

Rambles of a geek that rides a bike

Project Jeeves: Google Code

I have posted previously about Project Jeeves. The digital butler I coded. I decided to halt the coding and put it out there for the world to enjoy. It is downloadable here:

https://code.google.com/p/project-jeeves/

A warning and note as usual. I’ve developed this in my own time with no attention to detail/comments/structure. It was purely developed as I found solutions to problems I faced.

Here is the description I’ve added to Google’s site:

Started with me playing around with java code.

Features

  • Script-able actions on input commands
  • TCP input service
  • Voice recognition input service
  • Text to Speech output using Google text to speech
  • Text to Speech using local libraries if internet is unavailable
  • Serial (USB) output to control servos.
  • A minimalistic GUI
  • A web remote gui that was never finished.
  • Web camera interaction
  • Arduino -to-IR LED interaction to interact with remote driven devices. i.e. TVs, Radios etc.

Services hooked up

  • Gmail interaction. Read and act on emails
  • Google calendar interaction. Read appointments
  • News service reader
  • Weather service reader.
  • MP3 player.
  • Exchange rate reader

Jeeves also

  • Tells simple jokes
  • Give ‘random’ comments and feedback

Screen shot of minimal GUI initialising:

Screen shot of minimal GUI interaction response:

I almost forgot, there is even some code in there to act on a servo when Jeeves talks. I hooked this up to a 3D printed skull’s jaw. So each time Jeeves starts talking, the skull’s jaw moves.

Two videos of the skull (Geoff Jr) moving via a 2.4GHz controller which I replaced with the Jeeves servo controller:

And

Dev blog write ups

https://thegeekbiker.wordpress.com/2013/06/10/project-jeeves-the-digital-butler/

https://thegeekbiker.wordpress.com/2013/06/16/project-jeeves-a-musical-email-update/

https://thegeekbiker.wordpress.com/2013/06/23/project-jeeves-jeeves-the-observant/

Scripting

An example of a greeting script

 <actionItem>
    <commandReceived> 
      <command>greeteveryone</command>
      <commandType>action</commandType>
    </commandReceived>
    <actionToPerform><actionName>saysetspeech</actionName><params><param>greeteveryone1</param><param>greeteveryone2</param></params></actionToPerform>
 </actionItem>

An example of scripting the webcamera to take picture after a countdown

  <actionItem>
    <commandReceived> 
      <command>webcampicture</command>
      <commandType>action</commandType>
    </commandReceived>
    <actionToPerform><actionName>conditionaction</actionName><params><param>webcamactive</param><param>webcamnotactive</param></params></actionToPerform>
    <actionToPerform><actionName>saysetspeech</actionName><params><param>ack1</param><param>ack2</param><param>ack3</param><param>ack4</param><param>ack5</param></params></actionToPerform>
    <actionToPerform><actionName>saysetspeech</actionName><params><param>three</param></params></actionToPerform>
    <actionToPerform><actionName>saysetspeech</actionName><params><param>two</param></params></actionToPerform>
    <actionToPerform><actionName>saysetspeech</actionName><params><param>one</param></params></actionToPerform>
    <actionToPerform><actionName>webcamaction</actionName><params><param>webcampicture</param></params></actionToPerform>
    <actionToPerform><actionName>saysetspeech</actionName><params><param>picturetaken1</param><param>picturetaken2</param><param>picturetaken3</param></params></actionToPerform>
  </actionItem>
Advertisements

2 responses to “Project Jeeves: Google Code

  1. Reinhardt January 20, 2014 at 9:22 pm

    Right ho, Jeeves! Splendid job!

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: