Skip to content
Shmoopty edited this page Mar 8, 2017 · 1 revision

Raspberry Pi Appliance Monitor

Get Tweets, Slack messages, PushBullet notifications, or IFTTT triggers when appliances begin or end their cycles

These instructions are for a simple Raspberry Pi project that can make any old appliance smart, without having to operate on the appliance. Just stick this tiny monitor onto it!

Raspberry Pi Appliance Monitor makes use of the nicely sensitive 801s vibration sensor. It will detect faint shaking and if the shaking lasts a specified amount of time, it will assume that the appliance is running.

On Phone

This works on clothes washers and dryers, dishwashers, garage door openers, fans, furnaces, and other machines that vibrate.

Needed parts:

  • A Raspberry Pi Zero. Or any Raspberry Pi. (In the U.S., see if there's a Micro Center nearby. They'll sell you a single Zero at cost.)
  • Any old MicroSD card. 2GB is plenty.
  • WiFi! A Raspberry Pi A/B/2 will need a USB WiFi dongle. My classic Pi Zero needs a dongle and a MicroUSB adapter. If you have a Raspberry Pi 3 or Raspberry Pi Zero W, you already have WiFi.
  • An 801s vibration sensor module   You'll want one with a voltage (+V), ground (-V), and digital signal pin. Mine has an extra analog sensor pin that I'm effectively ignoring.  
  • Any 1 amp microUSB power source (What most phones and tablets from the last 10 years use)

Parts

Step 1: Create the OS

Note: We can skip plugging the Pi into a TV and keyboard by configuring the SD card directly from your computer. If you'd rather do this directly from the booted Pi, that works too!

  1. Download Raspbian Jessie Lite and image it onto an SD card

  2. Mount the SD card on your computer. There should be two partitions, a FAT32 boot partition, and an EXT3 OS partition. On Mac or Windows, you may need to find a driver to see EXT3 partitions (see links).

  3. Add an empty file named ssh to the boot partition. This enables the ssh daemon.

  4. Edit these files on the OS partition:

  • Edit /etc/hostname and /etc/hosts to change “raspberrypi” to a unique host name
  • Edit /etc/wpa_supplicant/wpa_supplicant.conf to add your WiFi authentication:
    network={
	    ssid="your WiFi name (SSID)"
	    psk="your WiFi password"
    }

Your OS should now be ready to boot and automatically jump on your home network!

Step 2: Create the hardware

  1. Insert the microSD card into the Raspberry Pi.

  2. Add the WiFi dongle to Raspberry Pi USB port. A Raspberry Pi Zero will need a microUSB adaptor.

  3. Add the 801s Vibration Sensor to Raspberry Pi GPIO pins. The pins of my sensor line up perfectly with 5V, GND, and GP14. I'll be ignoring the analog pin that found its way into GP15. You can rest the pins in place initially. When everything is working, solder or tape them into place.

Multiple sensor expert mode: Connect additional vibration modules to the same (or any) 5V and GND pins, but a different sensor GPIO pin. You'll want to use a very flexible or long cable, so one vibrating sensor doesn't vibrate everything.

  1. Plug in a power source, and you’re good to go. Within a few seconds, you should be able to connect to the Pi with: “ssh pi@{unique host name}” (password: raspberry)

Sensor inserted

Step 3: Create the software

After you ssh to the pi, install a few essential libraries:

$ sudo apt-get install python-pip
$ sudo pip install requests tweepy slackclient

Set the timezone to make sure timestamps are correct

$ sudo raspi-config
[Internationalisation Options]
[Change Timezone]

Create the program file /home/pi/vibration.py (Click to view)

Create the settings file /home/pi/vibration_settings.ini. This file specifies what sensor pin to monitor, what messages you want, and what services to send the message to.

Multiple sensor expert mode: Create additional settings files with their own timings, messages, and unique sensor pins. One for each sensor.

Edit /etc/rc.local to make the program run when the device boots up.

Add before the exit line:

python /home/pi/vibration.py /home/pi/vibration_settings.ini &

Multiple sensor expert mode: Add and additional line for each additional sensor. One for each settings file.

You’re done! Reboot and test it out.

Some mounting tape or Sugru will let you stick the device somewhere discrete on your appliance.

If you’ve soldered the sensor pins, you can bend the sensor to be flush with the Pi.

Completed device