Smart Home Design Based On Voice Recognition

Slides:



Advertisements
Similar presentations
Intel Do-It-Yourself Challenge Networking
Advertisements

Touchsquid Technology Inc. Setting up the TouchSquid Remote App.
Manar Mousa Al-Hamaidi
Global MP3 Geoffrey Beers Deborah Ford Mike Quinn Mark Ridao.
                      Digital Audio 1.
Why to learn OSI reference Model? The answer is too simple that It tells us that how communication takes place between computers on internet but how??
Software Frame Simulator (SFS) Technion CS Computer Communications Lab (236340) in cooperation with ECI telecom Uri Ferri & Ynon Cohen January 2007.
Multi Instruments Data Acquisition Software Evolution
ST/PRM3-EU | | © Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying.
Computer Basics 1 Computer Basic 1 includes two lessons:
L ocal I nformation S ervice By: Uri Gold & Kadan Haba Supervisors: Lev Rechnik & Alexander Arlievsky.
INTERNET DATABASE. Internet and E-commerce Internet – a worldwide collection of interconnected computer network Internet – a worldwide collection of interconnected.
11 Networks The Great Information Exchange. 2 Networking Fundamentals Computer network: Two or more computers connected together Each is a Node Benefits.
Students: Nir Engelberg Ezequiel Hadid Supervisor: Mony Orbach In association with: January 3, Winter 2005.
INTRODUCTION Toomeeting Conference (TMC) is the easiest and more accessible multimedia videoconferencing solution on market. TMC offers a large portfolio.
Topics 1.Taking the Lock into use – physical serialization 2.Detailed setup options 3.Using mobile broadband 4.Taking the Key into use.
A+ Guide to Software, 4e Chapter 11 Supporting Printers and Scanners.
Troubleshooting methods. Module contents  Avaya Wireless tools  Avaya Wireless Client Manager  Avaya Wireless AP Manager  Hardware indicators  Non.
Embedded Programming and Robotics Lesson 12 Introducing the Raspberry Pi Intro to Raspberry Pi1.
Automatic Software Testing Tool for Computer Networks ARD Presentation Adi Shachar Yaniv Cohen Dudi Patimer
Wireless Networking 102.
Finding Nearby Wireless Hotspots CSE 403 LCA Presentation Team Members: Chris Scoville Tessa MacDuff Matt Mohebbi Aiman Erbad Khalil El Haitami.
1 Introduction to Web Development. Web Basics The Web consists of computers on the Internet connected to each other in a specific way Used in all levels.
SINGLE BOARD COMPUTERS -KEVIN JOSE. WHY DO WE USE THEM? Good performance at low price GPIO capability to interact with the outside world Small form factor,
Performed by : Matan Cohen & Sefi Cohen Instructor: Mony Orbach המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory הטכניון - מכון טכנולוגי.
VoiceXML Builder Arturo Ramirez ACS 494 Master’s Graduate Project May 04, 2001.
Introduction to IT and Communications Technology Justin Champion Network Connections & Number Systems.
NETWORK CENTRIC COMPUTING (With included EMBEDDED SYSTEMS)
Internet Addressing. When your computer is on the Internet, anything you do requires data to be transmitted and received. For example, when you visit.
DEC0905 Remote Control of Home Appliances ABSTRACT The objective of this project is to enable users to remotely control home appliances and systems over.
Lab How to Use WANem Last Update Copyright 2011 Kenneth M. Chipps Ph.D. 1.
VoIP, Asterisk, and Java Michael P. Plezbert Agilis Systems, Inc St. Louis Java Users Group April 13, 2006.
RC CAR CONTROLLER BASED ON INTEL GALILEO SOC PLATFORM Nadav Shiloach Sagi Sabag Supervisor: Idan Shmuel Spring 2014 One Semester Project PROJECT’S ENDING.
Application Layer CHAPTER 2. Announcements and Outline  Administrative Items  Questions? Recap 1.Introduction to Networks 1.Network Type 2.N etwork.
1 Chapter Overview Using the New Connection Wizard to configure network and Internet connections Using the New Connection Wizard to configure outbound.
Learningcomputer.com SQL Server 2008 Configuration Manager.
The group will focus on the design of a “smart” device. This includes researching the best method of design and fabricating the design to create a working.
IPower: An Energy Conservation System for Intelligent Buildings International Journal of Sensor Networks Yu-Chee Tseng, You-Chiun Wang, and Lun- Wu Yeh.
Home Media Centre Smart Interface Demonstration School of Information Technologies University of Sydney.
Application Block Diagram III. SOFTWARE PLATFORM Figure above shows a network protocol stack for a computer that connects to an Ethernet network and.
Home Intrusion Detection System Andre, Irena, Priyanka, Balta.
INTERNET. Objectives Explain the origin of the Internet and describe how the Internet works. Explain the difference between the World Wide Web and the.
Smartmote What your television remote should have been.
Copyright © 2012 Kendall Electric, Inc. All rights reserved.
Introduction :  In the beginning, the calculator is the basic idea of computers out, then that arrived at the large computers.  in1980 or late seventies.
Copyright © 2002 Pearson Education, Inc. Slide 3-1 Internet II A consortium of more than 180 universities, government agencies, and private businesses.
Week1: Introduction to Computer Networks. Copyright © 2012 Cengage Learning. All rights reserved.2 Objectives 2 Describe basic computer components and.
Semester 1 v CCNA 1 Module 1:Introduction. Semester 1 v Connecting to the Internet.
Digital Literacy: Computer Basics
21 st november  Iphone – texting-internet-apps- when texting it sends wirelessly to the reciver  Laptop-downloading-internet- it travels using.
Voice Controlled Home Automation System Group 13 Zhe Gong Hongchuan Li.
Final Presentation Smart-Home Smart-Switch using Arduino
Chapter 4: server services. The Complete Guide to Linux System Administration2 Objectives Configure network interfaces using command- line and graphical.
/16 Final Project Report By Facializer Team Final Project Report Eagle, Leo, Bessie, Five, Evan Dan, Kyle, Ben, Caleb.
Computer Networks CSC September 23,
Written by : Oren Frenkel Intel Confidential ® C CD SDS.
2007/11/16 Dinh Trong Thuy RTLab
2N IP Intercoms Advanced Settings 2017.
z/Ware 2.0 Technical Overview
Ping™ 6.
HOME AUTOMATION SYSTEM
Home Automation System
Final Revision Notes-Grade10
                      Digital Audio 1.
