SlideShare a Scribd company logo
1 of 41
Download to read offline
Voice Assistants and
IoT Automation
Intel, Software and Services Group
Daniel Holmlund - @agnathan
Voice Assistants
And
IoT Automation
Agenda
➔ Overview of Cloud and Edge Components needed to enable Voice IoT
Automation
➔ Installing Voice Assistants on the Intel® IoT Gateway
◆ Amazon Alexa*, Google Assistant* and Mycroft.ai*
➔ Rendering Voice Data into Intent
◆ Alexa Voice Service*, Google Actions*, Mycroft Intent*
➔ Intent Fulfillment
◆ Amazon Lambda*, Google Cloud Functions*
◆ Building Our Own Intent Fulfilment Service on the Intel* IoT Gateway
➔ Build Our Own IoT Automation Service on the Intel* IoT Gateway
◆ Discussion about State, Device Shadows, Flux Pattern
Voice and Automation Overview Diagram
Google*
Actions
Alexa* Voice
Services
Google*
Cloud Functions
Amazon* Lambda
Voice Fulfillment
Service
Edge
Network
Cloud
Automation Service
Intel IoT Gateway
* Voice Agents are
installed on the
Gateway
Google Assistant*
Amazon Alexa*
Mycroft.ai*
A voice to IoT device
automation workflow can
be built in the cloud or it
can be built entirely on the
edge network.
Questions to
Consider
➔ Do I want to enable every IoT Device with a Voice Assistant or just
a Gateway?
➔ How do I represent the state of an IoT device? How do I change the
state of an IoT device with voice?
➔ How do I build a voice to IoT automation workflow in the cloud?
➔ How do I build a voice to IoT automation workflow on the local
edge network?
➔ What are the tradeoffs building in the cloud vs on the edge?
➔ How can I build an IoT Automation service?
Installing Voice Assistants on the
Intel®
IoT Gateway
Demo: Voice Assistants Installed on Intel®
IoT Gateway
Alexa Voice Service* Installation
➔ Alexa Voice Service* allows you
to install the Alexa voice
assistant on a device.
➔ Alexa Skill Kit* enables you to
write a program that enables
Alexa Voice Service to respond to
new voice commands or
questions.
Register a New Device
To Create a New Device on the Alexa Voice
Service* enter the following:
➔ Device Information - Create an
identity for your Alexa* enabled
device.
➔ Security Profile - how Amazon*
identifies your device. This binds
your security profile to an oauth2 id
and secret
◆ Security Profile ID
◆ Client ID
◆ Client Secret
➔ Device Details - Image, Category, Is it
going to be a publically sold device,
etc ...
Amazon Alexa*
Installation on the
Intel® IoT Gateway
Amazon Provides Access to the Alexa Voice
Assistant* through Amazon Voice Services*
● Register for an Amazon Developer Account
○ Create an Alexa Voice Service Project
○ Create a device and security profile
■ ProductID (Device Type ID),
■ ClientID
■ ClientSecret
● Setup on the Intel IoT Gateway
○ git clone https://github.com/alexa/alexa-avs-sample-app.git
○ Enter the ProductID, ClientID and ClientSecret in the install script
○ Install VLC for audio API dependencies
○ Run generate.sh to create self-signed certificates
○ Run the sample Java application that communicates to AVS
○ Run the NodeJS Companion Application which listens for a response
from AVS
https://developer.amazon.com/alexa-voice-service
Intel® IoT Gateway
* Voice Agents are
installed on the Gateway
Amazon Alexa*
Google Assistant*
Installation on the
Intel® IoT Gateway
● Setup on the Google Cloud Platform
○ Create a Google Developer Project
○ Enable the Google Assistant API on the project
○ Enable the Billing API on the project (set a budget)
○ Create an OAuth Client ID and download the client_secret file in
JSON format.
● Local Setup Option 1: Google Assistant library for Python
$ sudo apt-get install python3-dev python3-venv
$ python3 -m venv env
$ env/bin/python -m pip install --upgrade pip setuptools
$ source env/bin/activate
$ (env) python -m pip install --upgrade google-assistant-library
$ (env) python -m pip install --upgrade google-auth-oauthlib[tool]
$ google-oauthlib-tool --client-secrets /home/pi/client_secret_client-id.json
--scope https://www.googleapis.com/auth/assistant-sdk-prototype --save
--headless
$ google-assistant-demo
● Local Setup Option 2 - Google Assistant gRPC API - exposes a low
level API which directly manipulates the audio bytes of an Assistant request
and response
https://developers.google.com/assistant/sdk/prototype
/getting-started-pi-python/config-dev-project-and-accou
nt
Intel® IoT Gateway
* Voice Agents are
installed on the Gateway
Google Assistant*
Resolving Voice to Intent
Services that Render Voice to Intent
Google
Actions
Amazon
Alexa
Service
Edge
Network
Cloud
Intel® IoT Gateway
* Voice Agents are
installed on the
Gateway
Google Assistant*
Amazon Alexa*
Mycroft.ai*
➔ Mycroft.ai does not require a cloud component. Voice
Fulfillment can happen entirely on a local edge network.
➔ This does not mean that a developer can forego
encryption and good security practices.
➔ Both Amazon and Google require a cloud and local
software to enable their voice assistants.
➔ Secure communications must be setup correctly
between the cloud and the gateway.
➔ Local software is activated with a keyword, voice is
recorded and uploaded to a cloud service that converts
the voice to an API call.
Communication between Intel® IoT Gateway and Cloud Voice Services
Google
Actions
Amazon
Alexa
Service
Edge
Network
Cloud
Intel® IoT Gateway
* Voice Agents are
installed on the
Gateway
Google Assistant*
Amazon Alexa*
Mycroft.ai*
➔ Amazon uses HTTPSv2 to communicate audio data
➔ Google uses gRPC, open source high performance RPC
framework
➔ Both Amazon and Google use Oauth2 client ID and
secrets to authenticate and authorize a device to their
respective cloud platforms
➔ You must implement this oauth2 interactive or use their
client libraries to do so.
➔ An Audio file with the voice request is sent to the cloud.
➔ Google Actions and Alexa Voice Services use Artificial
Intelligence techniques to resolve the audio into an
Intent.
➔ Once resolved to an Intent, the Intent is forwarded to a
Intent Fulfillment Service
HTTPSv2
gRPC
Training a Cloud Service to Understand
Voice
➔ Voice data is transcribed to
textual data.
➔ The developer provides a set
of example phrases that
match each intent
➔ The Cloud Service trains a set
of classifiers to match
example phrases to intents
➔ Each Cloud Provider uses
their own combination of
deep learning neural
networks, voice models and
classifiers
Example Phrases Matching Intent
Please turn on the lights. smarthome.lights.brightness.on
Are the lights on in the family room? smarthome.lights.brightness.check
Please turn the brightness of the lights
to 50%.
smarthome.lights.brightness.set
Please turn the lights to soft white. smarthome.lights.color.set
Please turn the lights off. smarthome.lights.brightness.off
Set the lights to pink! smarthome.lights.color.set
What is an Intent?
● Has a set of examples phrases
that identify the intent
● May require a context to be set
before text can be match to it.
● May trigger an event.
● May be require
Training a Cloud Service to Understand
Voice
➔ Example Phrases are matched to
intents
➔ Each intent has a series of “Entities” or
“Slots” which are keywords or phrases
that are converted to parameters
➔ Voice Assistant may ask follow up
questions to get all the intent’s
required parameters
➔ Parameters are labeled in a JSON
object and sent to the Fulfillment
Service over HTTPS
Example Phrases Matching “Entities” / “Slots”
Please turn on the lights. Green words are $Device
Are the lights on in the family room? Blue indicates $Color
Please turn the brightness of the
lights to 50%%.
Pink matches $Room
Please turn the lights to soft white. Red shows a $State
Mycroft Adapt Intent Parser*
The Adapt Intent Parser is an open source software
library for converting natural language into machine
readable data structures. Adapt is lightweight and
streamlined and is designed to run on devices with
limited computing resources. Adapt takes in natural
language and outputs a data structure that includes
the intent, a match probability, a tagged list of
entities. The software was developed at Mycroft AI by
a team led by Sean Fitzgerald, formerly one of the
developers of both Siri and Amazon Echo.
➔ https://adapt.mycroft.ai/start/examples
➔ https://github.com/MycroftAI
Google* owns Api.ai* - a tool for building voice interactions
Alexa Skill* Development Demo
Intent Fulfillment
and Serverless Functions
Intent Fulfillment: Voice and Automation Overview Diagram
Google*
Actions
Alexa* Voice
Services
Google*
Cloud Functions
Amazon* Lambda
Voice Fulfillment
Service
Edge
Network
Cloud
Automation Service
Intel®
IoT Gateway
* Voice Agents are
installed on the
Gateway
Google Assistant*
Amazon Alexa*
Mycroft.ai*
➔ The Fulfillment stage can be
continued in the cloud or send back to
the Intel IoT Gateway on the local
edge network.
➔ In order for Google Actions or Alexa
Voice Services to contact your Voice
Fulfillment Service it must be
accessible on the Internet or over a
VPN.
Serverless
Serverless Documentation
Alexa Lambda*
Google Cloud
Functions*
Hello World Voice
Fulfillment Template
Microservice
Fulfillment
From Google Actions*, Alexa Voice
Service* or Mycroft.ai* an HTTPS
request is received by the Intel® IoT
Gateway
The fulfillment function will create an
JSON Object that represents the state
of the light bulb.
The JSON looks like:
{sensor_id: ‘lightbulb’, value: ’on’,
timestamp: Date.now()}
The JSON is published over MQTT-TLS
Need screenshot of my code
Let’s Build Our Own Automation
Service
Voice and Automation Overview Diagram
Google*
Actions
Alexa* Voice
Services
Google*
Cloud Functions
Amazon* Lambda
Voice Fulfillment
Service
Edge
Network
Cloud
Automation Service
Intel IoT Gateway
* Voice Agents are
installed on the
Gateway
Google Assistant
Amazon Alexa
Mycroft.ai
➔ The Fulfillment stage can be
continued in the cloud or send back to
the Intel IoT Gateway on the local
edge network.
➔ In order for Google Actions or Alexa
Voice Services to contact your Voice
Fulfillment Service it must be
accessible on the Internet or over a
VPN.
29
Automation IP Network
Upstream connection
3G/4G/5G or Internet
Secure the hardware, operating system, data and network.
Automation
Data
Processing
Intel IoT Gateway
Sensor data and actuator commands
are communicated over MQTT-TLS
Mosquitto broker running MQTT-TLS
on the edge network on the Intel® IoT
Gateway.
Automation Rules are stored in a
MongoDB database on the Intel® IoT
Gateway
Local Fulfillment Functions emits a
JSON object that contains the state
of the IoT Device that the
automation.
ManagementSecurity
Administrative Interface
What is a Trigger?
A trigger is a predicate (condition)
function and an action function that
implements the rule based business
logic on the edge network.
The predicate function returns a true
or false, a “Go” or “No Go”
In our implementation, the stash
always holds the last sensor reading
from each sensor.
Device Triggers Actions
There are many possible events that an action function could trigger.
● Write Data to the LCD screen
● Restart the device
● Execute an application
● Run a script
● Request data item from the device
● Send an SMS messages to an administrator.
● Send time synchronization
● Send an alert to the cloud
Creating a Connection to the MQTT Broker
A connection URI looks like mqtt://192.168.1.1/ NodeJS has a NPM package for MQTT.
var mqtt = require(‘mqtt’) will import the
package
MQTT has an event driven loop that
allows you to customize your
response to different events.
On the Connect Event, we log that we
connected and subscribe to the
“announcement” topic
the “+” matches any string. We are
subscribing to all sensors that
33
The Context Object
This object holds
variables and libraries
that will be made
accessible to the
condition and trigger
functions.
If you want to use
HTTP or MQTT in a
trigger define them in
the context object.
Rules Engines
For each incoming piece of data
filter the list of rules by the sensor
that send the incoming data
and evaluate the condition function
with the context
if it returns true then execute the
trigger function
Condition Functions
Conditions Functions, also
called predicate functions,
always return TRUE or
FALSE.
Example MQTT Trigger Function
Example Trigger Function
Publish an JSON error
report to the MQTT topic
sensors/temperature/errors
mqttClient and ErrorModel
are part of the Context
Object and now are
accessible under the this
object
Create a new MongoDB
document called error.
Save error to the database
Be sure to put the
parentheses around the
entire function
Example HTTP
Trigger Function
Example Trigger Function
Create an HTTP POST request for the
Intel Edison with the LCD.
Send the HTTP request with the
this.http object.
Write two functions to handle the
success and error conditions.
Be sure to put the parentheses around
the entire function
References
● https://www.xda-developers.com/how-to-get-google-assistant-on-your-windows-mac-or-linux-machine/
● https://inteliot.withthebest.com/#/insights/59275dec9e27000004ac3eca
● https://en.wikipedia.org/wiki/Long_short-term_memory
● https://github.com/alexa/alexa-avs-sample-app
● https://github.com/alexa/alexa-avs-sample-app/wiki/Raspberry-Pi
● https://github.com/alexa/alexa-avs-sample-app/wiki/Create-Security-Profile
More about Voice
Recognizers
https://developer.amazon.com/public/
solutions/alexa/alexa-voice-service/re
ference/speechrecognizer#overview

