67
22 Aug 2015 Android Control Hardware and Arduino IoT By Soft Power Group http://softpowergroup.net/

Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Embed Size (px)

Citation preview

Page 1: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

22 Aug 2015

Android Control Hardware and Arduino IoTBy Soft Power Group http://softpowergroup.net/

Page 2: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Android Communication Hardware

➤ USB

➤ Bluetooth

➤ Wi-Fi

➤ NFC

➤ Telephone ( Voice or DTMF )

➤ SMS

Page 3: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Android Hardware

➤ TFT/OLED Display

➤ Touch Screen

➤ Camera

➤ Sensor

➤ Speaker

➤ Micro phone

➤ GPS

Page 4: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Android Hardware Workshop

➤ Android Device Info

Page 5: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Android Communication Hardware

➤ USB

➤ Bluetooth

➤ Wi-Fi

➤ NFC

Page 6: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

20 Aug 2014

Page 7: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Arduino เชอมตอกบ Android ทาง USB

Page 8: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Arduino เชอมตอกบ Android ทาง USB

http://androidcontrol.blogspot.com/2014/06/arduino-usb-servo-motor-control.html

Page 9: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Arduino เชอมตอกบ Android ทาง USB

Page 10: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Arduino Firmata Libraryhttp://arduino.cc/en/Reference/Firmata

Page 11: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Download Firmata Test Programwww.firmata.org

Page 12: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Upload Firmata Sketch

Page 13: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Test Program

Page 14: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

USB Workshop

- Arduino Firmata Library- Program Test on PC- Android USB OTG- Android Example Code- Android USB Control Relay Output

Arduino IDE Downloadhttps://www.arduino.cc/en/Main/Software

Page 15: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Arduino เชอมตอกบ Android ทาง USB

https://play.google.com/store/apps/details?id=arduino.control.servo

Page 16: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Arduino เชอมตอกบ Android ทาง USB

Page 17: Android Control Hardware and Arduino IoT ( 22 Aug 15 )
Page 18: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Bluetooth Module

Page 19: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Bluetooth

➤ เปดการใชงานบลทธ➤ คนหาอปกรณ จบค➤ เชอมตออปกรณ Connect

➤ รบ - สงขอมล

Page 20: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Bluetooth API

Bluetooth Adapter - คนหาอปกรณ จบคBluetooth Class - รายละเอยดหาอปกรณบลทธBluetooth Device - ท างานเชอมตออปกรณBluetooth Socket - จดการ รบสงขอมลBluetooth ServerSocket - เปดชองสญญานเพอตรวจจบอปกรณบลทธอนๆ

Page 21: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Arduino เชอมตอกบ Android ทาง Bluetooth

http://androidcontrol.blogspot.com/2014/06/arduino-control-rgb-leds-via-bluetooth.html

Page 22: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Arduino เชอมตอกบ Android ทาง Bluetooth

http://androidcontrol.blogspot.com/2014/06/arduino-control-rgb-leds-via-bluetooth.html

Page 23: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Bluetooth Workshop

- Bluetooth Control Output- Bluetooth Control RGB LEDs- Bluetooth Control Servo

Page 24: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Arduino เชอมตอกบ Android ทาง Bluetooth

https://play.google.com/store/apps/details?id=arduino.bluetooth.rgbleds

Page 25: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Arduino เชอมตอกบ Android ทาง Bluetooth

Page 26: Android Control Hardware and Arduino IoT ( 22 Aug 15 )
Page 27: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Ethernet & Wi-Fi Module

Page 28: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Arduino WebServer

Page 29: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

การใชงาน Http Connection ( Android )

HttpURLConnection conn = null;

try {

conn = (HttpURLConnection)new URL("http://someurl").openConnection();

conn.setRequestMethod("GET");

conn.setInstanceFollowRedirects(true);

conn.setUseCaches(false);

int resCode = conn.getResponseCode();

if (resCode == HttpURLConnection.HTTP_OK) {

InputStream is = conn.getInputStream();

ByteArrayOutputStream bos =

new ByteArrayOutputStream();

int read = 0;

while ((read = is.read()) != -1) {

bos.write(read);

}

byte[] result = bos.toByteArray();

bos.close();

}

( code ตอหนา 2 )

Page 30: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

else {

// do something

}

conn.disconnect();

}

catch (Exception e) {

// do something

}

Page 31: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Web Server Control

Page 32: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

JSON and XML

ในการตดตอสอสารขอมลตางๆ ระหวาง Client – Server นนจ าเปนจะตองมภาษากลางทใชส าหรบพดคยหรอสงหากน

Page 33: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

XML eXtensible Markup Language

<?xml version="1.0" encoding="UTF-8"?>

<note>

<to> Tove</to>

<from>Jani</from>

<heading>Reminder</heading>

<body>Don't forget me this weekend!</body>

</note>

Page 34: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

JSON

ในการตดตอสอสารขอมลตางๆ ระหวาง Client – Server นนจ าเปนจะตองมภาษากลางทใชส าหรบพดคยหรอสงหากน ซงในปจจบนนนภาษากลางดงกลาวทไดรบความนยมสงมากคอ JSON

โดย tag ของ JSON นนมลกษณะดงน

{"NAME1" : "VALUE1", … , "NAMEn" : "VALUEn"}

