SEER- InternetOfThings Based Intelligent Personal Assistant
by Rishik45 in Circuits > Wireless
2564 Views, 29 Favorites, 0 Comments
SEER- InternetOfThings Based Intelligent Personal Assistant
Seer is a device which will play a booster role in the field of smart homes and automation.It is basically an application of internet of things.
SEER is a 9-inch hands-free wireless speaker made up of Raspberry Pi 3 model B with an integrated camera you control with your voice.SEER runs on Amazon Web Services and requires a Hologram Nova USB modem for high-speed internet connection. To initiate a command, SEER must hear a 'wake word.' The default word is 'SEER', although you can change it through our app.
With SEER, a compatible device can play music, answer questions, control the lights, and much more.
SECURITY-SEER is a new approach to smart home security, automation, voice control.
01 Seer automatically pulls in contacts for police, fire, and EMS closest to your home, giving you one-touch access to the proper authorities no matter where you are in the world. With video and audio evidence of burglaries in progress, your call will get the priority it deserves.
02 Automatic mode switching. There's no need to fuss with a keypad or even pull out? your phone. Seer senses when you come and go, and automatically changes modes.
03 High-quality video, day or night. With Seer premium video quality, superior night vision, and 147-degree wide-angle lens you can always know what's happening at home. Watch live anytime and stream full-length HD clips at no extra cost.
04 Privacy you can trust. With a built-in privacy setting, Seer lets you completely shut down the camera and microphone at any time. When recording, Seer employs extensive security measures to protect private data.
SYSTEM-
01 Seer plays all your music from, Spotify, Pandora, heart radio, TuneIn, Amazon Music and more using just your voice. We all like to know how our favorite sports teams are doing. With Seer, you can hear details such as scores and upcoming schedules for INDIAN sports. All you need to do is say 'Seer, give me my sports update.
02 With merely your voice, you can control your lights. You can ask Seer to toggle all lights on or off or change the color of your lights each time a new song plays on your Seer device.
03 Unless you work from home, traffic conditions to your place of business is an important detail to know each day. Luckily, Seer can help you avoid traffic jams.
04 Domino's Pizza now makes it possible to order food simply by sending a tweet. Thanks to IFTTT, this feature has been further automated so that you can order pizza with your voice. To do so, you must use IFTTT and have a Twitter account.
05 Yes, you can order on Uber using our Seer. To do so, we'll need to add the capabilities to the Seer app. Select Skills under the main menu in the app. Find 'Uber,' and then select 'Enable skill.' You must 'Agree & Enable,' which allows Uber to access your device location.
06 This is gold for specially abled peoples as those can't see has to suffer many day 2 day hustles, as a helping hand we have a skill, that according to the mood it sings, speaks, chats, and many mares what person wants.
07 With Seer you can create alarm, reminders, even calls, message, reply them and create a full environment of a smart home.
08 Help The visually impaired/old age people to connect with the world by giving them access to Wikipedia, Gmail, music, news, voice controlled calculator.
Required Hardware
Before you get started, let's review what you'll need.
Raspberry Pi 3 (Recommended) or Pi 2 Model B (Supported)
Hologram Global IoT SIM Card
Hologram Huawei E303/353 USB Cellular Modem
STEVAL-STLKT01V1 - Using ST Microelectronics STEVAL-STLKT01V1 we will make a smart security camera which will notify you whenever someone unauthorized persons enter your shop/house. STEVAL-STLKT01V1, motion Sensors will be used to detect the motion in 360 degrees and then raspberry pi 3B with the help of a motor will move in that direction and snap photos and It automatically inform the concerned persons. through the Android app, we can look out what is happening and call for emergency. Sensor Tile Cradle with battery charger, humidity and temperature sensor, SD memory card slot, USB port Connects to pi and send data to Amazon voice services.
Micro-USB power cable for Raspberry Pi.
Micro SD Card (Minimum 8 GB) - You need an operating system to get started. NOOBS (New Out of the Box Software) is an easy-to-use operating system install manager for Raspberry Pi. The simplest way to get NOOBS is to buy an SD card with NOOBS pre-installed - Raspberry Pi 8GB Preloaded (NOOBS) Micro SD Card. Alternatively, you can download and install it on your SD card (follow instructions here).
USB 2.0 Mini Microphone - Raspberry Pi does not have a built-in microphone; to interact with Alexa you'll need an external one to plug in.
External Speaker with 3.5mm audio cable.
A USB Keyboard & Mouse, and an external HDMI Monitor - we also recommend having a USB keyboard and mouse as well as an HDMI monitor handy if you're unable to remote(SSH)into your Pi.
WiFi Wireless Adapter for Pi 2. Note: Pi 3 has built-in WiFi.For extra credit, we'll show you how to remote(SSH) into your device, eliminating the need for a monitor, keyboard, and mouse - and how to tail logs for troubleshooting.
Connect Raspberry Pi to Cellular With Huawei E303 Modem
The Raspberry Pi is a great IoT platform and it's even better with a cellular internet connection.
Having cellular connectivity on your Raspberry Pi can open up a whole world of other cool projects for you. Anywhere where wifi may not be feasible you can now have an internet connection.
Just follow these simple instructions:
- Install the latest version of Raspbian by following the instructions on the Raspberry Pi site.
- Insert the Hologram SIM card into the Huawei modem by sliding the cover off and then inserting it with the contacts down. Note that it takes a mini-SIM card size.
- Plug the modem into the Raspberry Pi and boot up the Pi
- Open up a terminal window and type ifconfig . You should see an entry for eth1 as shown in the image.
- Type sudo dhclient eth1 to assign an internal IP address to the modem.
- Open up the web browser on the Pi and go to http://192.168.1.1
- Go to the profile management page in the modem settings and create a new profile. You'll want to set the APN to "hologram" and leave the username and password blank as shown in the image.
- Then go to the Mobile Connection page and make sure the network is set to "Auto" and that roaming is enabled.
- The modem should now connect to the cellular network (you'll see the LED on the modem light up when it connects successfully)
- Try pinging something or going to a website (like http://hologram.io/test.html )You should now be able to do anything you want over the internet.
- The modem will save your APN settings so you don't need to configure it again.
- Newer versions of Raspbian shouldn't need any extra configuration to automatically bring the connection up when the board is plugged in but if you have any trouble, add these lines to /etc/network/interfaces
allow-hotplug eth1
iface eth1 inet Dhcp
Setting Up Your Pi
Unless you already have Raspbian Jessie installed on your Pi, please follow our guide - Setting up the raspberry pi - that will walk you through downloading and installing Raspbian Jessie, and connecting the hardware (if you're unfamiliar with Raspberry Pi, we highly recommend you follow the guide above to get your Pi up and ready before moving further).
Register for an Amazon Developer Account
Unless you already have one, go ahead and create a free developer account at developer.amazon.com. You should review the AVS Terms and Agreements here.
Create a Device and Security Profile
Follow the steps here to register your product and create a security profile.
Make note of the following parameters. You'll need these in Step 5 below.
- ProductID (also known as Device Type ID),
- ClientID , and
- ClientSecret
Important: Make sure your Allowed Origins and Allowed Return URLs are set under Security Profile > Web Settings (see Create a device and security profile):
- Allowed Origins: https://localhost:3000
- Allowed Return URLs: https://localhost:3000/authresponse
Clone the Sample App
Open terminal, and type the following:
cd Desktop
git clone https://github.com/alexa/alexa-avs-sample-app.git
Update the Install Script With Your Credentials
Before you run the install script, you need to update the script with the credentials that you got in step 3 - ProductID, ClientID, ClientSecret. Type the following in terminal:
cd ~/Desktop/alexa-avs-sample-app
nano automated_install.sh
Paste the values for ProductID , ClientID , and ClientSecret that you got from Step 3 above.
The changes should look like this:
- ProductID="RaspberryPi3"
- ClientID="amzn.xxxxx.xxxxxxxxx"
- ClientSecret="4e8cb14xxxxxxxxxxxxxxxxxxxxxxxxxxxxx6b4f9"
Type ctrl-X and then Y, and then press Enter to save the changes to the file.
Run the Install Script
You are now ready to run the install script. This will install all dependencies, including the two wake word engines from Sensory and KITT.AI.
Note: The install script will install all project files in the folder that the script is run from. To run the script, open terminal and navigate to the folder where the project was cloned. Then run the following command:
cd ~/Desktop/alexa-avs-sample-app
. automated_install.sh
You'll be prompted to answer a few simple questions. These help to ensure that you've completed all necessary prerequisites before continuing.
When the wizard starts, go grab a cup of coffee - it takes about 30 minutes.
Run Your Web Service, Sample App and Wake Word Engine
Now that installation is complete, you'll need to run three commands in 3 separate terminal windows:
- Terminal Window 1: to run the web service for authorization
- Terminal Window 2: to run the sample app to communicate with AVS
- Terminal Window 3: to run the wake word engine which allows you to start an interaction using the phrase "Alexa".
Note: These commands must be run in order.
Terminal Window 1
Open a new terminal window and type the following commands to bring up the web service which is used to authorize your sample app with AVS:
cd ~/Desktop/alexa-avs-sample-app/samples
cd companionService && npm start
The server is now running on port 3000 and you are ready to start the client.
See API Overview Authorization to learn more about authorization.
Terminal Window 2
Open a new terminal window and type the following commands to run the sample app, which communicates with AVS:
cd ~/Desktop/alexa-avs-sample-app/samples
cd javaclient && mvn exec:exec
See API Overview Interfaces to learn more about the messages sent to/from AVS.
Let's walk through the next few steps relevant to Window
1. When you run the client, a window should pop up with a message that says - Please register your device by visiting the following URL in a web browser and following the instructions:
https://localhost:3000/provision/d340f629bd685deeff28a917 . Would you like to open the URL automatically in your default browser?
Click on "Yes" to open the URL in your default browser.
2. If you're running Raspbian Jessie with Pixel desktop (and with Chromium browser), you may get a warning from the browser. You can get around it by clicking on Advanced -> Proceed to localhost(unsafe).
3. You'll be taken to a Login with Amazon web page. Enter your Amazon credentials.
4. You'll be taken to a Dev Authorization page, confirming that you’d like your device to access the Security Profile created earlier.Click Okay.
5. You will now be redirected to a URL beginning with
6. Return to the Java application and click the OK button. The client is now ready to accept Alexa requests.
Terminal Window 3
Note: Skip this step to run the same app without a wake word engine.
This project supports two third-party wake word engines: Sensory's TrulyHandsFree and KITT.AI's Snowboy. The -e parameter is used to select the agent and supports two values for {{engine}}: kitt_ai and sensory .
Open a new terminal window and use the following commands to bring up a wake word engine from Sensory or KITT.AI. The wake word engine will allow you to initiate interactions using the phrase "Alexa".
To use the Sensory wake word engine, type -
cd ~/Desktop/alexa-avs-sample-app/samples
cd wakeWordAgent/src && ./wakeWordAgent -e sensory
or, type this to use KITT.AI's wake word engine -
cd ~/Desktop/alexa-avs-sample-app/samples
cd wakeWordAgent/src && ./wakeWordAgent -e kitt_ai
Now you have a working hands-free AVS prototype!
Use the following resources to learn more about available wake word engines:
Talk to Alexa
You can now talk to Alexa by simply using the wake word "Alexa". Try the following -
Say "Alexa", then wait for the beep. Now say "what's the time?" Say "Alexa", then wait for the beep. Now say "what's the weather in Seattle?" If you prefer, you can also click on the "Listen" button, instead of using the wake word. Click once on the "Listen" button, after releasing the click, wait for the audio cue before beginning to speak. It may take a second or two before you hear the audio cue
How to Log Out of the Sample App
Go Headless and Get Rid of the Monitor, Keyboard, and Mouse
Now that you've got your AVS prototype running, you may want to get rid of the monitor, keyboard and mouse. You can do that by using SSH and VNC.