Skip to content

desduggan/Arduino_Laundry_Machine

Repository files navigation

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.

About

An Arduino project to monitor the status of our laundry machine!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages