SlideShare une entreprise Scribd logo
1  sur  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)

Contenu connexe

Tendances

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
 

Tendances (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...
 

Similaire à Voice controlled home automation

Similaire à 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
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Dernier (20)

Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 

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)

Notes de l'éditeur

  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’.