SlideShare ist ein Scribd-Unternehmen logo
1 von 11
Voice controlled Home
Automation
Using Amazon Alexa and PubNub
This is the basic hardware
setup. Raspberry Pi 3 with a
USB Microphone, speakers.
HDMI connection,
keyboard/mouse are not
shown for simplicity.
A beaglebone black with an
LED connected on a GPIO.
Both boards connected to
Internet.
Internet
Internet
We also need accounts on
Amazon developer, Heroku
and PubNub.
Amazon hosts Alexa voice
service and our skill.
Heroku hosts our skill
adapter code.
PubNub is used for message
passing from skill adapter to
beaglebone.
Skill adapter code
as web service
Publish /
Subscribe
architecture
Internet
Internet
•Alexa voice service
•Alexa Skill (‘My home’)
Subscribed to PubNub
channel ‘alexa_world’
Skill adapter code
as web service
Publish /
Subscribe
architecture
Running Alexa app
with wakeword agent
Internet
Internet
•Alexa voice service
•Alexa Skill (‘My home’)
Run the Alexa app on
Raspberry Pi.
Run the PubNub subscribing
and GPIO controller code on
beaglebone.
Alexa app is continuously
listening for the keyword
‘Alexa’. When user speaks
the keyword, the app listens
to the voice until a pause. In
this case it is the sentence
‘Alexa, ask my home to turn
on bedroom light’.
•Alexa voice service
•Alexa Skill (‘My home’)
Skill adapter code
as web service
Publish /
Subscribe
architecture
Alexa, ask
My Home
to turn on
bedroom
light
Running Alexa app
with wakeword agent
Subscribed to PubNub
channel ‘alexa_world’
Internet
Internet
Alexa app sends the audio to
Alexa voice service running
in Amazon cloud
(developer.amazon.com)
along with device
authentication details and
other metadata.
Audio
Skill adapter code
as web service
Publish /
Subscribe
architecture
Alexa, ask
My Home
to turn on
bedroom
light
Running Alexa app
with wakeword agent
Subscribed to PubNub
channel ‘alexa_world’
Internet
Internet
•Alexa voice service
•Alexa Skill (‘My home’)
In this case, the intent is
to ‘turn on’ something and
the slot is ‘bedroom light’.
This data is then passed on
to Heroku web service
endpoint running skill
adapter code.
Alexa voice service
interprets the voice and
determines that this is a
request for the skill ‘My
home’. It then further
decodes the voice data and
parses it into an intent
(action to be done)
and slot (object to be
acted upon).
Audio
Skill adapter code
as web service
Publish /
Subscribe
architecture
Alexa, ask
My Home
to turn on
bedroom
light
Parsed data to Skill adapter
Intent: “Turn on”
Slot: “Bedroom light”
Running Alexa app
with wakeword agent
Subscribed to PubNub
channel ‘alexa_world’
Internet
Internet
•Alexa voice service
•Alexa Skill (‘My home’)
Skill adapter code processes
the intent and publishes a
message to PubNub network
on channel named
‘alexa_world’. This message
contains command as
‘TURN_ON’ and gadget as
‘bedroom light’.
Audio
Skill adapter code
as web service
Publish /
Subscribe
architecture
Alexa, ask
My Home
to turn on
bedroom
light
Parsed data to Skill adapter
Intent: “Turn on”
Slot: “Bedroom light”
Publish message to
channel ‘alexa_world’:
Command: “TURN_ON”
Gadget: “bedroom light”
Running Alexa app
with wakeword agent
Subscribed to PubNub
channel ‘alexa_world’
Internet
Internet
•Alexa voice service
•Alexa Skill (‘My home’)
Skill adapter also sends an
ACK to voice service which is
passed back to the alexa app
running on pi. This can
contain a voice feedback
such as “Ok”
Audio
Skill adapter code
as web service
Publish /
Subscribe
architecture
Alexa, ask
My Home
to turn on
bedroom
light
Parsed data to Skill adapter
Intent: “Turn on”
Slot: “Bedroom light”
Publish message to
channel ‘alexa_world’:
Command: “TURN_ON”
Gadget: “bedroom light”
Running Alexa app
with wakeword agent
Subscribed to PubNub
channel ‘alexa_world’
Internet
Internet
•Alexa voice service
•Alexa Skill (‘My home’)
“Ok”
(Voice
feedback)
ACK from
skill adapter
(with voice
feedback)
PubNub network sends out
the same message to all
devices subscribed to
channel ‘alexa_world’. In this
case, the beaglebone is
subscribed to this channel
and hence receives the
message.
Audio
Skill adapter code
as web service
Publish /
Subscribe
architecture
Alexa, ask
My Home
to turn on
bedroom
light
Parsed data to Skill adapter
Intent: “Turn on”
Slot: “Bedroom light”
Publish message to
channel ‘alexa_world’:
Command: “TURN_ON”
Gadget: “bedroom light”
Send message to subscribers
of channel ‘alexa_world’:
Command: “TURN_ON”
Gadget: “bedroom light”
Running Alexa app
with wakeword agent
Subscribed to PubNub
channel ‘alexa_world’
Internet
Internet
•Alexa voice service
•Alexa Skill (‘My home’)
ACK from
skill adapter
(with voice
feedback)
Audio
Skill adapter code
as web service
Publish /
Subscribe
architecture
Alexa, ask
My Home
to turn on
bedroom
light
Parsed data to Skill adapter
Intent: “Turn on”
Slot: “Bedroom light”
Publish message to
channel ‘alexa_world’:
Command: “TURN_ON”
Gadget: “bedroom light”
Send message to subscribers
of channel ‘alexa_world’:
Command: “TURN_ON”
Gadget: “bedroom light”
Running Alexa app
with wakeword agent
Subscribed to PubNub
channel ‘alexa_world’
Internet
Internet
•Alexa voice service
•Alexa Skill (‘My home’)
Beaglebone then processes
received message and turns
on the GPIO corresponding
to ‘bedroom light’.
ACK from
skill adapter
(with voice
feedback)