Speech Capture, Transcription and Analysis App
PAVIRO - Introduction Security Systems
Radoslaw Jedynak, PhD Poland, Technical University of Radom
Designed by Hwandong Joo
Message Passing Systems Version 2
Message Passing Systems
Presentation transcript:

Smart Home Design Based On Voice Recognition Using Galileo and Raspberry Pi Written in Python script language Semesterial project Students : Matan Cohen & Sefi Cohen Supervisor : Mony Orbach Spring 2014

Motivation Most smart homes today require a remote instead of being hands-off We want to automate home life We want to control appliances from afar without remotes Smart home products are expensive Smart home products aren’t extendible

Project Goals To build an infrastructure of an interactive home It’ll need to be hardware extendible – Can add more components in the future easily It’ll need to be software extendible – Can add more software features easily To build a prototype which turns on a led with the right command. Voice recognition based commands Since most products out there require a remote (which is a hassle), ours will be hands-off. Communicate with the user – Using TTS we can have the system speak back and give the user indications on actions being performed To experience designing hardware and software product from scratch. To get our hands dirty with both hardware and programming at the hardware & software environments.

Project Vision Sketch (for example) BEDROOM LIVINGROOM MIC MIC Raspberry Pi Raspberry Pi Galileo Galileo I N T E R TV SERVER (RP or PC) Electric Blinds WHEREVER

Hardware Environment Galileo Raspberry Pi Based on ARM Linux based Open Source On board GPU On board sound card Ethernet Based on Intel Quark Arduino based Open Source Ethernet

Software Environment Raspberry Pi - Linux environment Using Python script language. Galileo – Linux environment Using implemented library of Arduino in Python. Both are controlled via SSH protocol.

Hardware Architecture Linked through internet

Software Architecture Raspberry Pi - Linux environment Listener program – record the voice from the microphone and send the wav file to voice recognition unit . Voice recognition unit – based on WIT learning speech recognition web service online. RabbitMQ SERVER – Linux environment Server SW– receive and send the analyzed messages from client to client. Command Parser– parse the received string and send a signal to the right Galileo to run the right add-on script Galileo – Arduino environment Add-ons scripts written in python using Arduino library . Scripts like lights and blinds are already implemented.

Configuration file We need to initialize the HW component with information that it needs to function properly. When we add a new component (recording like Rpi or commands invoker like Galileo) we have to write a “system config” file which contain the following : Mic – insert microphone dry details : Format, Rate, Channels number and Chunk size. Voice Energy Threshold – which the microphone will start recording from this energy and above. WIT Key – that serial number is needed for connecting to the WIT web service. Name – The component's name. It takes part in routing the message to the right component via RabbitMQ. Commands – The addons that are supported on this component.

