An Arduino project to monitor the status of our laundry machine!
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
OnOff2
public
.gitignore
429012bf-Laundry.tar.gz
Gemfile
Gemfile.lock
README.md
config.ru
image.png
readArduino.py

README.md

Laundry Machine Monitor with Arduino, Python, Heroku and Firebase

Author: Desmond Duggan

The days of walking down four flights of stairs with a full load of laundry only to be let down once again by the busy rumbling of occupied laundry machines are over. **For Free.**In this project, we used the following technologies to build an online-accessible monitor for the washing machine in our home.

In short, the Arduino board outputs a signal to its usb serial port, which is observed by a scheduled python script. This python script uses a python-firebase wrapper to make a REST call to update an entry in the Firebase. Simultaneously, the Heroku hosted static Rack application listens to any updates made to the Firebase and updates the page asynchronously.

Technologies

Washing Machine

Web

Pre-reqs

  1. Create a Heroku Account
  2. Create a Firebase account

Overview

Overview

Attach the Arduino to the washing machine and hook it up to the Ubuntu machine. Once the Arduino script is uploaded to the unit, run the readArduino.py script to update the firebase url. Then, upload the index.html file and supporting structure to a free Heroku dyno.

Arduino

Assemble the Arduino Uno and an accelerometer like the ADXL345. Attach to the washing machine and link to machine running Ubuntu. Install the Arduino IDE and upload the script.

Python Script

$ pip install apscheduler
$ pip install pyserial
$ pip install python-firebase

Adjust the name of the serial port to the value of the port being used for the Arduino board - will be a USB port. Insert the address of your Firebase. Run it.

Heroku and Web

We used a magical tool developed by Marshall Huss located here to auto generate a static site framework in Rack with instructions on how to upload to Heroku. Rack is a lightweight static site framework written in Ruby.

$ pip install bundle
$ pip install heroku
$ gem install rack

Steps:

  1. Make a Firebase
  2. Download the package from the link above
  3. Unpack and bundle install
  4. Heroku Create
  5. git add .
  6. git commit -m "Initial Commit"
  7. git push heroku master
  8. git shit done

This is a collaborative project between Andrew Ng, Ben Huang and Desmond Duggan.