Project pifon

pifon04

The audio baby monitor running on Raspi

1. Introduction

pifon is a project that realizes an audio baby monitor with 2 (or more) Raspberry Pis. A RPi is running the fon part of the project that records a continous audio streams and keeps looking for audio events, i.e. your baby cries and then reports those events to the other RPi called mon. There a display shows you the events and also starts streaming the audio from the fon machine so you can hear your little ones immediately.

2. Features

  • Supports multiple fon clients. You can observer multiple rooms/kids
  • mon has a flexible UI interface and currently supports a 16×2 LCD display with 5 button input to control the monitor.
    • Background LCD color shows fon activity
    • Display shows state of all fon clients and has a clock in idle mode
    • Control: muting, listening, monitoring, screen blanking, chiming with the buttons
  • A simulator written with PyGame lets you run the mon on a Mac/PC, too. An audio simulator in fon unit lets you test your setup easily.
  • Use an XMPP based chat server to communicate audio events and allows you to use standard chat clients to read the events.
  • Low-latency audio streaming is realized by directly linking the recording device on fon with the player on mon by a SSH pipe.
  • Very easy to configure by editing config files. You can also use this to change the way audio streaming is set up (e.g. use mpd or Icecast)
  • A powerful Python Chat Bot framework based on SleekXMPP was implemented to run the fon and mon part. They are extensible to support more services in the future (e.g. video, sensor data)

3. Build your own pifon

pifon is an open-source project and you find the full source code on GitHub:

History
  • Version 2.0 – 4.3.2016
    • added multi fon support
    • new audio streaming
    • rewrote XMPP bots

4. Gallery

The pifon mon unit. LCD display is in a seperate housing

The pifon mon unit. LCD display is in a seperate housing. The 5 buttons allow you to control the fon.

A pifon fon unit in the baby's room.

A pifon fon unit in the baby’s room. A USB webcam is used for recording audio.

Mon is idle and displays clock and date. Below see two idle fon clients

Mon is idle and displays clock and date. Below see two idle fon clients. Player is muted (‘u’ on the right).

Mon has detected an audio event in "Anna+Jonas" room

Mon has detected an audio event in “Anna+Jonas” room

pifon mon running in the simulator on a Mac. Currently showing startup scroll text

pifon mon running in the simulator on a Mac. Currently showing startup scroll text

Pifon mon running in simulator. Showing some activity bars

Pifon mon running in simulator. Showing some activity bars

I joined the XMPP chat with Adium and can now follow the mon/fon bots talking

I joined the XMPP chat with Adium and can now follow the mon/fon bots talking

5 thoughts on “Project pifon

  1. Pingback: pifon 2.0 released « Lallafa's Blog

  2. Pingback: Pifon: An audio baby monitor made with Raspberry Pi #piday #raspberrypi @Raspberry_Pi « Adafruit Industries – Makers, hackers, artists, designers and engineers!

  3. Pingback: Pifon: An audio baby monitor made with Raspberry Pi #piday #raspberrypi @Raspberry_Pi - Raspberry Pi News

  4. Hi! Could you write a little bit about the Pi-Simulator? Is ist possible to simulate some hardware attached to the GPIOs? Thanks! Marc

    • The simulator simulates the output to the Adafruit LCD and renders it on a PyGame window. It replaces the API I use to control the real LCD using the Adafruit Python library with one that does the graphics rendering to your PC screen. So no GPIO level simulation. only a LCD API level replacement.

Leave a Reply