book collections email follower instructable user

Step 11: More Options

Picture of More Options

With the PiNG doorbell finally working I had a lot of fun with the kids (& cats) making the project video, and started thinking about the other things we could do with it. As the Python code is so simple to adapt there are endless options here, many of which I hope to try out soon:

  • Set the script to take a picture each time the doorbell is pressed, and upload it to Dropbox
  • Set the notification LED on the bellpush to light up constantly in the evening, either at a set time or using a Python module like Astral to calculate the local sunset/sunrise times
  • Set the ringtone & speech volume to automatically reduce at night (I just flip open the cassette lid and use the buttons on the pHAT)
  • Add in an extra button inside the house to cancel the call in case it's ringing but someone answers the door "manually" - it does time out after about 45 seconds however.
  • Set the script so that you can call the doorbell back - you could possibly poll the window name or check which window has focus and tell it to click "answer" if it detects the change
  • Theoretically you could program in the button & keyboard presses to automatically log in to Google Duo to save having to do this via VNC - this feels a bit unsafe though, and Duo does stay logged in once you've done it, I've left it running for days on end between presses to test it.

There are also lots of hardware adaptations possible:

  • Cut the USB cable and extend it using multi-core alarm cable (You can get 8-core quite easily) - I'm not 100% this will work or how long you could go but it would mean a much smaller hole to drill.
  • Make a version that uses a PIR sensor to start the call instead of a button - this would need fine tuning to be practical, but would be handy if your child has lost their ball and you can see it behind a chair in the garden.
  • Add in some extra LEDs or a separate solar-powered floodlight for night-time illumination
  • Make the case more waterproof (ours sits under a canopy so doesn't need it so much)

For receiving calls the phone & PC work really well, but you could potentially build a dedicated receiver unit, say for the living room, that's constantly listening out for calls and displaying photos or something in the meantime. It could still use PyUserInput to click "Answer" and you could probably even integrate Google Assistant using the AIY Kit, so that on a given voice command the call is answered - that would be very cool.

Another good use of the technology would be to build a super-easy video chat station, with just one big "Call" button - useful for making easy video calls with, say, an elderly or tech-phobic relative.