Remotely control Mopidy media service using Amazon Alexa
- Want to control my home media center via Amazon Alexa voice control
- Control playback
- Change tracks
- Change volume
- Want to try Alexa dev stack (this is my first attempt)
- Alexa part
- You should create and define custom Alexa skill
- Skill should contain identity (how you will call it then, for example "Alexa, ask Mopidy to play")
- Skill should contain list in intents, meaning distinctive actions that it shold be capable of (like play, stop etc). Intent may have slots - place where some variable should be, like "Alexa, ask Mopidy to set volume {FIVE}"
- Skill should contain list of phrases mapped to each intent
- Service hook that will implement custom logic behind intents
- After skill definition is done you can enable it for your account
- Service part
- Should receive json requests from Alexa, already recognized and parsed, simlified just something like
{ "intent": "SetVolume", "slot": { "value": 10 } }
- Should do something with it and reply to Alexa with specific text that she should reply to user
- In my case put requst into IoT hub, where it can be captured by next layer of app
- Receive speach reply from service or notify user if device didn't reply within timeout
- Mopidy service part
- Should subscribe to IoT hub and wait for messages
- Upon receiving call appropriate JSON RPC service (or do chain of calls)
- Reply back to sender positive or negative response
More details within readme files of each section