External SW Components RabbitMQ – Server Implementation There is a lot of different implementation of servers – we choose “Routing” which in this implement every target has a queue of his own and he gets only the messages that’s addressed to him In the code the RabbitMQ is called “AMQP” (Advanced Message Queuing Protocol) which is the name of the protocol which RabbitMQ implements .

External SW Components cont. wit.ai – Voice recognition web service enables developers to add a language interface to their app or device in minutes. It’s a learning system and as one we need first to provide a few examples of queries to get the expected responses. We use their API to send queries and get the response as structured information back (JSON) Py Galileo Library – Python library for Galileo board Helps us write code in python that control the pins on the board like Arduino does.

Main Software Components Text To Speech Module – Given a string, create an audio file using a Google TTS service that says that string aloud. Plays that file. Wit Query Analyzer – using WIT web service. Given an audio recording of a command, the WIT service returns a JSON that can be worked with containing information about what was said. Client - Manages sending parsed commands to the correct HW component.

Main Software Components cont. Receiver - Receives a command from another HW components and starts processing it by sending it to the Addon Manager Addon Manager – when the Receiver gets a command the Addon Manager is responsible for checking the validity of the command and executing the right script

Flow of events - System POV Voice message is received in Raspberry Pi The message is analyzed by WIT web service online and a json file returns as a string This json file is wrapped by private object called wit_response – locally on Raspberry Pi From Rpi the analyzed message is sent to the right target by the RabbitMQ server which send the message according to the target’s name

Flow of events - System POV cont. The target (Galileo or other Rpi) receives the wit response and transfers it to the add-on manager The add-on manager that runs on the target checks if (in the system configuration file) the target supports the command. It does this by checking if the "intent" field in the wit response object is found in the "commands" field list in the component's JSON configuration file. If there is a match the add-on manager executes the right script (and pass to the add-on the original wit response since the wit response includes information needed by the addon itself as well.)

Demonstration Equipment 1 Raspberry pi 2 Galileo 1 PC (the SERVER) 1 SD card (for Rpi) 2 mini SD card (for Galileo) 1 USB sound card 3 Ethernet cables 2 USB microphone 1 Speakers 1 Led circuit 1 Buzzer circuit

Demonstration Environment MIC SPK BUZZ LED USB Connected Electric Circuit Electric Circuit Galileo RP Galileo Ethernet Connection SSH Connection over TCP/IP INTERNET RabbitMQ SERVER

Starting Demonstration Burning the Linux version on SD cards for all the hardware components. Connecting the all the Demo environment as the sketch in the last slide. Connect the Rpi and Galileo through direct Ethernet connection. Run the command Nmap from any PC in order to find the hardware IP’s Connected to all the hardware components through SSH protocol over TCP/IP.

Starting Demonstration cont. Write a configuration file for each component : Measure the energy threshold using script. Insert the Microphone factory properties . Inset the WIT key. Give a name to the component. Enter the commands that are available for this “room”/HW component. Execute the RabbitMQ server on PC or on one of the Raspberry Pi and “tell” the other components his IP. Execute on each Raspberry Pi in the all system the client “audio_client” program. Execute on each Galileo the “receiver_client” program.

FAQ Why python ? Why do we need the server in the middle ? It’s a strong language with all the libraries we need. It’s easier to write code in. Why do we need the server in the middle ? Because we want to make Hardware extendible infrastructure and we need a server to control all the units in the house . How can we configure new microphone ? In the system configuration file we can edit the mic factory settings (format, rate, channels number and chunk size). How can we configure energy threshold in the config file ? Special script written for that matter ,named energy_threshold.py, which measure the silence and loud energies in the room (will be shown in demo).

FAQ cont. What about the delay of the all system? We add to our software “performance counters” for getting information about the time of each action. The voice recognition proccess (using WIT) is taken between 6 to 12 seconds depend on the network speed and the load on WIT server. The sketch upload to the right galileo device is taken between 1 to 2 seconds. How can we do the initialize step hands off ? At our home we could give the server static IP and write the IP in the configuration file so that all the other devices will know who is the server. Then we need to define in each device the right scripts that’s needs to be uploaded from the start.

Future Upgrades Make the voice recognition SW run locally It will shorten the delay significantly. “Sphinx” – library that implement voice recognition locally. Use Zero-configuration networking In our project its important that each device is getting an IP address. In this methodology DHCP server is not necessary for network configuration and there is no need in manual operator intervention or other special configuration servers. Make the all system wireless

Future Possible Projects Add camera and use facial recognition algorithms If its not someone familiar turn on the alarm. If its someone familiar turn on the A/C and his favorite music. Add a web application of user interface Easy to configure hardware components. Easy to add software add-ons. Control away from home will be enabled.

Questions ? Thank you all very much !!!