Project Alias

Alias is a teachable “parasite” that is designed to give users more control over their smart assistants, both when it comes to customisation and privacy. Through a simple app the user can train Alias to react on a custom wake-word/sound, and once trained, Alias can take control over your home assistant by activating it for you.

Internet of Things (IoT)PythonGPL-3.0

Abstract

Project Alias is an open-source Internet of Things (IoT) project. Alias is a teachable “parasite” that is designed to give users more control over their smart assistants, both when it comes to customisation and privacy. Through a simple app the user can train Alias to react on a custom wake-word/sound, and once trained, Alias can take control over your home assistant by activating it for you. Project Alias is an open-source parasite to hack smart home devices. Train custom wake-up names and commands for your devices while disturbing their built-in microphone with noise. It is built using Python, Machine Learning, Raspberry Pi. Key capabilities include: Multiple wake-up words; Custom commands to be told to the assistant; Change gender and language of Alias. The complete source code is publicly available on GitHub under the GNU General Public License v3.0, making it a useful reference for students building an Internet of Things (IoT) mini project or final-year project.

1. Introduction

Project Alias is an open-source parasite to hack smart home devices. Train custom wake-up names and commands for your devices while disturbing their built-in microphone with noise. Introduce false labelling to their algorithm by changing gender or nationality. Read more about the project here

This repository has been updated to 2.0. Find the old version under the branches

For the complete step-by-step guide and 3D files see our Instructables

2. Objective

Alias is a teachable “parasite” that is designed to give users more control over their smart assistants, both when it comes to customisation and privacy. Through a simple app the user can train Alias to react on a custom wake-word/sound, and once trained, Alias can take control over your home assistant by activating it for you.

This project demonstrates how Python, Machine Learning, Raspberry Pi can be applied to a real-world Internet of Things (IoT) problem.

3. Key Features / Modules

  • Multiple wake-up words
  • Custom commands to be told to the assistant
  • Change gender and language of Alias
  • Adjust wake-up word sensitivity and delay
  • New wake-up word detection powered by Pocketsphinx

4. Technology Stack

PythonMachine LearningRaspberry Pi

5. System Requirements

General requirements for this technology stack — check the README for exact versions.

  • Python 3.8 or later
  • pip / virtualenv for dependencies
  • VS Code, PyCharm or Jupyter Notebook
  • Git (to clone the repository)

6. Installation & Setup

git clone https://github.com/bjoernkarmann/project_alias.git
cd project_alias
  1. Download the alias2_0.img file
  2. Use Etcher to flash a micro SD card with the .img file
  3. Insert the micro SD card into the Raspberry Pi 3A+
  4. Power Alias up and wait for the yellow light to glow
  5. Download the latest version of Raspbian Stretch and flash your micro SD card with Etcher
  6. Copy the ssh and wpa_supplicant.conf files from the setup folder to the SD card (boot)
  7. Edit the wpa_supplicant.conf in a text editor to match your wifi settings. Insert the card to the raspberry pi
  8. In terminal ssh into the pi: sudo ssh pi@raspberrypi.localDefault password is 'raspberry'. To change password use the 'passwd' command
raspi-config
sudo apt-get install python3-dev python3-pip git libatlas-base-dev
cd && git clone https://github.com/respeaker/seeed-voicecard.git
cd seeed-voicecard && sudo ./install.sh
sudo pip3 install spidev
sudo apt-get install -y python python-dev python-pip build-essential swig git libpulse-dev
sudo apt-get install libasound2-dev
sudo apt-get install pulseaudio pulseaudio-utils libpulse-dev libpulse-java libpulse0
sudo pip3 install --upgrade pocketsphinx

Full setup instructions are in the project README.

7. Future Enhancements

Suggested extensions you can add to make this your own project.

  • Add a mobile dashboard using Blynk or Firebase
  • Store readings in a cloud database for history charts
  • Add alerts via SMS / Telegram when thresholds are crossed

8. Viva / Review Questions

Common questions examiners ask for projects in this domain.

  1. Which microcontroller / board and sensors are used and why?
  2. How does the device send data (Wi-Fi, MQTT, HTTP, Bluetooth)?
  3. Where is the sensor data stored and visualised?
  4. How is power consumption managed?
  5. How would you secure the device and its communication?

9. Source Code & License

This project is developed by bjoernkarmann and published on GitHub under the GNU General Public License v3.0. Please follow the license terms and credit the original author when you use or modify this code.

Want to build this as your internship project?

Work on an Internet of Things (IoT) project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.

Apply for Internet of Things (IoT) Internship