More Related Content

What's hot

Exploring the Azure IoT Ecosystem
Exploring the Azure IoT EcosystemExploring the Azure IoT Ecosystem
Exploring the Azure IoT EcosystemBizTalk360
 
Citrix Octoblu Architecture Breakdown
Citrix Octoblu Architecture BreakdownCitrix Octoblu Architecture Breakdown
Citrix Octoblu Architecture BreakdownJohn Moody
 
IoTSummit - Introduction to IoT Hub
IoTSummit - Introduction to IoT HubIoTSummit - Introduction to IoT Hub
IoTSummit - Introduction to IoT HubMarco Silva
 
Demystifying Internet of Things with Azure IoT Suite
Demystifying Internet of Things with Azure IoT SuiteDemystifying Internet of Things with Azure IoT Suite
Demystifying Internet of Things with Azure IoT SuiteWinWire Technologies Inc
 
DotNetToscana - Azure IoT Hub - Il Concentratore
DotNetToscana - Azure IoT Hub - Il ConcentratoreDotNetToscana - Azure IoT Hub - Il Concentratore
DotNetToscana - Azure IoT Hub - Il ConcentratoreRiccardo Cappello
 
Global Azure Bootcamp 2016 - Real-world Internet of Things Backend with Azure...
Global Azure Bootcamp 2016 - Real-world Internet of Things Backend with Azure...Global Azure Bootcamp 2016 - Real-world Internet of Things Backend with Azure...
Global Azure Bootcamp 2016 - Real-world Internet of Things Backend with Azure...Andri Yadi
 
