A Smarter Doorbell for the Deaf

Image for post
Image for post
From Claire Sweet

On the eve of September 4th, I cracked open my laptop and logged into my student portal to see my schedule for senior year. Every class seemed standard: Calculus, Biology, English, Chemistry, ASL… Wait, ASL? Why was American Sign Language a required course in my high school curriculum?

I walked into my ASL class as a skeptic. Why couldn’t the Deaf undergo a cochlear implant surgery and hear again? How could they carry on with their lives without their sense of hearing to guide them? All these questions and more clouded my thoughts for the first few days of class until our teacher dove into the topic of Deaf Culture.

The Deaf don’t perceive their condition as a disability, but rather as a way of life. Deaf Culture, just like any culture, holds a set of values, social beliefs, behaviors, history, and traditions. As I dove further into the topic, I was inspired by the innovative methods that the Deaf use to overcome the hurdle of being hard of hearing.

  • To communicate in person or over video chat, the Deaf use ASL
Image for post
Image for post
A doorbell for the Deaf costs, on average, $60 and they haven’t been updated for over a decade!

Being the nerd I am, I ventured to the web to learn how technology was utilized to improve the lives of the Deaf. However, I was unfortunately greeted with outdated, overpriced technology on archaic online storefronts.

While this was disappointing, it was certainly no surprise. Demand drives innovation, and, from an economics standpoint, the Deaf were the minority in a primarily hearing society.

Consequently, I set out to innovate some products on my own. I wanted to start with the doorbell — one of the many products that hearing people take for granted.

The Problem:

A doorbell for the Deaf uses light and vibrations rather than vocal chimes to alert those who are hard of hearing. However, current offerings haven’t been improved upon since 2004 and don’t utilize the most useful asset offered in every household: light fixtures and lamps that are already in our home. The products shown above only strobe light in one specific area. What if you’re in another room? You can’t carry a clunky light wherever you are in your home and, not to mention, many offerings need to be plugged in at all times. Furthermore, buying multiple Strobe Signalers will run you a pretty penny, something no consumer enjoys.

Current Offerings:

Recently, the rise of smart doorbells have offered the illusion of innovation in the field of doorbells for the Deaf. However, in addition to the fact that these doorbells cost over $200, an obvious oversight of these products is that they don’t even have a function for strobing lights! The Deaf must rely on tactile feedback from phone notifications to know who is at the door and, similar to the predicament discussed above, nobody has their phone at their side 24/7.

What we Need:

The ideal doorbell for the deaf has to be:

  • Cost-friendly

Here’s how I did it:

I set out to use my knowledge in technology to come up with a solution. After hours of scouring the web, brainstorming countless ideas, and analyzing the pros and cons of many setups, I created a system that meets all of our requirements, and it’s easier than you may think! Here’s what my home looks like after everything is set up!

Image for post
Image for post
Image for post
Image for post

Pretty awesome right?

What we Need:

  • Raspberry Pi (with peripherals)($35–50) — A popular microcontroller that will be the “brain” of our setup.

Make sure your smart product has integration with a company known as IFTTT (If This Then That). To verify this, look for a variation of the following logo on the marketing material or product packaging:

Image for post
Image for post

As a nerd, all of these items were already at my disposal meaning that this setup was simply putting my resources to good use. However, for a new user, this setup may cost up to $200. No matter the case, this is still a better option than the ones listed above!

How Does this Work?

Here is a rundown of how this system works:

  • Our Amazon Dash Button, once pressed, will connect to our home network in an attempt to purchase an item. Unfortunately for Amazon, we are not letting this happen!

Preparation:

Now its time to get down to the nitty-gritty!

  • To install Raspbian, the Operating System of our neat little micro-controller, visit the guide here. Alternatively, you can purchase a Raspberry Pi and a Micro SD card with Raspbian already installed.

Step 1: Setup our Raspberry Pi to detect our Dash Button’s ARP Probes

Background: Anything that connects to our home network must identify itself using a something known as an ARP Probe. This probe contains, among many other things, the device’s unique identifier: its MAC Address. Our router checks if this identifier is being used by any other device on the network. Once our router has finished with this check, it permits a connection to our home network. When we press our Dash Button, the device fires up its Wi-FI chip and sends an ARP probe. Our Raspberry Pi’s purpose is to sniff this probe and be able to tell exactly when our Dash Button is attempting to connect to our home network.

To sniff ARP Probes, we will use a Python library known as Scapy. Open a new Python 2 document on your Raspberry Pi and paste the following code:

