From Sensor Data To Android And Back

  • View
    192

  • Download
    1

  • Category

    Mobile

Preview:

DESCRIPTION

A mobile phone now a days has already some sensors like motion (acceleration and rotational) and position. But there are also other sensors outside of the mobile phone world. They could be autonomous, cheaper, and just different than a mobile phone. Environmental sensors measure various environmental parameters, such as pressure, temperature, and humidity. It is possible to sending the sensor data to an android phone. The mobile phone can interact on them or send them further as an Internet of Things (IoT) service. And the other way around is also possible where the mobile phone sends information to an actuator. In my talk I'll show the idea and prototype of an electronic game as an Android Everywhere example. NFC data are read and send to an Android phone. The phone controls the game and sends information back to the Game.

Citation preview

From Sensor Data To Android And Back

droidcon 2014

09.05.2014, Lars Gregori, msgGillardon AG

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014

Lars Gregori

Kommunikationselektroniker (Funktechnik)

Informatik Fachrichtung Wirtschaft (FH)

Softwaredeveloper (Java Enterprise, Android, CoC)

Arduino, IOIO Board

2

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014 3

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014

Sensors

4

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014

Sensors

Mobile Phone Sensors

External Sensors

5

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014

Mobile Phone Sensors

http://developer.android.com/guide/topics/sensors/sensors_overview.html Motion sensors

Environmental sensors

Position sensors

6

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014

Mobile Phone Sensors

http://developer.android.com/guide/topics/sensors/sensors_overview.html TYPE_ACCELEROMETER

TYPE_AMBIENT_TEMPERATURE

TYPE_GRAVITY

TYPE_GYROSCOPE

TYPE_LIGHT

TYPE_LINEAR_ACCELERATION

TYPE_MAGNETIC_FIELD

TYPE_ORIENTATION

TYPE_PRESSURE

TYPE_PROXIMITY

TYPE_RELATIVE_HUMIDITY

TYPE_ROTATION_VECTOR

TYPE_TEMPERATURE

7

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014

External Sensors

8

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014

External Sensors

9

WHY

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014

External Sensors

10

WHY

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014

External Sensors

11

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014 12

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014

13

Sensor Actuator

Android

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014

Actuator

14

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014 15

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014 16

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014 17

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014 18

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014 19

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014 20

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014

21

Sensor Actuator

Android

Logic

IOIO Board

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014 22

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014 23

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014

IOIO Board

pronounced "yo-yo"

https://github.com/ytai/ioio/wiki

Host for Android and PC USB or Bluetooth

ADB and OpenAccessory (ADK)

high-level Java API (Android Apps)

Digital Input/Output, PWM, Analog Input, I2C, SPI and UART

24

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014

25

Sensor Actuator

Android Business

Logic

IOIO Board

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014

Communication

Android and IOIO Board USB or Bluetooth

IOIO Board and Sensor direct

wireless (e.g. 433 MHz transmitter / receiver)

IOIO Board and Controller direct

wireless (e.g. 433 MHz transmitter / receiver)

26

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014

27

Sensor Actuator

Android Business

Logic

IOIO Board

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014

IOIO Example

28

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014

IOIO Example

29

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014

NFC TagWriter by NXP

com.nxp.nfc.tagwriter

30

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014

31

Demo

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014

Source Code

32

class Looper extends BaseIOIOLooper { private PwmOutput ledGreen_; private PwmOutput ledBlue_; private PwmOutput ledRed_;

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014

Source Code

33

@Override protected void setup() { uart_ = ioio_.openUart(RX_PIN, TX_PIN, BAUD, … in_ = uart_.getInputStream(); out_ = uart_.getOutputStream(); ledRed_ = ioio_.openPwmOutput(5, 100); ledGreen_ = ioio_.openPwmOutput(6, 100); ledBlue_ = ioio_.openPwmOutput(7, 100);

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014

Source Code

34

@Override public void loop() { ledRed_.setPulseWidth(red * 1); ledGreen_.setPulseWidth(green * 3); ledBlue_.setPulseWidth(blue * 5); // reading SM130 int rx1 = in_.read();

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014

SM130

35

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014

36

Questions

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014

lars.gregori@gmail.com

+LarsGregori

@choas

37

Wir bedanken uns für Ihre Aufmerksamkeit!

msgGillardon AG

Robert-Bürkle-Str. 1

85737 Ismaning

> www.msg-gillardon.de

© 2014 Lars Gregori, msgGillardon AG | From Sensor Data To Android And Back | 09.05.2014

Credit

Fonts Famirids http://www.dafont.com/famirids.font

Petita http://www.dafont.com/petita.font

39

Recommended