Open Sesame




Introduction: Open Sesame

About: I'm a Univern! I'm following a one year intense program to learn, meet amazing people & gain parctical experience on a global scale.

The user flashes a QR Code (or accesses a website) to ring a door bell in a remote location.


Operation Principle:

When the user accesses the website, an ajax call is performed which changes the contents of a .txt file to "on". The Raspberry Pi checks this file every second. If it detects a change, it plays the sound and changes the contents of the .txt file to "off". The web interface then updates to tell the user that the bell has rung.

Created @ ICAH

Step 1: Get Your Material.

You will need a:

- Raspberry Pi

- wifi dongle (e.g. Edimax EW-7811Un)

- speakers

- a sheet of mdf (4mm)

- A web hosting service (e.g. GoDaddy, Hostgator, etc)

- A laser cutter

Step 2: Web File Upload

Create a directory on your web server & add the files in the folder "". You can use an FTP client (e.g. Filezilla).

When visiting http://yourwebsite/directory you should see the interface.


The folder contains 6 files:

- index.html : the main entry point. contains the DOM structure

- style.css: the css

- status.txt: a text file storing the values "on" or "off" depending on whether the sound has been played

- ajax.php: php scripts to check the status.txt file

- script.js: js scripts to perform ajax calls

- doorbell.svg: icon to display on the screen


Step 3: Configure the Wifi on the Raspberry Pi

To configure the wifi:

1. Boot the Raspberry Pi and run: sudonano etc/network/interfaces

Edit the file so that it looks like:

auto lo
iface lo inet loopback iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf 
iface default inet dhcp

2. Run the command: sudo nano etc/wpa_suppilicant/wpa_suppilicant.conf

- If you are on a WPA-EAP network, edit the file so that it looks like:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev<br>update_config=1</p><p>network {ssid=""     
identity="" }

- If you are on a WPA-PSK network, edit the file so that it looks like:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev<br>update_config=1</p><p>network {ssid=""      

Step 4: Add the Files to the Raspberry Pi

You can clone all files to the raspberry pi from my github by using:

git clone

(if you haven't installed git on your Pi, you can run: sudo apt-get install git)

Otherwise, just copy the files,, audio.mp3 in some directory on your Pi.

Make sure to change the lines:

response = http_request(http://yourURL/status.txt")



so that they point to your URL.


Step 5: Run Program on Pi Boot

To run the program immediately when the Pi boots up, we use a crontab. A crontab is a background (daemon) process that lets you execute scripts at specific times. It's essential to Python and Raspberry Pi. To do this, open the file

nano connected-doorbell/pi/

Make sure that the line

cd home/pi/connected-doorbell/pi

is pointing to the directory containing your program.

Then, follow this excellent tutorial:

(starting from step 2)

Step 6: Create the Poster

Generate a QR code for your url by visiting this website:

Open the poster.svg file & edit it with your favorite vector editing software (e.g. illustrator, inkscape, etc)

Step 7: Laser Cut and Assemble!

Laser cut the house & the case for the raspberry pi.


Be the First to Share


    • Big and Small Contest

      Big and Small Contest
    • Make It Bridge

      Make It Bridge
    • Game Design: Student Design Challenge

      Game Design: Student Design Challenge



    8 years ago on Introduction

    love this! so clever! thanks for sharing with the Instructables community!