Attached is my code to make this run. It's built using pygooglevoice
, a pretty powerful interface between Python and Google Voice. Login credentials can be stored directly in the pygooglevoice settings, which they are in my case. That's why you won't see them in the code.
I would love to show a video of it working, but it's going to have my actual phone numbers, and I don't want them out on the web. I trust the actual instructables folks, but given how targeted we are for SPAM, I don't want to give them out here. Nothing personal.
How it works:
The code first logs in using credentials stored in the pygooglevoice library. While that is happening, "Logging In" is displayed on the screen. Next, it waits for user input, displaying "Waiting". If you press the "*" key on the keypad, the display changes to "Dialing", and you are in dialing mode. Dial the phone number to call, and if you make a mistake, hit the "*" key again to clear the number. When you've dialed the number, press the "#" key to place the call, and the display updates to "Calling". When the call has been placed, the display updates to "Call Placed", waits a short time, and then goes back to waiting.
Your call gets placed using Google Voice, to the phone number you've configured in your account. Errors in logging in or connecting are displayed as well, if necessary.