{"NAME" : {"NAME1" : "VALUE1", … , "NAMEn" : "VALUEn"} }

{"NAME" : ["VALUE1", … , "VALUEn"]}

{"NAME" : [{"NAME1" : "VALUE1", … , "NAMEn" : "VALUEn"},

. . .

,{"NAME1" : "VALUE1", … , "NAMEn" : "VALUEn"}] }

Page 35: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Wi-Fi Workshop

- HTTP JSON http://openweathermap.org/api

- Wi-Fi Connection

- Arduino Ethernet Web Server- Arduino Wi-Fi ESP8266 Web Server

Page 36: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Arduino Smart Home Automationhttp://androidcontrol.blogspot.com/2014/08/arduino-smart-home-automation.html

Page 37: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Arduino WiFi Control with ESP8266 Modulehttp://androidcontrol.blogspot.com/2015/05/arduino-wifi-control-with-esp8266-module.html

Page 38: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Android Hardware อนๆ

➤ Telephone โทรเขา โทรออก➤ SMS

➤ Camera กลองหนา กลองหลง➤ Sensors ตรวจจบความสวาง,อณหภม, ความเอยง➤ GPS พกด ต าแหนง➤ NFC

➤ Sound & Vibration

Page 39: Android Control Hardware and Arduino IoT ( 22 Aug 15 )
Page 40: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Internet of Things Protocol

Page 41: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Internet of Things Protocol

➤ HTTP Hyper Text Transfer Protocol

➤ MQTT Message Queue Telemetry Transport

➤ CoAP Constrained Application Protocol

➤ XMPP Extensible Messaging and Presence Protocol. Cisco

➤ AMQP Advanced Message Queuing Protocol

➤ DDS Data Distribution Service

➤ Continua – Home Health Device

➤ UPnP

➤ ETSI SmartM2M

Page 42: Android Control Hardware and Arduino IoT ( 22 Aug 15 )
Page 43: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Internet of Things Protocol

➤ HTTP

➤ MQTT

Page 44: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

HTTP Protocol

Server Client

Device

(server )

System

(client )

HTTP GET /< resource >

HTTP 200 OK (< resource >)

(long)

polling

Page 45: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

HTTP Protocol

• Client / Server

• ASCII based ( Content-Type based on MIME )

• REST API ( POST,GET,PUT,DELETE )

• TCP Transmission Control Protocol

Page 46: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

MQTT Protocol

Page 47: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

MQTT Protocol

Page 48: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

MQTT Protocol

Device Broker

PUBLISH /$TEL/ group_id / device_id /< resource >

acknowledgement (based on QoS )

PUBLISH /$TEL/ group_id / device_id /< resource >

acknowledgement (based on QoS )

PUBLISH /$TEL/ group_id / device_id /< resource >

acknowledgement (based on QoS )

* $TEL as base for topics not needed

Page 49: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

MQTT Client

http://www.eclipse.org/paho/

MosquittoAn Open Source MQTT v3.1/v3.1.1 Broker

http://mosquitto.org/

Page 50: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

MQTT Protocol

• Publish / Subscribe

• Topics based

• M2M

Page 51: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

IoT Protocol

Page 52: Android Control Hardware and Arduino IoT ( 22 Aug 15 )
Page 53: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

IoT Cloud Service

➤ CloudMQTT http://www.cloudmqtt.com/

➤ ThingSpeak https://thingspeak.com/

➤ IBM BlueMix http://www.ibm.com/cloud-computing/bluemix/

➤ PubNub http://www.pubnub.com/

Page 54: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

CloudMQTT http://www.cloudmqtt.com/

Page 55: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

ThingSpeak https://thingspeak.com/

Page 56: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

IBM Bluemix http://www.ibm.com/cloud-computing/bluemix/

Page 57: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

PubNub http://www.pubnub.com/

Page 58: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

IoTCloud Service Workshop

- CloudMQTT

- ThingSpeak

- IBM Bluemix- PubNub

Page 59: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

ESP8266 Wi-Fi Module

Page 60: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

ESP8266 Wi-Fi Module

• 802.11 b/g/n protocol (2.4GHz / 5GHz);

• Wi-Fi Direct (P2P), Soft-AP

• Integrated TCP/IP protocol stack

• UART serial connection

• 3.3V power supply

• +19.5dBm output power

Page 61: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

ESP8266 Development

• ESP8266 Firmware Update

• ESP8266 Development Board

Page 62: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

ESP8266 Development

• Arduino IDE ( C/C++ )

• AT Command Mode

• SoC Mode

Page 63: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

IoT ESP8266 Workshop

- CloudMQTT

- ThingSpeak Sensor Monitor

- ThingSpeak Control Devices- Smart Config

Page 64: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Android IoT ThingSpeak Sensor Data Monitor

http://androidcontrol.blogspot.com/2015/06/android-iot-thingspeak-data-monitor.html

Page 65: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Android Arduino IoT Control Devices with ThingSpeak.com

http://androidcontrol.blogspot.com/2015/06/android-iot-control-thingspeak.html

Page 66: Android Control Hardware and Arduino IoT ( 22 Aug 15 )
Page 67: Android Control Hardware and Arduino IoT ( 22 Aug 15 )

Thank You

Q&A

Website : http://SoftPowerGroup.net

Blog : http://androidcontrol.blogspot.com/