Smart CARs are not a new concept. But the so-called smart cars are not affordable and accessible to all public due to the huge initial investment. There is a need for an affordable, simple and general module that can be integrated into any existing cars, regardless of make and model. Thanks to our Smart CAR module concept which integrates a Matrix Creator and Arduino MKR board, any car can now be turned into a Smart CAR. The module uses the inbuilt features of the Matrix Creator to carry out tasks in monitoring the levels of safety and comfort.Introduction
We propose to develop a low cost, yet powerful smart module that can sufficiently control and increase the comfort and safety of any car without any increase in human effort. It employs keyless car startup using NFC, cabin temperature control, accident detection and response using IMU and a smart assistant that incorporates offline speech recognition for communication and cabin entertainment using the Snips platform.Workflow
The Matrix and Snips setup guides are referred from the guides here: https://www.hackster.io/matrix-labs/matrix-voice-and-matrix-creator-running-snips-ai-b48344
Before getting started, let's review what you'll need.
- Raspberry Pi 3 B/B+.
- MATRIX Voice or MATRIX Creator - Raspberry Pi does not have a built-in microphone, the MATRIX Voice & MATRIX Creator each have an 8 mic array.
- Micro-USB power adapter for Raspberry Pi.
- Micro SD Card (Minimum 8 GB) - An operating system is required to get started. You can download Raspbian Stretch and use the guides for Mac OS, Linux, and Windows Onthe Raspberry Pi website.
- Micro-USB Cable.
- A USB Keyboard & Mouse, and an external HDMI Monitor. You can also use the Raspberry Pi remotely, see this guide.
- Internet connection (Ethernet or WiFi).
- A relay board. We used a Grove Relay.
Setting up theMatrix device.
Once set up, ensure you enable SSH on your Raspberry Pi. This allows the SAM CLI tool to connect to your Pi.
Follow the steps below in order for Snips to work on your Raspberry Pi.
On your personal computer, you will be using the SAM CLI tool to create, manage and deploy your Snips assistants, to configure your hardware, to view the logs of your assistants on the Raspberry, as well as to run your application locally for quick prototyping.
On your personal computer, you'll need to install Node.js as a prerequisite. Once installed, you can install SAM into your computer with the following command.
macOS / Linux
sudo npm install -g snips-sam
Right click your Command Prompt and click "Run As Administrator", before running the command below.
npm install -g snips-sam
Although the installation will be on your Raspberry Pi, Snips will be installed through the SAM CLI tool from your personal computer. Open your personal computer's terminal and input the following commands.
This command should log all of the Raspberry Pis on your network with their IP address and hostname. If no devices are shown, you can follow this guide as an alternative for obtaining your Pi's IP address.
Connect to your Raspberry Pi through one of the following:
- Using your Pi's hostname.
sam connect raspberrypi.local
- Or your Pi's IP address.
sam connect 192.168.1.182
You'll then be prompted to insert a username and password. The default login is as follows:
- Username: pi
- password: raspberry
After you're connected use the init command, from your personal computer, to install Snips onto your Raspberry Pi.
With Snips.ai properly installed, the next step is to edit the
snips.toml file for configuring the mics.
On your Raspberry Pi's terminal, run the following:
sudo nano /etc/snips.toml
Scroll down to where you see
[snips-audio-server] and replace
# mike = "Built-in Microphone"
with the following:
mike = "MATRIXIO-SOUND: - (hw:2,0)"
Press ctrl+x, press y, and then press the enter key to save your changes.
From your computer's terminal, sign in through the Sam CLI Tool.
Connect to your Raspberry Pi. When prompted for a username & password, you can press the enter key to insert the default Raspberry Pi credentials.
sam connect YOUR.PI.IP.HERE
Check if Snips is running
# Example output
# If all services are not (running), use the `sam init` command
snips-analytics .............. 0.60.10 (running)
snips-asr .................... 0.60.10 (running)
snips-audio-server ........... 0.60.10 (running)
snips-dialogue ............... 0.60.10 (running)
snips-hotword ................ 0.60.10 (running)
snips-nlu .................... 0.60.10 (running)
snips-skill-server ........... 0.60.10 (running)
snips-tts .................... 0.60.10 (running)
Begin viewing the Snips event stream. This will let us verify if your intents are being heard.
Creating A Snips Assistant & App
Sign in to your Snips.ai and create an assistant. Feel free to choose the wake-word you want. Once created, make a new application named
<SNIPS APP figure>
Add an Intent to Your App
Intents are what Snips uses to handle user requests. For this Assistant, we'll start by creating an intent for turning On/Off the MATRIX Creator's LEDs.
Create a new intent called
StartMusic for your
<To be updated>