Internet of Things and Azure - DevTeach 2016
Internet of Things and Azure - DevTeach 2016Internet of Things and Azure - DevTeach 2016
Internet of Things and Azure - DevTeach 2016Guy Barrette
 
Mainflux - Hyperscalable Unified IoT Platform
Mainflux - Hyperscalable Unified IoT PlatformMainflux - Hyperscalable Unified IoT Platform
Mainflux - Hyperscalable Unified IoT PlatformSasa Klopanovic
 
A Pragmatic Reference Architecture for The Internet of Things
A Pragmatic Reference Architecture for The Internet of ThingsA Pragmatic Reference Architecture for The Internet of Things
A Pragmatic Reference Architecture for The Internet of ThingsRick G. Garibay
 
Guide to IoT Projects and Architecture with Microsoft Cloud and Azure
Guide to IoT Projects and Architecture with Microsoft Cloud and AzureGuide to IoT Projects and Architecture with Microsoft Cloud and Azure
Guide to IoT Projects and Architecture with Microsoft Cloud and AzureBarnaba Accardi
 
Why Gateways are Important in Your IoT Architecture
Why Gateways are Important in Your IoT ArchitectureWhy Gateways are Important in Your IoT Architecture
Why Gateways are Important in Your IoT ArchitectureIBM Analytics
 
Internet Society Event on IoT - IoT@Microsoft
Internet Society Event on IoT - IoT@MicrosoftInternet Society Event on IoT - IoT@Microsoft
Internet Society Event on IoT - IoT@MicrosoftMarco Silva
 

What's hot (19)

Azure iot
Azure iotAzure iot
Azure iot
 
Exploring the Azure IoT Ecosystem
Exploring the Azure IoT EcosystemExploring the Azure IoT Ecosystem
Exploring the Azure IoT Ecosystem
 
Citrix Octoblu Architecture Breakdown
Citrix Octoblu Architecture BreakdownCitrix Octoblu Architecture Breakdown
Citrix Octoblu Architecture Breakdown
 
IoTSummit - Introduction to IoT Hub
IoTSummit - Introduction to IoT HubIoTSummit - Introduction to IoT Hub
IoTSummit - Introduction to IoT Hub
 
Demystifying Internet of Things with Azure IoT Suite
Demystifying Internet of Things with Azure IoT SuiteDemystifying Internet of Things with Azure IoT Suite
Demystifying Internet of Things with Azure IoT Suite
 
DotNetToscana - Azure IoT Hub - Il Concentratore
DotNetToscana - Azure IoT Hub - Il ConcentratoreDotNetToscana - Azure IoT Hub - Il Concentratore
DotNetToscana - Azure IoT Hub - Il Concentratore
 
Global Azure Bootcamp 2016 - Real-world Internet of Things Backend with Azure...
Global Azure Bootcamp 2016 - Real-world Internet of Things Backend with Azure...Global Azure Bootcamp 2016 - Real-world Internet of Things Backend with Azure...
Global Azure Bootcamp 2016 - Real-world Internet of Things Backend with Azure...
 
Internet of Things and Azure - DevTeach 2016
Internet of Things and Azure - DevTeach 2016Internet of Things and Azure - DevTeach 2016
Internet of Things and Azure - DevTeach 2016
 
Mainflux - Hyperscalable Unified IoT Platform
Mainflux - Hyperscalable Unified IoT PlatformMainflux - Hyperscalable Unified IoT Platform
Mainflux - Hyperscalable Unified IoT Platform
 