Now run this neat little program! What you’ll see is a bunch of MAC Addresses pop up as they connect to your home network. They look a bit like this: 72:05:68:3f:79:40 except your numbers and letters will be completely different. Now, press your Dash Button. When it connects to the network, its MAC Address will pop up on your monitor screen. Press it again just to make sure. If the same MAC address pops up, we have now identified our Dash Button!

Copy your unique address, create a new Python file, and paste this code into it.

Test out this code. When your Dash Button is pressed now, instead of your MAC address appearing, you will see “Doorbell Rang” Cool right? The hard part is over now!

Step 2: Assign an action for when your Doorbell has been pressed

Background: IFTTT is awesome enough to handle the entire backend of our operation free of charge. We are going to set up a link on our IFTTT account that, when pinged, will execute a notification or blink our smart lights.

Setting up Webhooks:

  1. After logging into your IFTTT account, visit https://ifttt.com/services/maker_webhooks
Image for post
Image for post
Press “Connect”

3.

Image for post
Image for post
Press Documentation

4.

Image for post
Image for post
Keep this tab open, we’ll need it later

Creating our Applet:

  1. Visit https://IFTTT.com/create
Image for post
Image for post
Click “this”

3.

Image for post
Image for post
Search for “webhooks” and click the Webhooks icon

4.

Image for post
Image for post
Click “Recieve a web request”

5.

Image for post
Image for post
Name your trigger. You can name this whatever you’d like but avoid capital letters

6.

Image for post
Image for post
Now click “that”

7.

Image for post
Image for post
Search for your smart device. Mine is WeMo so I clicked that and clicked my respective device

8.

Image for post
Image for post
Click “Turn on then off.” This will simulate a “blink”
Image for post
Image for post
Click “All Switches”

9.

Image for post
Image for post
Click “Finish”

10. Repeat this process for your switches and dimmers if you have them. For additional applets, name the Webhooks event name in a predictable pattern. For example, I named them “dimmer_blink” and “switch_blink”

Incorporating Notifications

  1. Visit https://IFTTT.com/create to create another applet
Image for post
Image for post
Name this trigger “notification”

4. Create this trigger and then, click on “that”

5.

Image for post
Image for post
Search “notifications” and click the notifications service

6.

Image for post
Image for post
Click “Send a notification from the IFTTT app”

7.

Image for post
Image for post
Write the phrase your notification will say. To incorporate time, click “Add ingredient” and select “OccurredAt” in the drop-down menu

8.

Image for post
Image for post
Click “Finish”

Using our Webhooks:

  1. Remember that webpage I told you to save? Go back to that tab. If you accidentally exited it, rewind and follow the directions to get back to that page and then come back.
Image for post
Image for post
Enter “plug_blink” in the first text box

3. Now, press “Test it” while your lamps are manually set to the “ON” position (This means that if you were to plug in your lamp, it should turn on and you should not have to flip a switch or turn a knob). Your lights should now blink before your eyes. Repeat this process for your other applets and verify that they work. Now we’re done! Lets put this in our code!

Step 3: Put our Webhooks links in our Code

  1. Remember the link that you created above by typing “plug_blink” in the text box? Take that link, as well as your notification link, and put it in your code like so:

Furthermore, import the library “system” by entering line 1 of this code in your document

Testing

Run your program and press your Dash Button. Your lamps and switches should all blink and a notification should be sent to your phone in seconds! Isn’t that so satisfying?

With just a few lines of code, we’ve made a breakthrough in the stagnant industry of technology for the Deaf. Let me know what you think! Is there any more archaic technology we can tackle next?

Bonus Points

Single-Room Doorbells:

With just a simple addition to our code, we can include doorbells that are specific to one room like the scenario shown below:

Image for post
Image for post

To do this, repeat the steps listed below to identify another Dash Button’s MAC Address and paste it in the new lines of code listed below. Now, your doorbell AND a room-specific doorbell can work at the same time. There are no limits on how many doorbells your home can have so go crazy!

What’s Next?

While this device works well and reduces the possibility of malfunction through the use of a third-party service (IFTTT), it is admittedly inefficient. Just think about it: to get to our light switches, our home network pings a server thousands of miles away just so the request could turn around and come right back! This leaves room for error, and not to mention, it wastes time. Our doorbell takes, on average, 5 seconds to notify our smart technology whereas, if the process were done locally, the notification would be instantaneous. I was able to use the plugin uploaded here to control my smart lights locally and I will write an additional article in the future with steps on how I did it. Until then, our system works, and it works well! Thank you for reading!

Written by

A high school senior looking to incorporate technology into every aspect of life

Get the Medium app