Giter Club home page Giter Club logo

relayremote's Introduction

RelayRemote

Shane Tully ([email protected])

shanetully.com

An Arduino relay control server and Android client

About

RelayRemote is an Arduino-based server for turing off and on electrical relays, which turn on/off devices run from a standard 120V AC circuit. The project inclues two clients, an Android application and a C client for control from Linux systems.

The Android app supports multiple relay servers, relay groups, homescreen widgets, and NFC (near field communication) tags.

A demo video and brief description of how it works is available at: http://shanetully.com/2012/12/controlling-a-relay-via-an-arduino-from-an-android-client-with-nfc/

Hardware

RelayRemote was built and tested on an Arduino Uno with the Arduino Ethernet Shield for networking capabilities. A PowerSwitch Tail II is the recommended relay.

Usage

Setting up the hardware

  1. Connect the Arduino ethernet shield to the Arduino by placing the ethernet shield on top of the Arduino
  2. Connect a wire from the postivive terminal of the relay to a pin between 2 and 9 (inclusive) on the Arduino. Keep note of the pin you choose. Multiple relays can be connected to the same Arduino by connecting them to different pins.
  3. Connect a wire from the negative terminal of the relay to a ground pin on the Arduino
  4. Connect the Arduino to your network

Installing the software

  1. Change the network settings (IP, MAC, netmask, and gateway) for the Arduino by editing the server sketch (relay.pde) in the arduino folder of this repo. The lines needing changes are near the top of the file and are marked by a comment.
  2. Use the Arduino software (http://arduino.cc/en/main/software) to compile and load the server sketch (relay.pde) in the arduino folder of this repo to the Arduino.
  3. Repeat steps 1 and 2 for each Arduino you're setting up
  4. Install the Android SDK (http://developer.android.com/sdk/index.html).
  5. Either install (using the Android SDK) the pre-built APK in the android folder of this repo or import the Eclipse project in the android folder of this repo into Eclipse and use Eclipse to build and install the application to an Android device.
  6. If desired, build the C client in the c_client folder of this repo on a Linux system by running make in a terminal.

Using the Android app

  1. After opening the Android app, relays must be added.
  2. After adding relays, they can be added to a group, a widget can be placed on the homescreen, or an NFC tag can be created to turn the relays on/off (if the device supports NFC)

Using the C client

  1. The C client is fairly straightforward. Run it with --help for more info.

Note

The default port is 2424. Don't forget to add rules to allow communcation on this port on any firewalls or gateways between the client and the server.

License

Copyright (C) 2012 Shane Tully

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/.

relayremote's People

Contributors

shanet avatar

Watchers

James Cloos avatar Qi Zhang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.