Tech minds think alike, and when a problem arises, usually the obvious answer is not the best. Here's how we solved a big Zoobe office pain with the help of Slack, probably the best thing to happen to teams since Google Docs.
Tuesdays we share a salad lunch together at Zoobe and on Wednesdays, we start our day with a healthy smoothie prepared by Monica. In order to get your Salad and Smoothie you had to register through Monica and pay a little fee for registration. But the problem was people always forgot to register on Monday. That’s when Monica suggested having an automatic reminder. And since we depend heavily on Slack for our internal communication, we thought of implementing a Slack bot which had a single task of reminding people if they are interested in joining the Salad and Smoothie event for the specific week. That’s when Lucy was born; our lovely little Slack bot.
Few days after writing Lucy and making sure she is reminding people in a proper manner, I came across this blog post about some friends who are opening their office doors with a Slack bot. This blog post absolutely inspires us to do the same thing, because we have a slack bot ready, so why not extend its tasks? Plus, it definitely felt like a cool thing to be having at the office!
Then we started connecting Lucy to our door. Now at Zoobe, we do not talk through the door intercom but we literally talk directly to the intercom! :D
Before Lucy
Door intercom before Lucy
After Lucy
Door intercom after Lucy
So now, for a Zoobe employee, you do not need a key for the downstairs door but all what you need to do is text "door" to Lucy directly in a private conversation to open the door for you.
Lucy in action
Lucy in a GIF
Demo
Technical Details
If you are curious how the door feature is implemented, this is the right place. Let's start with a final overview on how the extra door feature looks like physically.
Intercom uncovered
On the hardware level, it was quiet simple. We just used a Raspberry Pi that fits perfectly in the intercom box connected to the intercom circuit through a simple relay circuit. The raspberry Pi is running a simple Python server connected to our local network through an internet cable. The other cable you can see in the picture is just the power source for the Raspberry Pi. So its as simple as that; a raspberry pi (can be replaced by any micro controller available), two cables and a relay circuit.
On the software level, a simple Python server is always running and listening to any HTTP Get request on a predefined port. This Get requests calls the Raspberry Pi to fire a signal from PIN 11 for the relay circuit which results into connecting the door pins inside the intercom board resulting into an open door.
As for Lucy, she is running on a node server on our staging environment, if she ever listens to a 'Door' string she will simply send a Get request to the raspberry pi on an agreed IP and port number.
We had to test how sound the system is; and here is the reaction of our first user.
Monica's reaction on using the Lucy door extension for the first time.
That's simply it. Now you can start hacking your intercom too!