/PhysicaloidLibrary

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

Primary LanguageHTML

Physicaloid Library

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

Features

  • NEW! No closed source slow and buggy D2XX drivers are required.
  • Android Java library project
  • USB-Serial communication
  • WiFi-Serial communication to ESP8266
  • upload a firmware to an Arduino
  • support on Android 3.1 or higher (need USB Host API feature)
  • does not require ROOT
  • supports USB-Serial protocols : CDC-ACM, FTDI, Silicon Labs CP210x, WinChipHead CH34X and PL2303
  • supports uploading firmware protocols : STK500, STK500V2, Binary blob ESP8266 OTA
  • open-source(Apache License 2.0)

Android x Arduino

Users do 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

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.