/PhysicaloidLibrary

Android Library for communicating with physical-computing boards (e.g.Arduino, mbed)

Primary LanguageJava

Physicaloid Library

Android Library for communicating with physical-computing boards (e.g.Arduino, mbed)

Android x Arduino

Users does not need to download an Arduino sketch from a web site. Download sketch

You (developer) can include Arduino firmwares in your Android app and upload to Google Play. Upload to Google Play

Features

  • Android Java library project
  • USB-Serial communication
  • upload a firmware to an Arduino
  • support on Android 3.1 or higher (need USB Host API feature)
  • does not require ROOT
  • support USB-Serial protocols : CDC-ACM, FTDI, Silicon Labs CP210x
  • support uploading firmware protocols : STK500, STK500V2
  • open-source(Apache License 2.0)

Code example

Upload a firmware from Android to Arduino

Physicaloid mPhysicaloid = new Physicaloid(this);
mPhysicaloid.upload(Boards.ARDUINO_UNO, "/sdcard/arduino/Blink.hex");

Write serial data to Arduino

Physicaloid mPhysicaloid = new Physicaloid(this);
if(mPhysicaloid.open()) {
    byte[] buf = "moemoe".getBytes();
    mPhysicaloid.write(buf, buf.length);
    mPhysicaloid.close()
}

Read serial data from Arduino

Physicaloid mPhysicaloid = new Physicaloid(this);
TextView TextView1 = (TextView) findViewById(R.id.TextView1);// Android TextView

if(mPhysicaloid.open()) {
    byte[] buf = new byte[256];

    mPhysicaloid.read(buf, buf.length);
    String str = new String(buf);
    TextView1.append(str);

    mPhysicaloid.close();
}

How to use

  1. File -> import and select a PhysicaloidLibrary directory.
  2. Right click your project -> Properties -> Android -> click Library's "Add" button -> select PhysicaloidLibrary

Special Thanks

This code has built in knowledge of avrdude. Thanks to all avrdude coders.

License

Physicaloid Library is released under the Apache License, Version 2.0.