All Projects → Shmoopty → Rpi Appliance Monitor

Shmoopty / Rpi Appliance Monitor

Licence: mit
Device to monitor appliances that vibrate, such as clothes dryers or garage door openers

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Rpi Appliance Monitor

Sshdeploy
A command-line tool that enables quick build and run deployments over SSH.
Stars: ✭ 131 (-63.61%)
Mutual labels:  raspberry-pi, monitor
Ha4iot
Open Source Home Automation system for .NET
Stars: ✭ 146 (-59.44%)
Mutual labels:  raspberry-pi, sensor
Kotihome
Home automation system based on Arduino with sensors, Raspberry Pi, Node.js and React
Stars: ✭ 32 (-91.11%)
Mutual labels:  raspberry-pi, sensor
Bme680 Python
Python library for the BME680 gas, temperature, humidity and pressure sensor.
Stars: ✭ 167 (-53.61%)
Mutual labels:  raspberry-pi, sensor
Onewirehub
OneWire slave device emulator
Stars: ✭ 195 (-45.83%)
Mutual labels:  raspberry-pi, sensor
Home Assistant Config
🏠 Fully documented Home Assistant configuration for a smart-looking place. 😎 Be sure to ⭐️ my repo and copy ideas!
Stars: ✭ 258 (-28.33%)
Mutual labels:  raspberry-pi, sensor
Nexus433
433MHz temperature and humidity sensor receiver that integrates with home automation systems.
Stars: ✭ 137 (-61.94%)
Mutual labels:  raspberry-pi, sensor
Home Assistant Config Fr
🏠Configuration de Home Assistant en français. 👨🏻‍💻 N'hésitez pas à ⭐ mon repo et à copier les bonnes idées ! 🇨🇵
Stars: ✭ 175 (-51.39%)
Mutual labels:  raspberry-pi, sensor
Briarids
An All-In-One home intrusion detection system (IDS) solution for the Raspberry PI.
Stars: ✭ 187 (-48.06%)
Mutual labels:  raspberry-pi, monitor
Terrariumpi
Home automated terrarium/aquarium or other enclosed environment with a Raspberry Pi
Stars: ✭ 249 (-30.83%)
Mutual labels:  raspberry-pi, sensor
Octoprint Enclosure
OctoPrint Enclosure Plugin
Stars: ✭ 267 (-25.83%)
Mutual labels:  raspberry-pi, sensor
Balena Wpe
Fullscreen WebKit browser with hardware accelerated CSS, WebGL, and HTML5 video for the RaspberryPi 3.
Stars: ✭ 353 (-1.94%)
Mutual labels:  raspberry-pi
Cloudflare Ddns
🎉🌩️ Dynamic DNS (DDNS) service based on Cloudflare! Access your home network remotely via a custom domain name without a static IP!
Stars: ✭ 332 (-7.78%)
Mutual labels:  raspberry-pi
Rust Raspberrypi Os Tutorials
📚 Learn to write an embedded OS in Rust 🦀
Stars: ✭ 7,275 (+1920.83%)
Mutual labels:  raspberry-pi
Crocodilehunter
Taking one back for Steve Irwin     (๑•̀ㅂ•́)و
Stars: ✭ 334 (-7.22%)
Mutual labels:  raspberry-pi
Libfaceid
libfaceid is a research framework for prototyping of face recognition solutions. It seamlessly integrates multiple detection, recognition and liveness models w/ speech synthesis and speech recognition.
Stars: ✭ 354 (-1.67%)
Mutual labels:  raspberry-pi
Mastering ros
This repository contains exercise files of the book "Mastering ROS for Robotics Programming"
Stars: ✭ 351 (-2.5%)
Mutual labels:  sensor
Node Build Monitor
A Build Monitor written in Node.js, which supports several build services and can be easily extended.
Stars: ✭ 336 (-6.67%)
Mutual labels:  monitor
Pode
Pode is a Cross-Platform PowerShell web framework for creating REST APIs, Web Sites, and TCP/SMTP servers
Stars: ✭ 329 (-8.61%)
Mutual labels:  raspberry-pi
Mmm Remote Control
Magic Mirror Module to shutdown or configure your mirror
Stars: ✭ 331 (-8.06%)
Mutual labels:  raspberry-pi

Raspberry Pi Appliance Monitor

Get Tweets, Slack messages, Pushover or PushBullet or MQTT notifications, IFTTT triggers or Telegram messages when "dumb" appliances begin or end their cycles

Raspberry Pi Appliance Monitor just sticks onto an appliance, so no damage is done, no warranties are voided. (That makes it Landlord Safe!)

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 W. 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. If you have a Raspberry Pi Zero W or Pi 3 or Pi 4, you already have WiFi. A Raspberry Pi A/B/2 will need a USB WiFi dongle. My classic Pi Zero needs a dongle and a MicroUSB adapter.
  • 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.  Pi doesn't do analog easily.
  • 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 Buster 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 when it boots.

  4. Edit these files on the OS partition:

  • Edit /etc/hostname and /etc/hosts to change “raspberrypi” to a unique host name, like dryerpi.
  • Edit /etc/wpa_supplicant/wpa_supplicant.conf to add your WiFi authentication (updating "country" if appropriate):
country=us
update_config=1
ctrl_interface=/var/run/wpa_supplicant

network={
 scan_ssid=1
 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 shake 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 [email protected]{unique host name}

(password: raspberry)

Sensor inserted

Step 3: Create the software

After you ssh to the pi, create the requirements file /home/pi/requirements.txt.

Continue to install a few essential libraries:

$ sudo apt-get install python-pip
$ sudo pip install -r requirements.txt

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.

  • If you want PushBullet notifications, create a PushBullet Access Token key here
  • If you want Twitter notifications, create Twitter API keys here (Steps 1-4):
  • If you want Slack notifications, create a bot user or create a Slack webhook
  • If you want an IFTTT trigger, create a new trigger with the Maker channel and note the channel and key.
  • If you want MQTT triggers, fill in MQTT configuration under [mqtt] section.
  • If you want email notifications, fill in SMTP information under [email] section.
  • If you want Telegram bot messages, fill in your Telegram bot API key and your Telegram user ID under [telegram] section.

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 of the settings files you created.

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

Optional tuning that you can probably skip over

If your monitor is too sensitive and triggers when someone is just walking around the house:

Look for a potentiometer that looks like a screw head on your 801s sensor. Give it a little twist (probably in the "unscrew" direction) to make it less touchy. If that doesn't help, read on...

If your monitor triggers multiple events during one appliance usage:

Your appliance may have a rest cycle. Modify your settings file to change seconds_to_end to a larger number. It should be longer than the rest cycle.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].