A Pragmatic Reference Architecture for The Internet of Things
A Pragmatic Reference Architecture for The Internet of ThingsA Pragmatic Reference Architecture for The Internet of Things
A Pragmatic Reference Architecture for The Internet of Things
 
Azure IoT Camp
Azure IoT CampAzure IoT Camp
Azure IoT Camp
 
IoT on Azure
IoT on AzureIoT on Azure
IoT on Azure
 
IoT on the Edge
IoT on the EdgeIoT on the Edge
IoT on the Edge
 
Guide to IoT Projects and Architecture with Microsoft Cloud and Azure
Guide to IoT Projects and Architecture with Microsoft Cloud and AzureGuide to IoT Projects and Architecture with Microsoft Cloud and Azure
Guide to IoT Projects and Architecture with Microsoft Cloud and Azure
 
Azure IoT Hub
Azure IoT HubAzure IoT Hub
Azure IoT Hub
 
Azure IoT Summary
Azure IoT SummaryAzure IoT Summary
Azure IoT Summary
 
Azure IoT Workshop
Azure IoT WorkshopAzure IoT Workshop
Azure IoT Workshop
 
Why Gateways are Important in Your IoT Architecture
Why Gateways are Important in Your IoT ArchitectureWhy Gateways are Important in Your IoT Architecture
Why Gateways are Important in Your IoT Architecture
 
Internet Society Event on IoT - IoT@Microsoft
Internet Society Event on IoT - IoT@MicrosoftInternet Society Event on IoT - IoT@Microsoft
Internet Society Event on IoT - IoT@Microsoft
 

Similar to Building Voice Controls and Integrating with Automation Actions on an IoT Network

Voice Assistant Expert Services
Voice Assistant Expert ServicesVoice Assistant Expert Services
Voice Assistant Expert ServicesJamie (Taka) Wang
 
AWS IoT_Connected Home Solutions
AWS IoT_Connected Home Solutions AWS IoT_Connected Home Solutions
AWS IoT_Connected Home Solutions Amazon Web Services
 
Alexa and AWS IoT, ft. VIZIO (IOT302-R1) - AWS re:Invent 2018
Alexa and AWS IoT, ft. VIZIO (IOT302-R1) - AWS re:Invent 2018Alexa and AWS IoT, ft. VIZIO (IOT302-R1) - AWS re:Invent 2018
Alexa and AWS IoT, ft. VIZIO (IOT302-R1) - AWS re:Invent 2018Amazon Web Services
 
Building IoT Apps in the Cloud Webinar
Building IoT Apps in the Cloud WebinarBuilding IoT Apps in the Cloud Webinar
Building IoT Apps in the Cloud WebinarDreamFactory
 
Deploying R for Production - SRUG
Deploying R for Production - SRUGDeploying R for Production - SRUG
Deploying R for Production - SRUGHolger Hellebro
 
One Click Enterprise IoT Services - March 2017 AWS Online Tech Talks
One Click Enterprise IoT Services - March 2017 AWS Online Tech TalksOne Click Enterprise IoT Services - March 2017 AWS Online Tech Talks
One Click Enterprise IoT Services - March 2017 AWS Online Tech TalksAmazon Web Services
 
Voice Enabled Home Automation using Amazon Echo
Voice Enabled Home Automation using Amazon EchoVoice Enabled Home Automation using Amazon Echo
Voice Enabled Home Automation using Amazon EchoIRJET Journal
 
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...Amazon Web Services
 