Weitere ähnliche Inhalte

Was ist angesagt?

Valentyn Buleiko “Shedding light on the possibilities of voice assistants by ...
Valentyn Buleiko “Shedding light on the possibilities of voice assistants by ...Valentyn Buleiko “Shedding light on the possibilities of voice assistants by ...
Valentyn Buleiko “Shedding light on the possibilities of voice assistants by ...
Lviv Startup Club
 
Building Boston Rail - An Alexa Skill
Building Boston Rail - An Alexa SkillBuilding Boston Rail - An Alexa Skill
Building Boston Rail - An Alexa Skill
Charles J Christina
 

Was ist angesagt? (20)

Final preso ve mote
Final preso ve moteFinal preso ve mote
Final preso ve mote
 
Controlling gadgets with amazon Alexa - June 2018
Controlling gadgets with amazon Alexa - June 2018Controlling gadgets with amazon Alexa - June 2018
Controlling gadgets with amazon Alexa - June 2018
 
Alexa-Maria Carmela Dipinto
Alexa-Maria Carmela DipintoAlexa-Maria Carmela Dipinto
Alexa-Maria Carmela Dipinto
 
Alexa Skills Kit
Alexa Skills KitAlexa Skills Kit
Alexa Skills Kit
 
David Isbitski - Enabling new voice experiences with Amazon Alexa and AWS Lambda
David Isbitski - Enabling new voice experiences with Amazon Alexa and AWS LambdaDavid Isbitski - Enabling new voice experiences with Amazon Alexa and AWS Lambda
David Isbitski - Enabling new voice experiences with Amazon Alexa and AWS Lambda
 
WKS403 Build an Alexa Skill using AWS Lambda
WKS403 Build an Alexa Skill using AWS Lambda WKS403 Build an Alexa Skill using AWS Lambda
WKS403 Build an Alexa Skill using AWS Lambda
 
Amazon alexa
Amazon alexa Amazon alexa
Amazon alexa
 
Voice interfaces
Voice interfacesVoice interfaces
Voice interfaces
 
Lex vs alexa
Lex vs alexaLex vs alexa
Lex vs alexa
 
Top 10 alexa use cases
Top 10 alexa use casesTop 10 alexa use cases
Top 10 alexa use cases
 
Amazon Alexa Working
Amazon Alexa Working Amazon Alexa Working
Amazon Alexa Working
 
Valentyn Buleiko “Shedding light on the possibilities of voice assistants by ...
Valentyn Buleiko “Shedding light on the possibilities of voice assistants by ...Valentyn Buleiko “Shedding light on the possibilities of voice assistants by ...
Valentyn Buleiko “Shedding light on the possibilities of voice assistants by ...
 
Building Boston Rail - An Alexa Skill
Building Boston Rail - An Alexa SkillBuilding Boston Rail - An Alexa Skill
Building Boston Rail - An Alexa Skill
 
DIY Your Amazon Echo
DIY Your Amazon EchoDIY Your Amazon Echo
DIY Your Amazon Echo
 
