Movi
A library for communicating with the Audeme MOVI⢠Voice Control Shield. Be sure to read the documentation provided by Audeme here
Installation
1. git clone https://github.com/NationalAssociationOfRealtors/movi.git
2. mix do deps.get, deps.compile
3. iex -S mixUsage
View the Client API in Movi.Client you have access to the whole Low Level interface provided by MOVI Serial interface. All events are broadcast over Movi.Client.Events
Some usage examples
Assign a callsign
iex(1)> Movi.Client.callsign("Elixir")
:ok
iex(2)>
16:37:07.799 [debug] Event: %Movi.Event{code: 213, message: ["New", "callsign", "trained."]}
16:37:13.603 [debug] Event: %Movi.Event{code: 112, message: ["The", "call", "sign", "is:", "ELIXIR"]}
16:37:13.627 [debug] Event: %Movi.Event{code: 105, message: ["READY"]}Add sentence
iex(6)> Movi.Client.addsentence("turn lights on")
:ok
iex(7)>
16:39:14.370 [debug] Event: %Movi.Event{code: 211, message: ["Sentence", "added", "to", "cache."]}Train sentence
iex(9)> Movi.Client.trainsentences()
:ok
iex(10)>
16:41:26.138 [debug] Event: %Movi.Event{code: 212, message: ["Sentences", "trained."]}
16:41:31.872 [debug] Event: %Movi.Event{code: 112, message: ["The", "call", "sign", "is:", "ELIXIR"]}
16:41:31.896 [debug] Event: %Movi.Event{code: 105, message: ["READY"]}Say Sentence
iex(13)> Movi.Client.say("Elixir is awesome")
:ok
iex(14)>
16:42:14.039 [debug] Event: %Movi.Event{code: 150, message: ["SPEAKING"]}
16:42:16.323 [debug] Event: %Movi.Event{code: 151, message: ["END", "SPEAKING"]}Events for incoming speech recognition
iex(1)>
16:45:17.474 [debug] Event: %Movi.Event{code: 200, message: ["CALLSIGN", "DETECTED"]}
16:45:17.936 [debug] Event: %Movi.Event{code: 140, message: ["ACTIVELISTEN"]}
16:45:20.671 [debug] Event: %Movi.Event{code: 141, message: ["END", "ACTIVELISTEN"]}
16:45:21.277 [debug] Event: %Movi.Event{code: 201, message: ["TURN", "LIGHTS", "ON"]}
16:45:21.476 [debug] Event: %Movi.Event{code: 202, message: ["#0"]}