[NEW LAUNCH!] AWS IoT Device Tester: Enable Your Edge Devices for AWS IoT (IO...
[NEW LAUNCH!] AWS IoT Device Tester: Enable Your Edge Devices for AWS IoT (IO...[NEW LAUNCH!] AWS IoT Device Tester: Enable Your Edge Devices for AWS IoT (IO...
[NEW LAUNCH!] AWS IoT Device Tester: Enable Your Edge Devices for AWS IoT (IO...Amazon Web Services
 
How to Easily and Securely Connect Devices to AWS IoT - AWS Online Tech Talks
How to Easily and Securely Connect Devices to AWS IoT - AWS Online Tech TalksHow to Easily and Securely Connect Devices to AWS IoT - AWS Online Tech Talks
How to Easily and Securely Connect Devices to AWS IoT - AWS Online Tech TalksAmazon Web Services
 
Using Data Science & Serverless Python to find apartment in Toronto
Using Data Science & Serverless Python to find apartment in TorontoUsing Data Science & Serverless Python to find apartment in Toronto
Using Data Science & Serverless Python to find apartment in TorontoDaniel Zivkovic
 
Masterless Puppet Using AWS S3 Buckets and IAM Roles
Masterless Puppet Using AWS S3 Buckets and IAM RolesMasterless Puppet Using AWS S3 Buckets and IAM Roles
Masterless Puppet Using AWS S3 Buckets and IAM RolesMalcolm Duncanson, CISSP
 
Intro to AWS Cloud Development Kit | AWS Floor28
Intro to AWS Cloud Development Kit | AWS Floor28Intro to AWS Cloud Development Kit | AWS Floor28
Intro to AWS Cloud Development Kit | AWS Floor28Amazon Web Services
 
AWS re:Invent 2016: Internet of Things (IoT) Edge and Device Services (IOT202)
AWS re:Invent 2016: Internet of Things (IoT) Edge and Device Services (IOT202)AWS re:Invent 2016: Internet of Things (IoT) Edge and Device Services (IOT202)
AWS re:Invent 2016: Internet of Things (IoT) Edge and Device Services (IOT202)Amazon Web Services
 
Progetta, crea e gestisci Modern Application per web e mobile su AWS
Progetta, crea e gestisci Modern Application per web e mobile su AWSProgetta, crea e gestisci Modern Application per web e mobile su AWS
Progetta, crea e gestisci Modern Application per web e mobile su AWSAmazon Web Services
 
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018Amazon Web Services
 
Canopy SF Home Automation Meetup Slides 10/14/2014
Canopy SF Home Automation Meetup Slides 10/14/2014Canopy SF Home Automation Meetup Slides 10/14/2014
Canopy SF Home Automation Meetup Slides 10/14/2014gregulator
 

Similar to Building Voice Controls and Integrating with Automation Actions on an IoT Network (20)

Voice Assistant Expert Services
Voice Assistant Expert ServicesVoice Assistant Expert Services
Voice Assistant Expert Services
 
AWS IoT_Connected Home Solutions
AWS IoT_Connected Home Solutions AWS IoT_Connected Home Solutions
AWS IoT_Connected Home Solutions
 
Alexa and AWS IoT, ft. VIZIO (IOT302-R1) - AWS re:Invent 2018
Alexa and AWS IoT, ft. VIZIO (IOT302-R1) - AWS re:Invent 2018Alexa and AWS IoT, ft. VIZIO (IOT302-R1) - AWS re:Invent 2018
Alexa and AWS IoT, ft. VIZIO (IOT302-R1) - AWS re:Invent 2018
 
Building IoT Apps in the Cloud Webinar
Building IoT Apps in the Cloud WebinarBuilding IoT Apps in the Cloud Webinar
Building IoT Apps in the Cloud Webinar
 
Deploying R for Production - SRUG
Deploying R for Production - SRUGDeploying R for Production - SRUG
Deploying R for Production - SRUG
 
One Click Enterprise IoT Services - March 2017 AWS Online Tech Talks
One Click Enterprise IoT Services - March 2017 AWS Online Tech TalksOne Click Enterprise IoT Services - March 2017 AWS Online Tech Talks
One Click Enterprise IoT Services - March 2017 AWS Online Tech Talks
 
Voice Enabled Home Automation using Amazon Echo
Voice Enabled Home Automation using Amazon EchoVoice Enabled Home Automation using Amazon Echo
Voice Enabled Home Automation using Amazon Echo
 
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...
 
[NEW LAUNCH!] AWS IoT Device Tester: Enable Your Edge Devices for AWS IoT (IO...
[NEW LAUNCH!] AWS IoT Device Tester: Enable Your Edge Devices for AWS IoT (IO...[NEW LAUNCH!] AWS IoT Device Tester: Enable Your Edge Devices for AWS IoT (IO...
[NEW LAUNCH!] AWS IoT Device Tester: Enable Your Edge Devices for AWS IoT (IO...
 
How to Easily and Securely Connect Devices to AWS IoT - AWS Online Tech Talks
How to Easily and Securely Connect Devices to AWS IoT - AWS Online Tech TalksHow to Easily and Securely Connect Devices to AWS IoT - AWS Online Tech Talks
How to Easily and Securely Connect Devices to AWS IoT - AWS Online Tech Talks
 
Using Data Science & Serverless Python to find apartment in Toronto
Using Data Science & Serverless Python to find apartment in TorontoUsing Data Science & Serverless Python to find apartment in Toronto
Using Data Science & Serverless Python to find apartment in Toronto
 
Apigee Edge: Intro to Microgateway
Apigee Edge: Intro to MicrogatewayApigee Edge: Intro to Microgateway
Apigee Edge: Intro to Microgateway
 
Masterless Puppet Using AWS S3 Buckets and IAM Roles
Masterless Puppet Using AWS S3 Buckets and IAM RolesMasterless Puppet Using AWS S3 Buckets and IAM Roles
Masterless Puppet Using AWS S3 Buckets and IAM Roles
 
Intro to AWS Cloud Development Kit | AWS Floor28
Intro to AWS Cloud Development Kit | AWS Floor28Intro to AWS Cloud Development Kit | AWS Floor28
Intro to AWS Cloud Development Kit | AWS Floor28
 
Connecting to AWS IoT
Connecting to AWS IoTConnecting to AWS IoT
Connecting to AWS IoT
 
AWS re:Invent 2016: Internet of Things (IoT) Edge and Device Services (IOT202)
AWS re:Invent 2016: Internet of Things (IoT) Edge and Device Services (IOT202)AWS re:Invent 2016: Internet of Things (IoT) Edge and Device Services (IOT202)
AWS re:Invent 2016: Internet of Things (IoT) Edge and Device Services (IOT202)
 
Machine Learning at the Edge
Machine Learning at the EdgeMachine Learning at the Edge
Machine Learning at the Edge
 
Progetta, crea e gestisci Modern Application per web e mobile su AWS
Progetta, crea e gestisci Modern Application per web e mobile su AWSProgetta, crea e gestisci Modern Application per web e mobile su AWS
Progetta, crea e gestisci Modern Application per web e mobile su AWS
 
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
 
Canopy SF Home Automation Meetup Slides 10/14/2014
Canopy SF Home Automation Meetup Slides 10/14/2014Canopy SF Home Automation Meetup Slides 10/14/2014
Canopy SF Home Automation Meetup Slides 10/14/2014
 

More from Intel® Software

AI for All: Biology is eating the world & AI is eating Biology
AI for All: Biology is eating the world & AI is eating Biology AI for All: Biology is eating the world & AI is eating Biology
AI for All: Biology is eating the world & AI is eating Biology Intel® Software
 
Python Data Science and Machine Learning at Scale with Intel and Anaconda
Python Data Science and Machine Learning at Scale with Intel and AnacondaPython Data Science and Machine Learning at Scale with Intel and Anaconda
Python Data Science and Machine Learning at Scale with Intel and AnacondaIntel® Software
 
Streamline End-to-End AI Pipelines with Intel, Databricks, and OmniSci
Streamline End-to-End AI Pipelines with Intel, Databricks, and OmniSciStreamline End-to-End AI Pipelines with Intel, Databricks, and OmniSci
Streamline End-to-End AI Pipelines with Intel, Databricks, and OmniSciIntel® Software
 
AI for good: Scaling AI in science, healthcare, and more.
AI for good: Scaling AI in science, healthcare, and more.AI for good: Scaling AI in science, healthcare, and more.
AI for good: Scaling AI in science, healthcare, and more.Intel® Software
 
Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...
Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...
Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...Intel® Software
 
Advanced Techniques to Accelerate Model Tuning | Software for AI Optimization...
Advanced Techniques to Accelerate Model Tuning | Software for AI Optimization...Advanced Techniques to Accelerate Model Tuning | Software for AI Optimization...
Advanced Techniques to Accelerate Model Tuning | Software for AI Optimization...Intel® Software
 
Reducing Deep Learning Integration Costs and Maximizing Compute Efficiency| S...
Reducing Deep Learning Integration Costs and Maximizing Compute Efficiency| S...Reducing Deep Learning Integration Costs and Maximizing Compute Efficiency| S...
Reducing Deep Learning Integration Costs and Maximizing Compute Efficiency| S...Intel® Software
 
AWS & Intel Webinar Series - Accelerating AI Research
AWS & Intel Webinar Series - Accelerating AI ResearchAWS & Intel Webinar Series - Accelerating AI Research
AWS & Intel Webinar Series - Accelerating AI ResearchIntel® Software
 
Intel AIDC Houston Summit - Overview Slides
Intel AIDC Houston Summit - Overview SlidesIntel AIDC Houston Summit - Overview Slides
Intel AIDC Houston Summit - Overview SlidesIntel® Software
 
AIDC NY: BODO AI Presentation - 09.19.2019
AIDC NY: BODO AI Presentation - 09.19.2019AIDC NY: BODO AI Presentation - 09.19.2019
AIDC NY: BODO AI Presentation - 09.19.2019Intel® Software
 
AIDC NY: Applications of Intel AI by QuEST Global - 09.19.2019
AIDC NY: Applications of Intel AI by QuEST Global - 09.19.2019AIDC NY: Applications of Intel AI by QuEST Global - 09.19.2019
AIDC NY: Applications of Intel AI by QuEST Global - 09.19.2019Intel® Software
 
Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...
Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...
Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...Intel® Software
 
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...Intel® Software
 
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...Intel® Software
 
RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...
RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...
RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...Intel® Software
 
AIDC India - Intel Movidius / Open Vino Slides
AIDC India - Intel Movidius / Open Vino SlidesAIDC India - Intel Movidius / Open Vino Slides
AIDC India - Intel Movidius / Open Vino SlidesIntel® Software
 
AIDC India - AI Vision Slides
AIDC India - AI Vision SlidesAIDC India - AI Vision Slides
AIDC India - AI Vision SlidesIntel® Software
 
Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...
Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...
Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...Intel® Software
 

More from Intel® Software (20)

AI for All: Biology is eating the world & AI is eating Biology
AI for All: Biology is eating the world & AI is eating Biology AI for All: Biology is eating the world & AI is eating Biology
AI for All: Biology is eating the world & AI is eating Biology
 
Python Data Science and Machine Learning at Scale with Intel and Anaconda
Python Data Science and Machine Learning at Scale with Intel and AnacondaPython Data Science and Machine Learning at Scale with Intel and Anaconda
Python Data Science and Machine Learning at Scale with Intel and Anaconda
 
Streamline End-to-End AI Pipelines with Intel, Databricks, and OmniSci
Streamline End-to-End AI Pipelines with Intel, Databricks, and OmniSciStreamline End-to-End AI Pipelines with Intel, Databricks, and OmniSci
Streamline End-to-End AI Pipelines with Intel, Databricks, and OmniSci
 
AI for good: Scaling AI in science, healthcare, and more.
AI for good: Scaling AI in science, healthcare, and more.AI for good: Scaling AI in science, healthcare, and more.
AI for good: Scaling AI in science, healthcare, and more.
 
Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...
Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...
Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...
 
Advanced Techniques to Accelerate Model Tuning | Software for AI Optimization...
Advanced Techniques to Accelerate Model Tuning | Software for AI Optimization...Advanced Techniques to Accelerate Model Tuning | Software for AI Optimization...
Advanced Techniques to Accelerate Model Tuning | Software for AI Optimization...
 
Reducing Deep Learning Integration Costs and Maximizing Compute Efficiency| S...
Reducing Deep Learning Integration Costs and Maximizing Compute Efficiency| S...Reducing Deep Learning Integration Costs and Maximizing Compute Efficiency| S...
Reducing Deep Learning Integration Costs and Maximizing Compute Efficiency| S...
 
AWS & Intel Webinar Series - Accelerating AI Research
AWS & Intel Webinar Series - Accelerating AI ResearchAWS & Intel Webinar Series - Accelerating AI Research
AWS & Intel Webinar Series - Accelerating AI Research
 
Intel Developer Program
Intel Developer ProgramIntel Developer Program
Intel Developer Program
 
Intel AIDC Houston Summit - Overview Slides
Intel AIDC Houston Summit - Overview SlidesIntel AIDC Houston Summit - Overview Slides
Intel AIDC Houston Summit - Overview Slides
 
AIDC NY: BODO AI Presentation - 09.19.2019
AIDC NY: BODO AI Presentation - 09.19.2019AIDC NY: BODO AI Presentation - 09.19.2019
AIDC NY: BODO AI Presentation - 09.19.2019
 
AIDC NY: Applications of Intel AI by QuEST Global - 09.19.2019
AIDC NY: Applications of Intel AI by QuEST Global - 09.19.2019AIDC NY: Applications of Intel AI by QuEST Global - 09.19.2019
AIDC NY: Applications of Intel AI by QuEST Global - 09.19.2019
 
Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...
Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...
Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...
 
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
 
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...
 
RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...
RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...
RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...
 
AIDC India - AI on IA
AIDC India  - AI on IAAIDC India  - AI on IA
AIDC India - AI on IA
 
AIDC India - Intel Movidius / Open Vino Slides
AIDC India - Intel Movidius / Open Vino SlidesAIDC India - Intel Movidius / Open Vino Slides
AIDC India - Intel Movidius / Open Vino Slides
 
AIDC India - AI Vision Slides
AIDC India - AI Vision SlidesAIDC India - AI Vision Slides
AIDC India - AI Vision Slides
 
Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...
Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...
Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...
 

Recently uploaded

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
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 MenDelhi Call girls
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 

Recently uploaded (20)

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
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
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 

Building Voice Controls and Integrating with Automation Actions on an IoT Network

  • 1. Voice Assistants and IoT Automation Intel, Software and Services Group Daniel Holmlund - @agnathan
  • 2. Voice Assistants And IoT Automation Agenda ➔ Overview of Cloud and Edge Components needed to enable Voice IoT Automation ➔ Installing Voice Assistants on the Intel® IoT Gateway ◆ Amazon Alexa*, Google Assistant* and Mycroft.ai* ➔ Rendering Voice Data into Intent ◆ Alexa Voice Service*, Google Actions*, Mycroft Intent* ➔ Intent Fulfillment ◆ Amazon Lambda*, Google Cloud Functions* ◆ Building Our Own Intent Fulfilment Service on the Intel* IoT Gateway ➔ Build Our Own IoT Automation Service on the Intel* IoT Gateway ◆ Discussion about State, Device Shadows, Flux Pattern
  • 3. Voice and Automation Overview Diagram Google* Actions Alexa* Voice Services Google* Cloud Functions Amazon* Lambda Voice Fulfillment Service Edge Network Cloud Automation Service Intel IoT Gateway * Voice Agents are installed on the Gateway Google Assistant* Amazon Alexa* Mycroft.ai* A voice to IoT device automation workflow can be built in the cloud or it can be built entirely on the edge network.
  • 4. Questions to Consider ➔ Do I want to enable every IoT Device with a Voice Assistant or just a Gateway? ➔ How do I represent the state of an IoT device? How do I change the state of an IoT device with voice? ➔ How do I build a voice to IoT automation workflow in the cloud? ➔ How do I build a voice to IoT automation workflow on the local edge network? ➔ What are the tradeoffs building in the cloud vs on the edge? ➔ How can I build an IoT Automation service?
  • 5. Installing Voice Assistants on the Intel® IoT Gateway
  • 6. Demo: Voice Assistants Installed on Intel® IoT Gateway
  • 7. Alexa Voice Service* Installation ➔ Alexa Voice Service* allows you to install the Alexa voice assistant on a device. ➔ Alexa Skill Kit* enables you to write a program that enables Alexa Voice Service to respond to new voice commands or questions.
  • 8. Register a New Device To Create a New Device on the Alexa Voice Service* enter the following: ➔ Device Information - Create an identity for your Alexa* enabled device. ➔ Security Profile - how Amazon* identifies your device. This binds your security profile to an oauth2 id and secret ◆ Security Profile ID ◆ Client ID ◆ Client Secret ➔ Device Details - Image, Category, Is it going to be a publically sold device, etc ...
  • 9. Amazon Alexa* Installation on the Intel® IoT Gateway Amazon Provides Access to the Alexa Voice Assistant* through Amazon Voice Services* ● Register for an Amazon Developer Account ○ Create an Alexa Voice Service Project ○ Create a device and security profile ■ ProductID (Device Type ID), ■ ClientID ■ ClientSecret ● Setup on the Intel IoT Gateway ○ git clone https://github.com/alexa/alexa-avs-sample-app.git ○ Enter the ProductID, ClientID and ClientSecret in the install script ○ Install VLC for audio API dependencies ○ Run generate.sh to create self-signed certificates ○ Run the sample Java application that communicates to AVS ○ Run the NodeJS Companion Application which listens for a response from AVS https://developer.amazon.com/alexa-voice-service Intel® IoT Gateway * Voice Agents are installed on the Gateway Amazon Alexa*
  • 10. Google Assistant* Installation on the Intel® IoT Gateway ● Setup on the Google Cloud Platform ○ Create a Google Developer Project ○ Enable the Google Assistant API on the project ○ Enable the Billing API on the project (set a budget) ○ Create an OAuth Client ID and download the client_secret file in JSON format. ● Local Setup Option 1: Google Assistant library for Python $ sudo apt-get install python3-dev python3-venv $ python3 -m venv env $ env/bin/python -m pip install --upgrade pip setuptools $ source env/bin/activate $ (env) python -m pip install --upgrade google-assistant-library $ (env) python -m pip install --upgrade google-auth-oauthlib[tool] $ google-oauthlib-tool --client-secrets /home/pi/client_secret_client-id.json --scope https://www.googleapis.com/auth/assistant-sdk-prototype --save --headless $ google-assistant-demo ● Local Setup Option 2 - Google Assistant gRPC API - exposes a low level API which directly manipulates the audio bytes of an Assistant request and response https://developers.google.com/assistant/sdk/prototype /getting-started-pi-python/config-dev-project-and-accou nt Intel® IoT Gateway * Voice Agents are installed on the Gateway Google Assistant*
  • 12. Services that Render Voice to Intent Google Actions Amazon Alexa Service Edge Network Cloud Intel® IoT Gateway * Voice Agents are installed on the Gateway Google Assistant* Amazon Alexa* Mycroft.ai* ➔ Mycroft.ai does not require a cloud component. Voice Fulfillment can happen entirely on a local edge network. ➔ This does not mean that a developer can forego encryption and good security practices. ➔ Both Amazon and Google require a cloud and local software to enable their voice assistants. ➔ Secure communications must be setup correctly between the cloud and the gateway. ➔ Local software is activated with a keyword, voice is recorded and uploaded to a cloud service that converts the voice to an API call.
  • 13. Communication between Intel® IoT Gateway and Cloud Voice Services Google Actions Amazon Alexa Service Edge Network Cloud Intel® IoT Gateway * Voice Agents are installed on the Gateway Google Assistant* Amazon Alexa* Mycroft.ai* ➔ Amazon uses HTTPSv2 to communicate audio data ➔ Google uses gRPC, open source high performance RPC framework ➔ Both Amazon and Google use Oauth2 client ID and secrets to authenticate and authorize a device to their respective cloud platforms ➔ You must implement this oauth2 interactive or use their client libraries to do so. ➔ An Audio file with the voice request is sent to the cloud. ➔ Google Actions and Alexa Voice Services use Artificial Intelligence techniques to resolve the audio into an Intent. ➔ Once resolved to an Intent, the Intent is forwarded to a Intent Fulfillment Service HTTPSv2 gRPC
  • 14. Training a Cloud Service to Understand Voice ➔ Voice data is transcribed to textual data. ➔ The developer provides a set of example phrases that match each intent ➔ The Cloud Service trains a set of classifiers to match example phrases to intents ➔ Each Cloud Provider uses their own combination of deep learning neural networks, voice models and classifiers Example Phrases Matching Intent Please turn on the lights. smarthome.lights.brightness.on Are the lights on in the family room? smarthome.lights.brightness.check Please turn the brightness of the lights to 50%. smarthome.lights.brightness.set Please turn the lights to soft white. smarthome.lights.color.set Please turn the lights off. smarthome.lights.brightness.off Set the lights to pink! smarthome.lights.color.set
  • 15. What is an Intent? ● Has a set of examples phrases that identify the intent ● May require a context to be set before text can be match to it. ● May trigger an event. ● May be require
  • 16. Training a Cloud Service to Understand Voice ➔ Example Phrases are matched to intents ➔ Each intent has a series of “Entities” or “Slots” which are keywords or phrases that are converted to parameters ➔ Voice Assistant may ask follow up questions to get all the intent’s required parameters ➔ Parameters are labeled in a JSON object and sent to the Fulfillment Service over HTTPS Example Phrases Matching “Entities” / “Slots” Please turn on the lights. Green words are $Device Are the lights on in the family room? Blue indicates $Color Please turn the brightness of the lights to 50%%. Pink matches $Room Please turn the lights to soft white. Red shows a $State
  • 17. Mycroft Adapt Intent Parser* The Adapt Intent Parser is an open source software library for converting natural language into machine readable data structures. Adapt is lightweight and streamlined and is designed to run on devices with limited computing resources. Adapt takes in natural language and outputs a data structure that includes the intent, a match probability, a tagged list of entities. The software was developed at Mycroft AI by a team led by Sean Fitzgerald, formerly one of the developers of both Siri and Amazon Echo. ➔ https://adapt.mycroft.ai/start/examples ➔ https://github.com/MycroftAI
  • 18. Google* owns Api.ai* - a tool for building voice interactions
  • 21. Intent Fulfillment: Voice and Automation Overview Diagram Google* Actions Alexa* Voice Services Google* Cloud Functions Amazon* Lambda Voice Fulfillment Service Edge Network Cloud Automation Service Intel® IoT Gateway * Voice Agents are installed on the Gateway Google Assistant* Amazon Alexa* Mycroft.ai* ➔ The Fulfillment stage can be continued in the cloud or send back to the Intel IoT Gateway on the local edge network. ➔ In order for Google Actions or Alexa Voice Services to contact your Voice Fulfillment Service it must be accessible on the Internet or over a VPN.
  • 25. Google Cloud Functions* Hello World Voice Fulfillment Template
  • 26. Microservice Fulfillment From Google Actions*, Alexa Voice Service* or Mycroft.ai* an HTTPS request is received by the Intel® IoT Gateway The fulfillment function will create an JSON Object that represents the state of the light bulb. The JSON looks like: {sensor_id: ‘lightbulb’, value: ’on’, timestamp: Date.now()} The JSON is published over MQTT-TLS Need screenshot of my code
  • 27. Let’s Build Our Own Automation Service
  • 28. Voice and Automation Overview Diagram Google* Actions Alexa* Voice Services Google* Cloud Functions Amazon* Lambda Voice Fulfillment Service Edge Network Cloud Automation Service Intel IoT Gateway * Voice Agents are installed on the Gateway Google Assistant Amazon Alexa Mycroft.ai ➔ The Fulfillment stage can be continued in the cloud or send back to the Intel IoT Gateway on the local edge network. ➔ In order for Google Actions or Alexa Voice Services to contact your Voice Fulfillment Service it must be accessible on the Internet or over a VPN.
  • 29. 29 Automation IP Network Upstream connection 3G/4G/5G or Internet Secure the hardware, operating system, data and network. Automation Data Processing Intel IoT Gateway Sensor data and actuator commands are communicated over MQTT-TLS Mosquitto broker running MQTT-TLS on the edge network on the Intel® IoT Gateway. Automation Rules are stored in a MongoDB database on the Intel® IoT Gateway Local Fulfillment Functions emits a JSON object that contains the state of the IoT Device that the automation. ManagementSecurity
  • 31. What is a Trigger? A trigger is a predicate (condition) function and an action function that implements the rule based business logic on the edge network. The predicate function returns a true or false, a “Go” or “No Go” In our implementation, the stash always holds the last sensor reading from each sensor.
  • 32. Device Triggers Actions There are many possible events that an action function could trigger. ● Write Data to the LCD screen ● Restart the device ● Execute an application ● Run a script ● Request data item from the device ● Send an SMS messages to an administrator. ● Send time synchronization ● Send an alert to the cloud
  • 33. Creating a Connection to the MQTT Broker A connection URI looks like mqtt://192.168.1.1/ NodeJS has a NPM package for MQTT. var mqtt = require(‘mqtt’) will import the package MQTT has an event driven loop that allows you to customize your response to different events. On the Connect Event, we log that we connected and subscribe to the “announcement” topic the “+” matches any string. We are subscribing to all sensors that 33
  • 34. The Context Object This object holds variables and libraries that will be made accessible to the condition and trigger functions. If you want to use HTTP or MQTT in a trigger define them in the context object.
  • 35. Rules Engines For each incoming piece of data filter the list of rules by the sensor that send the incoming data and evaluate the condition function with the context if it returns true then execute the trigger function
  • 36. Condition Functions Conditions Functions, also called predicate functions, always return TRUE or FALSE.
  • 37. Example MQTT Trigger Function Example Trigger Function Publish an JSON error report to the MQTT topic sensors/temperature/errors mqttClient and ErrorModel are part of the Context Object and now are accessible under the this object Create a new MongoDB document called error. Save error to the database Be sure to put the parentheses around the entire function
  • 38. Example HTTP Trigger Function Example Trigger Function Create an HTTP POST request for the Intel Edison with the LCD. Send the HTTP request with the this.http object. Write two functions to handle the success and error conditions. Be sure to put the parentheses around the entire function
  • 39. References ● https://www.xda-developers.com/how-to-get-google-assistant-on-your-windows-mac-or-linux-machine/ ● https://inteliot.withthebest.com/#/insights/59275dec9e27000004ac3eca ● https://en.wikipedia.org/wiki/Long_short-term_memory ● https://github.com/alexa/alexa-avs-sample-app ● https://github.com/alexa/alexa-avs-sample-app/wiki/Raspberry-Pi ● https://github.com/alexa/alexa-avs-sample-app/wiki/Create-Security-Profile
  • 40.