Voice is the New Keyboard - Voice Interfaces in 2018 and Beyond
Voice is the New Keyboard - Voice Interfaces in 2018 and BeyondVoice is the New Keyboard - Voice Interfaces in 2018 and Beyond
Voice is the New Keyboard - Voice Interfaces in 2018 and Beyond
 
Preso #3 vemote
Preso #3 vemotePreso #3 vemote
Preso #3 vemote
 
Alexa enabled smart home programming in Python - PyCon India 2018
Alexa enabled smart home programming in Python - PyCon India 2018Alexa enabled smart home programming in Python - PyCon India 2018
Alexa enabled smart home programming in Python - PyCon India 2018
 
Teaching Kids to create Alexa Skills
Teaching Kids to create Alexa SkillsTeaching Kids to create Alexa Skills
Teaching Kids to create Alexa Skills
 
Alexa techological gadgets
Alexa techological gadgetsAlexa techological gadgets
Alexa techological gadgets
 
Hacking your coffee maker; building a connected appliance with Netduino and X...
Hacking your coffee maker; building a connected appliance with Netduino and X...Hacking your coffee maker; building a connected appliance with Netduino and X...
Hacking your coffee maker; building a connected appliance with Netduino and X...
 

Ähnlich wie Voice controlled home automation

Ähnlich wie Voice controlled home automation (20)

AWS re:Invent 2016: Workshop: Build an Alexa-Enabled Product with Raspberry P...
AWS re:Invent 2016: Workshop: Build an Alexa-Enabled Product with Raspberry P...AWS re:Invent 2016: Workshop: Build an Alexa-Enabled Product with Raspberry P...
AWS re:Invent 2016: Workshop: Build an Alexa-Enabled Product with Raspberry P...
 
AWS re:Invent 2016: Voice-enabling Your Home and Devices with Amazon Alexa an...
AWS re:Invent 2016: Voice-enabling Your Home and Devices with Amazon Alexa an...AWS re:Invent 2016: Voice-enabling Your Home and Devices with Amazon Alexa an...
AWS re:Invent 2016: Voice-enabling Your Home and Devices with Amazon Alexa an...
 
Alexa Skills Kit with Web API on Azure
Alexa Skills Kit with Web API on AzureAlexa Skills Kit with Web API on Azure
Alexa Skills Kit with Web API on Azure
 
2021-08-WIFI-Control-and-Intelligent-Speakers.pptx
2021-08-WIFI-Control-and-Intelligent-Speakers.pptx2021-08-WIFI-Control-and-Intelligent-Speakers.pptx
2021-08-WIFI-Control-and-Intelligent-Speakers.pptx
 
Voice interface project
Voice interface projectVoice interface project
Voice interface project
 
Amazon Alexa Workshop
Amazon Alexa WorkshopAmazon Alexa Workshop
Amazon Alexa Workshop
 
Smart Speakers, Digital Assistants, AI, and Home Automation
Smart Speakers, Digital Assistants, AI, and Home AutomationSmart Speakers, Digital Assistants, AI, and Home Automation
Smart Speakers, Digital Assistants, AI, and Home Automation
 
Alexa Smart Home Skill
Alexa Smart Home SkillAlexa Smart Home Skill
Alexa Smart Home Skill
 
Building Smart Home skills for Alexa
Building Smart Home skills for AlexaBuilding Smart Home skills for Alexa
Building Smart Home skills for Alexa
 
DIY Ceiling Fan Automation at Hackware 3.0
DIY Ceiling Fan Automation at Hackware 3.0DIY Ceiling Fan Automation at Hackware 3.0
DIY Ceiling Fan Automation at Hackware 3.0
 
Voice control and voice command for smart home solutions - Alexandre Rieupey...
Voice control and voice command for smart home solutions  - Alexandre Rieupey...Voice control and voice command for smart home solutions  - Alexandre Rieupey...
Voice control and voice command for smart home solutions - Alexandre Rieupey...
 
Amazon Alexa
Amazon AlexaAmazon Alexa
Amazon Alexa
 
Using Alexa, IFTTT and Watson IoT Platform to control ble devices
Using Alexa, IFTTT and Watson IoT Platform to control ble devicesUsing Alexa, IFTTT and Watson IoT Platform to control ble devices
Using Alexa, IFTTT and Watson IoT Platform to control ble devices
 
Amazon alexa - building custom skills
Amazon alexa - building custom skillsAmazon alexa - building custom skills
Amazon alexa - building custom skills
 
