Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Android Control Hardware and Arduino IoT ( 22 Aug 15 )

5,894 views

Published on

Internet of Things Presentation
ในการ อบรม Android Control Hardware and Arduino IoT
http://softpowergroup.net/%E0%B8%AA%E0%B8%AD%E0%B8%99-arduino/

Published in: Devices & Hardware
  • Hey guys! Who wants to chat with me? More photos with me here 👉 http://www.bit.ly/katekoxx
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Android Control Hardware and Arduino IoT ( 22 Aug 15 )

  1. 1. 22 Aug 2015 Android Control Hardware and Arduino IoT By Soft Power Group http://softpowergroup.net/
  2. 2. Android Communication Hardware ➤ USB ➤ Bluetooth ➤ Wi-Fi ➤ NFC ➤ Telephone ( Voice or DTMF ) ➤ SMS
  3. 3. Android Hardware ➤ TFT/OLED Display ➤ Touch Screen ➤ Camera ➤ Sensor ➤ Speaker ➤ Micro phone ➤ GPS
  4. 4. Android Hardware Workshop ➤ Android Device Info
  5. 5. Android Communication Hardware ➤ USB ➤ Bluetooth ➤ Wi-Fi ➤ NFC
  6. 6. 20 Aug 2014
  7. 7. Arduino เชื่อมต่อกับ Android ทาง USB
  8. 8. Arduino เชื่อมต่อกับ Android ทาง USB http://androidcontrol.blogspot.com/2014/06/arduino-usb-servo-motor-control.html
  9. 9. Arduino เชื่อมต่อกับ Android ทาง USB
  10. 10. Arduino Firmata Library http://arduino.cc/en/Reference/Firmata
  11. 11. Download Firmata Test Program www.firmata.org
  12. 12. Upload Firmata Sketch
  13. 13. Test Program
  14. 14. USB Workshop - Arduino Firmata Library - Program Test on PC - Android USB OTG - Android Example Code - Android USB Control Relay Output Arduino IDE Download https://www.arduino.cc/en/Main/Software
  15. 15. Arduino เชื่อมต่อกับ Android ทาง USB https://play.google.com/store/apps/details?id=arduino.control.servo
  16. 16. Arduino เชื่อมต่อกับ Android ทาง USB
  17. 17. Bluetooth Module
  18. 18. Bluetooth ➤ เปิดการใช้งานบลูทูธ ➤ ค้นหาอุปกรณ์ จับคู่ ➤ เชื่อมต่ออุปกรณ์ Connect ➤ รับ - ส่งข้อมูล
  19. 19. Bluetooth API Bluetooth Adapter - ค้นหาอุปกรณ์ จับคู่ Bluetooth Class - รายละเอียดหาอุปกรณ์บลูทูธ Bluetooth Device - ทางานเชื่อมต่ออุปกรณ์ Bluetooth Socket - จัดการ รับส่งข้อมูล Bluetooth ServerSocket - เปิดช่องสัญญานเพื่อ ตรวจจับอุปกรณ์บลูทูธอื่นๆ
  20. 20. Arduino เชื่อมต่อกับ Android ทาง Bluetooth http://androidcontrol.blogspot.com/2014/06/arduino-control-rgb-leds-via-bluetooth.html
  21. 21. Arduino เชื่อมต่อกับ Android ทาง Bluetooth http://androidcontrol.blogspot.com/2014/06/arduino-control-rgb-leds-via-bluetooth.html
  22. 22. Bluetooth Workshop - Bluetooth Control Output - Bluetooth Control RGB LEDs - Bluetooth Control Servo
  23. 23. Arduino เชื่อมต่อกับ Android ทาง Bluetooth https://play.google.com/store/apps/details?id=arduino.bluetooth.rgbleds
  24. 24. Arduino เชื่อมต่อกับ Android ทาง Bluetooth
  25. 25. Ethernet & Wi-Fi Module
  26. 26. Arduino WebServer
  27. 27. การใช้งาน 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 )
  28. 28. else { // do something } conn.disconnect(); } catch (Exception e) { // do something }
  29. 29. Web Server Control
  30. 30. JSON and XML ในการติดต่อสื่อสารข ้อมูลต่างๆ ระหว่าง Client – Server นั้น จาเป็นจะต ้องมีภาษากลางที่ใช ้สาหรับพูดคุยหรือส่งหากัน
  31. 31. 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>
  32. 32. 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"}] }
  33. 33. Wi-Fi Workshop - HTTP JSON http://openweathermap.org/api - Wi-Fi Connection - Arduino Ethernet Web Server - Arduino Wi-Fi ESP8266 Web Server
  34. 34. Arduino Smart Home Automation http://androidcontrol.blogspot.com/2014/08/arduino-smart-home-automation.html
  35. 35. Arduino WiFi Control with ESP8266 Module http://androidcontrol.blogspot.com/2015/05/arduino-wifi-control-with-esp8266-module.html
  36. 36. Android Hardware อื่นๆ ➤ Telephone โทรเข้า โทรออก ➤ SMS ➤ Camera กล้องหน้า กล้องหลัง ➤ Sensors ตรวจจับความสว่าง,อุณหภูมิ, ความเอียง ➤ GPS พิกัด ตาแหน่ง ➤ NFC ➤ Sound & Vibration
  37. 37. Internet of Things Protocol
  38. 38. 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
  39. 39. Internet of Things Protocol ➤ HTTP ➤ MQTT
  40. 40. HTTP Protocol Server Client Device (server ) System (client ) HTTP GET /< resource > HTTP 200 OK (< resource >) (long) polling
  41. 41. HTTP Protocol • Client / Server • ASCII based ( Content-Type based on MIME ) • REST API ( POST,GET,PUT,DELETE ) • TCP Transmission Control Protocol
  42. 42. MQTT Protocol
  43. 43. MQTT Protocol
  44. 44. 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
  45. 45. MQTT Client http://www.eclipse.org/paho/ Mosquitto An Open Source MQTT v3.1/v3.1.1 Broker http://mosquitto.org/
  46. 46. MQTT Protocol • Publish / Subscribe • Topics based • M2M
  47. 47. IoT Protocol
  48. 48. 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/
  49. 49. CloudMQTT http://www.cloudmqtt.com/
  50. 50. ThingSpeak https://thingspeak.com/
  51. 51. IBM Bluemix http://www.ibm.com/cloud-computing/bluemix/
  52. 52. PubNub http://www.pubnub.com/
  53. 53. IoTCloud Service Workshop - CloudMQTT - ThingSpeak - IBM Bluemix - PubNub
  54. 54. ESP8266 Wi-Fi Module
  55. 55. 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
  56. 56. ESP8266 Development • ESP8266 Firmware Update • ESP8266 Development Board
  57. 57. ESP8266 Development • Arduino IDE ( C/C++ ) • AT Command Mode • SoC Mode
  58. 58. IoT ESP8266 Workshop - CloudMQTT - ThingSpeak Sensor Monitor - ThingSpeak Control Devices - Smart Config
  59. 59. Android IoT ThingSpeak Sensor Data Monitor http://androidcontrol.blogspot.com/2015/06/android-iot-thingspeak-data-monitor.html
  60. 60. Android Arduino IoT Control Devices with ThingSpeak.com http://androidcontrol.blogspot.com/2015/06/android-iot-control-thingspeak.html
  61. 61. Thank You Q&A Website : http://SoftPowerGroup.net Blog : http://androidcontrol.blogspot.com/

×