ArduinoPixel

Android app that communicates with an Arduino web server to control a NeoPixel LED strip

Published on March 24, 2014

Categories: software, android

Tags: arduino, android, iot, distributed

Website: https://play.google.com/store/apps/details?id=ln.paign10.arduinopixel

This project is a server-client system that aims to control a NeoPixel LED strip. The server part comprises an Arduino sketch that implements a Web Server and offers an API for controlling the NeoPixel LED Strip. The client is an Android app, named ArduinoPixel, that connects to the server and makes API calls to control the color and the on/off state of the LED strip.

The client communicates with the server through the following HTTP requests:

  • GET request to /. The server responds with a Hello from Arduino Server message.
  • GET request to /strip/status/. The server responds with ON or OFF for the on/off state of the strip.
  • GET request to /strip/color/. The server responds with a JSON representation of the strip’s color, e.g. {"r":92,"g":34,"b":127}.
  • PUT request to /strip/status/on/. The server turns the strip on.
  • PUT request to /strip/status/off/. The server turns the strip off.
  • PUT request to /strip/color/. The server changes the strip’s color. The data are delivered as a JSON object, e.g. {"r":48,"g":254,"b":176}.

I’ve also written a script on Linux that automates the turning on and off of the strip with the start and shutdown of the computer during the night. It will be available soon.

You can find the Arduino sketch on codebender and the Android app on Google Play. The source code is available on GitHub.

humblehacker at codebender has forked the Arduino sketch and adapted it for Arduino Yun!