Amazon Alexa and Echo
Amazon Alexa  and EchoAmazon Alexa  and Echo
Amazon Alexa and Echo
 
Building Voice Controls and Integrating with Automation Actions on an IoT Net...
Building Voice Controls and Integrating with Automation Actions on an IoT Net...Building Voice Controls and Integrating with Automation Actions on an IoT Net...
Building Voice Controls and Integrating with Automation Actions on an IoT Net...
 
ALX307_Integrate Alexa into Your Product
ALX307_Integrate Alexa into Your ProductALX307_Integrate Alexa into Your Product
ALX307_Integrate Alexa into Your Product
 
IOT BASED SYSTEM DESIGN
IOT BASED SYSTEM DESIGNIOT BASED SYSTEM DESIGN
IOT BASED SYSTEM DESIGN
 
Voice Assistants Beyond Smart Speakers - Integrate Alexa into Your Unique Pro...
Voice Assistants Beyond Smart Speakers - Integrate Alexa into Your Unique Pro...Voice Assistants Beyond Smart Speakers - Integrate Alexa into Your Unique Pro...
Voice Assistants Beyond Smart Speakers - Integrate Alexa into Your Unique Pro...
 
ITB2019 Easily Build Amazon Alexa skills with ColdFusion - Mike Callahan
ITB2019 Easily Build Amazon Alexa skills with ColdFusion - Mike CallahanITB2019 Easily Build Amazon Alexa skills with ColdFusion - Mike Callahan
ITB2019 Easily Build Amazon Alexa skills with ColdFusion - Mike Callahan
 

Kürzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Kürzlich hochgeladen (20)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

Voice controlled home automation

  • 1. Voice controlled Home Automation Using Amazon Alexa and PubNub
  • 2. This is the basic hardware setup. Raspberry Pi 3 with a USB Microphone, speakers. HDMI connection, keyboard/mouse are not shown for simplicity. A beaglebone black with an LED connected on a GPIO. Both boards connected to Internet. Internet Internet
  • 3. We also need accounts on Amazon developer, Heroku and PubNub. Amazon hosts Alexa voice service and our skill. Heroku hosts our skill adapter code. PubNub is used for message passing from skill adapter to beaglebone. Skill adapter code as web service Publish / Subscribe architecture Internet Internet •Alexa voice service •Alexa Skill (‘My home’)
  • 4. Subscribed to PubNub channel ‘alexa_world’ Skill adapter code as web service Publish / Subscribe architecture Running Alexa app with wakeword agent Internet Internet •Alexa voice service •Alexa Skill (‘My home’) Run the Alexa app on Raspberry Pi. Run the PubNub subscribing and GPIO controller code on beaglebone.
  • 5. Alexa app is continuously listening for the keyword ‘Alexa’. When user speaks the keyword, the app listens to the voice until a pause. In this case it is the sentence ‘Alexa, ask my home to turn on bedroom light’. •Alexa voice service •Alexa Skill (‘My home’) Skill adapter code as web service Publish / Subscribe architecture Alexa, ask My Home to turn on bedroom light Running Alexa app with wakeword agent Subscribed to PubNub channel ‘alexa_world’ Internet Internet
  • 6. Alexa app sends the audio to Alexa voice service running in Amazon cloud (developer.amazon.com) along with device authentication details and other metadata. Audio Skill adapter code as web service Publish / Subscribe architecture Alexa, ask My Home to turn on bedroom light Running Alexa app with wakeword agent Subscribed to PubNub channel ‘alexa_world’ Internet Internet •Alexa voice service •Alexa Skill (‘My home’)
  • 7. In this case, the intent is to ‘turn on’ something and the slot is ‘bedroom light’. This data is then passed on to Heroku web service endpoint running skill adapter code. Alexa voice service interprets the voice and determines that this is a request for the skill ‘My home’. It then further decodes the voice data and parses it into an intent (action to be done) and slot (object to be acted upon). Audio Skill adapter code as web service Publish / Subscribe architecture Alexa, ask My Home to turn on bedroom light Parsed data to Skill adapter Intent: “Turn on” Slot: “Bedroom light” Running Alexa app with wakeword agent Subscribed to PubNub channel ‘alexa_world’ Internet Internet •Alexa voice service •Alexa Skill (‘My home’)
  • 8. Skill adapter code processes the intent and publishes a message to PubNub network on channel named ‘alexa_world’. This message contains command as ‘TURN_ON’ and gadget as ‘bedroom light’. Audio Skill adapter code as web service Publish / Subscribe architecture Alexa, ask My Home to turn on bedroom light Parsed data to Skill adapter Intent: “Turn on” Slot: “Bedroom light” Publish message to channel ‘alexa_world’: Command: “TURN_ON” Gadget: “bedroom light” Running Alexa app with wakeword agent Subscribed to PubNub channel ‘alexa_world’ Internet Internet •Alexa voice service •Alexa Skill (‘My home’)
  • 9. Skill adapter also sends an ACK to voice service which is passed back to the alexa app running on pi. This can contain a voice feedback such as “Ok” Audio Skill adapter code as web service Publish / Subscribe architecture Alexa, ask My Home to turn on bedroom light Parsed data to Skill adapter Intent: “Turn on” Slot: “Bedroom light” Publish message to channel ‘alexa_world’: Command: “TURN_ON” Gadget: “bedroom light” Running Alexa app with wakeword agent Subscribed to PubNub channel ‘alexa_world’ Internet Internet •Alexa voice service •Alexa Skill (‘My home’) “Ok” (Voice feedback) ACK from skill adapter (with voice feedback)
  • 10. PubNub network sends out the same message to all devices subscribed to channel ‘alexa_world’. In this case, the beaglebone is subscribed to this channel and hence receives the message. Audio Skill adapter code as web service Publish / Subscribe architecture Alexa, ask My Home to turn on bedroom light Parsed data to Skill adapter Intent: “Turn on” Slot: “Bedroom light” Publish message to channel ‘alexa_world’: Command: “TURN_ON” Gadget: “bedroom light” Send message to subscribers of channel ‘alexa_world’: Command: “TURN_ON” Gadget: “bedroom light” Running Alexa app with wakeword agent Subscribed to PubNub channel ‘alexa_world’ Internet Internet •Alexa voice service •Alexa Skill (‘My home’) ACK from skill adapter (with voice feedback)
  • 11. Audio Skill adapter code as web service Publish / Subscribe architecture Alexa, ask My Home to turn on bedroom light Parsed data to Skill adapter Intent: “Turn on” Slot: “Bedroom light” Publish message to channel ‘alexa_world’: Command: “TURN_ON” Gadget: “bedroom light” Send message to subscribers of channel ‘alexa_world’: Command: “TURN_ON” Gadget: “bedroom light” Running Alexa app with wakeword agent Subscribed to PubNub channel ‘alexa_world’ Internet Internet •Alexa voice service •Alexa Skill (‘My home’) Beaglebone then processes received message and turns on the GPIO corresponding to ‘bedroom light’. ACK from skill adapter (with voice feedback)

