Inspiration
I enjoy using the Devpost hacks to learn new things. One thing I've never done before is try to integrate an API with Alexa. The FordConnect API is in early development, so it doesn't have a bunch of features yet like vehicle health or push notifications; so many of my ideas weren't possible. When I thought about the features available from the API, almost all of them fit nicely into being integrated into voice automation.
What it does
The "My Ford" skill is an Alexa skill that communicates with the FordConnect API to automate your vehicle. Just say "Alexa, open My Ford", and the skill we will reply with "Welcome to My Ford. How can I help?" Then say what you want to do:
- "Start vehicle.", "Cool the car", etc. will start the vehicle (the API doesn't let us cool it, but hopefully the car will be smart enough to automatically cool if its hot once the engine is on.)
- "Lock the doors on my Ford."
- "Unlock car."
- "Find the vehicle." or "Where is the truck?" finds the GPS coordinates then it figures out what address it is.
- "Is the tank empty?"
- "Is the car plugged in?"
- "When will my car be charged?" tells you the current charging schedule.
- "Begin charging." will start charging now, instead of waiting for the schedule.
- "Good night" will let you sleep comfortably -- knowing the doors are shut, the alarm is on, the car is plugged in or remind you how much fuel is in your tank so you know if you need to get up early and swing by the gas station.
How we built it
There are two components to this project.
- The first component is an Alexa skill (my-ford-skill) which registers a bunch of voice commands and ends up invoking the second component to do the heavy lifting.
- The second component is an Express server built in Nodejs (my-ford-service) which listens for intents and then invokes the FordConnect API.
Challenges we ran into
Alexa has a non-configurable timeout of 10 seconds, so you have to respond before then. The APIs can be sluggish at times, so I had to try to tune the retry timeouts and make multiple calls in parallel to complete within my 8 second SLA.
Accomplishments that we're proud of
It works! You can control the vehicle with your voice.
I learned how to make an Alexa skill, which was surprisingly easy. A also learned a little about AWS in general, as I poked around to understand the components that were deployed.
What we learned
I learned about Alexa skills and lambda functions.
What's next for My-Ford (Alexa powered Ford)
Add multiple users.
Log in or sign up for Devpost to join the conversation.