Master of Science in Engineering in Computer Science Pervasive Systems, a.y. 2015-16 Pervasive Systems Group Project by Marco Casini and Mattia Brunetti
SmartDoorbell allows you to
- Communicate with your entrance system simply using telegram app
- Take a photo, record a video, play a sound, record a voice message from the guest to the owner
- Open the door with freehands, (using beacon)
- Share a code to known people to enter into the house
- Owner
- Friends
- Strangers
## The Owner: This should be the owner of the house, he can simply enter using a beacon, maybe in his pocket. Using beacon he can simply stay near the door, (50 cm approx) and the door will automatically open, you do not need an app for this!
## Friends The Smartdoorbell has a numeric keypad where you can simply enter the secret code and then you are in! Usefull if you are chilling with friends and you're too busy to buy beers instead of opening the door! After the 3 failed login attempts, the keypad control system is shutted down and the owner is alerted
## Strangers This should be used for any other possible situations. Stranger or people who is not trustworthy can simply press the button, a photo is automatically taken and sent to the owner via telegram. The owner can play from remote, an audio to inform the guest about something, or can take a video (30sec) to go deeper. If the stranger press the REC button, he can also record an audio message who will be delivered to the owner.
Everything runs on a telegram bot, where the owner of the house can communicate just simply typing some special commands as:
- open --> This will simply open the door from remote
- light --> This will just switch on the lihgt. Usefull for garden door or garage door.
- openL--> Open the door + light
- photo --> Simply take a photo using the camera installed on the doorbell. Automatically sent to the owner via telegram
- video --> Simply record a video of 30 sec from the camera. Automatically sent to the owner via telegram
- sound --> Play a prerecorded from the doorbell speakers
- reboot --> To reboot the rasberry pi and so the entire system
Everything is managed by the telegram bot, which starts at the startup of the system, and there is a python script for all the actions which the system can perform. (codes on the top )
This is the list of the exact items that we used. Of course you can use what do you want:
- A raspberry pi 2 --> http://amzn.to/2a3i4aZ
- A MicroUsb charger for Raspberry pi (2A minimum) --> http://amzn.to/2a3iy0I
- A microsd card (16 gb minimum) --> http://amzn.to/2a3iC0d
- A camera module (usb camera or RPI Cam) --> http://amzn.to/2a3iuxK
- Speakers
- USB Wifi adapter --> http://amzn.to/2a3in5s
- Bluetooth BLE Adapter (this is just for beacon use) --> http://amzn.to/2a3iqy2
- A multichannel relay --> http://amzn.to/2a3iygX
- A door lock
- A Lamp
- A USB keypad --> http://amzn.to/2a3iGx9
- Breadboard --> http://amzn.to/2a3iNsB
- Jumpers and wires plus a bunch of buttons -->http://amzn.to/2a3iIoz
- An external audio board for handling the microphone -->http://amzn.to/2a3j9PP
- A beacon (ibeacon or estimote), used to perform the OWNER mode --> http://amzn.to/2a3iZrW
- Download and install raspbian for raspberry pi
- Set up the Raspberry Pi, Enabling SSH, drivers and updates
- Install python 2.7 or above
- Connect and enabling the PiCamera on Raspberry Pi
- Set up Buttons and realy using jumpers in the breadboards
- Read the code to get familiarity with buttons, GPIO commands, and relay
Everything works fine. There just some some bugfixiing problems to improve and some new little features that should be developed.
- An authorization control mechanism for telegram is missing. This means that everyone can communicate to the bot if this is discovered (really simple to add)
- There is no way to change the secret code outside the code. This should be impletented dinamically and remotely, using a form to collect data maybe.
- Beacon broadcast signale range must be settled up to low meters. This means like 80cm because it will open the door everytime the raspberry catch the beacon. Everytime the raspberry catch the beacon, it opens the door, so this means that beacon must stay more than 80cm after used.
- bottonerec.py --> To record a sound from mic when a button is pressed
- button.py--> The main button, take a picture when is pressed (act as a buzzer)
- code.py-->To unnlock the door with a secure code from keypad
- mainbot.py-->The Brain of the system. The Telegram Bot. Used to manage all the actions and interoperate with the owner
- search.py--> To automatically unlock the door when a beacon is catched/detected
You can find us and of course, feel free to contact for any kind of informations:
- Marco Casini : https://it.linkedin.com/in/marcocasini2
- Mattia Brunetti : https://it.linkedin.com/in/mattiabrunetti
Slideshare page of Project: http://www.slideshare.net/MattiaBrunetti/smart-doorbell Slideshare of beacon used (sensoro) :http://www.slideshare.net/MattiaBrunetti/sensoro-beacon-review Slideshare of raspberry pi 2 : http://www.slideshare.net/MarcoCasini1/presentation-raspberry-pi-60819078
Some photos of the project : http://imgur.com/a/iopHl
The project was developed and has been presented within the course of "Pervasive Systems", held by Prof. Ioannis Chatzigiannakis within the Master of Science in Computer Science (MSE-CS), at University of Rome "La Sapienza".