pitofono - part 1


The problem I want to solve is this: I have an old intercom system that I can’t upgrade because it’s shared with other neighbors, but I still want to use it as a voip device. Maybe there’s already a product for this, but solving this way is fun, and gives you better knowledge of how things works. Let’s start with the requirements.

  • this must be a low-power device, always on
  • I want to replicate all intercom functions via modern technologies
  • I want to reply on intercom via my voip phone
  • I want to get video (or at least a snapshot) of whoever is at the door
  • Telegram integration :)
  • I want to access the video feed like on a normal IP camera

As for the operating system, all the developing will be done in a plain raspbian; when everything is in place I’m going to port to Alpine linux. I’m doing this because Alpine is made to be more like a firmware: the filesystem itself is mounted readonly and this will render the system more robust in terms of power outages. Also, Alpine has got an interesting set of packages (all named acf-*) under the umbrella of “Alpine Configuration Framework”: you can add acf-iptables or acf-openvpn and gain a webinterface for configuring said item. ACF is served by mini-httpd in HTTPS mode by default, and is designed to be an MVC framework in LUA. This is PERFECT for a web administration page of an appliance.

The system will acquire video via an USB video grabber interface and the audio will be managed initially with an USB sound card for the sake of simplicity. I’ll switch to audio input via USB grabber later, and audio output will be handled by the internal raspberry audio card.