Hinweis der Redaktion

  1. This is the basic hardware setup needed. Raspberry Pi 3 with a USB Microphone, speakers. HDMI connection, keyboard/mouse are not shown for simplicity. A beaglebone black with an LED connected on a GPIO. Both boards connected to Internet.
  2. We also need accounts on Amazon developer site, Heroku and PubNub. Amazon hosts the Alexa voice service and our skill. Heroku hosts the skill adapter code. PubNub is used for message passing between skill adapter and beaglebone.
  3. Run the Alexa app on Raspberry Pi. Run the PubNub subscribing and GPIO controller code on beaglebone.
  4. Alexa app is continuously looking for the keyword ‘Alexa’. When the user speaks with the keyword, the app listens to the voice until a pause. In this case it is the sentence ‘Alexa, ask my home to turn on bedroom light’.
  5. Alexa app sends the audio to Alexa voice service running in Amazon cloud (developer.amazon.com) along with device authentication details and other metadata required.
  6. Alexa voice service interprets the voice and finds out that this is a voice data meant for the skill ‘My home’. It then further decodes the voice data and parses it into an intent (action to be done) and a slot (object to be acted upon). In this case, the intent is to ‘turn on’ something and the slot is ‘bedroom light’. This data is then passed on to and Heroku endpoint running the skill adapter code called as Lambda function.
  7. The adapter Lambda function processes this intent and publishes a message to the PubNub network on a particular channel named ‘alexa_world’. This message contains data with the command as ‘TURN_ON’ and gadget as ‘bedroom light’.
  8. Simultaneously the skill adapter also sends back an acknowledgment to the voice service which is passed on back to the alexa app running on pi. This ack contains a voice feedback such as “Ok” which the user hears from speakers.
  9. PubNub network then sends out the same message to all devices who are subscribed to channel ‘alexa_world’. In this case, the beaglebone is subscribed to this channel and hence receives the message.
  10. Beaglebone then processes received message and turns on the GPIO corresponding to ‘bedroom light’.