31
บทที2 ทฤษฎีและวรรณกรรมที่เกี่ยวข้อง ในการศึกษาโครงงานเทคโนโลยีสารสนเทศธุรกิจ ในหัวข้อ แอพพลิเคชั่นควบคุมหุ ่นยนต์ สารวจด้วยระบบปฏิบัติการแอนดรอยด์ มีทฤษฎีและเอกสารที่เกี่ยวข้อง รวมถึงงานวิจัยที่เกี่ยวข้อง โดยอธิบายถึงรายละเอียดและหลักการทางานต่างๆ ที่สาคัญ ดังต่อไปนี 1. ระบบปฏิบัติการ Android 2. Java programming language 3. Eclipse 4. Android SDK 5. หุ่นยนต์ 6. บอร์ด IOIO 7. งานวิจัยที่เกี่ยวข้อง 2.1 ระบบปฏิบัติการ Android แอนดรอยด์ ( Android) คือระบบปฏิบัติการแบบเปิดเผยซอร์ฟแวร์ต้นฉบับ ( Open Source) โดยบริษัท กูเกิล ( Google Inc.) ที่ได้รับความนิยมเป็นอย่างสูง เนื่องจากอุปกรณ์ที่ใช้ ระบบปฏิบัติการแอนดรอยด์ มีจานวนมาก อุปกรณ์มีหลากหลายระดับ หลายราคา รวมทั ้งสามารถ ทางานบนอุปกรณ์ที่มีขนาดหน้าจอ และความละเอียดแตกต่างกันได้ ทาให้ผู้บริโภคสามารถเลือกได้ ตามต้องการ และหากมองในทิศทางสาหรับนักพัฒนาโปรแกรม ( Programmer) แล้วนั ้น การพัฒนา โปรแกรมเพื่อใช้งานบนระบบปฏิบัติการแอนดรอยด์ ไม่ใช่เรื่องที่ยาก เพราะมีข้อมูลในการพัฒนา รวมทั ้ง Android SDK (Software Development Kit) เตรียมไว้ให้กับนักพัฒนาได้เรียนรู้ และเมื่อ นักพัฒนาต้องการจะเผยแพร่หรือจาหน่ายโปรแกรมที่พัฒนาแล้วเสร็จ แอนดรอยด์ก็ยังมีตลาดใน การเผยแพร่โปรแกรม ผ่าน Android Market แต่หากจะกล่าวถึงโครงสร้างภาษาที่ใช้ในการพัฒนา นั ้น สาหรับ Android SDK จะยึดโครงสร้างของภาษาจาวา ( Java language) ในการเขียนโปรแกรม เพราะโปรแกรมที่พัฒนามาได้จะต้องทางานอยู่ภายใต้ Dalvik Virtual Machine เช่นเดียวกับ

2.1ระบบปฏิบัติการ Android596).pdf · 2014-03-12 · 8 Fidelity), LTE, NFC (Near Field Communication) และ WiMAX (Worldwide Interoperability for Microwave

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

บทท 2 ทฤษฎและวรรณกรรมทเกยวของ

ในการศกษาโครงงานเทคโนโลยสารสนเทศธรกจ ในหวขอ แอพพลเคชนควบคมหนยนตส ารวจดวยระบบปฏบตการแอนดรอยด มทฤษฎและเอกสารทเกยวของ รวมถงงานวจยทเกยวของ โดยอธบายถงรายละเอยดและหลกการท างานตางๆ ทส าคญ ดงตอไปน

1. ระบบปฏบตการ Android 2. Java programming language 3. Eclipse 4. Android SDK 5. หนยนต 6. บอรด IOIO 7. งานวจยทเกยวของ

2.1 ระบบปฏบตการ Android แอนดรอยด (Android) คอระบบปฏบตการแบบเปดเผยซอรฟแวรตนฉบบ (Open Source) โดยบรษท กเกล (Google Inc.) ทไดรบความนยมเปนอยางสง เนองจากอปกรณทใชระบบปฏบตการแอนดรอยด มจ านวนมาก อปกรณมหลากหลายระดบ หลายราคา รวมทงสามารถท างานบนอปกรณทมขนาดหนาจอ และความละเอยดแตกตางกนได ท าใหผบรโภคสามารถเลอกไดตามตองการ และหากมองในทศทางส าหรบนกพฒนาโปรแกรม (Programmer) แลวนน การพฒนาโปรแกรมเพอใชงานบนระบบปฏบตการแอนดรอยด ไมใชเรองทยาก เพราะมขอมลในการพฒนารวมทง Android SDK (Software Development Kit) เตรยมไวใหกบนกพฒนาไดเรยนร และเมอนกพฒนาตองการจะเผยแพรหรอจ าหนายโปรแกรมทพฒนาแลวเสรจ แอนดรอยดกยงมตลาดในการเผยแพรโปรแกรม ผาน Android Market แตหากจะกลาวถงโครงสรางภาษาทใชในการพฒนานน ส าหรบ Android SDK จะยดโครงสรางของภาษาจาวา (Java language) ในการเขยนโปรแกรม เพราะโปรแกรมทพฒนามาไดจะตองท างานอยภายใต Dalvik Virtual Machine เชนเดยวกบ

7

โปรแกรมจาวา ทตองท างานอยภายใต Java Virtual Machine (Virtual Machine เปรยบไดกบสภาพแวดลอมทโปรแกรมท างานอย ) นอกจากนนแลว แอนดรอยด ยงมโปรแกรมแกรมทเปดเผยซอรฟแวรตนฉบบ (Open Source) เปนจ านวนมาก ท าใหนกพฒนาทสนใจ สามารถน าซอรฟแวรตนฉบบ มาศกษาไดอยางไมยาก ประกอบกบความนยมของแอนดรอยดไดเพมขนอยางมาก

2.1.2 ประวตความเปนมา

เรมตนระบบปฏบตการแอนดรอยด ถกพฒนามาจากบรษท แอนดรอยด (Android Inc.) เมอป พ.ศ 2546 โดยมนาย แอนด รบน (Andy Rubin) ผใหก าเนดระบบปฏบตการน และถกบรษท กเกล ซอกจการเมอ เดอนสงหาคม ป พ.ศ 2548 โดยบรษทแอนดรอยด ไดกลายเปนมาบรษทลกของบรษทกเกล และยงมนาย แอนด รบน ด าเนนงานอยในทมพฒนาระบบปฏบตการตอไป ระบบปฏบตการแอนดรอยด เปนระบบปฏบตการทพฒนามาจากการน า เอาแกนกลางของระบบปฏบตการลนกซ (Linux Kernel) ซงเปนระบบปฏบตการทออกแบบมาเพอท างานเปนเครองใหบรการ (Server) มาพฒนาตอ เพอใหกลายเปนระบบปฏบตการบนอปกรณพกพา (Mobile Operating System) ตอมาเมอเดอน พฤศจกายน ป พ.ศ 2550 บรษทกเกล ไดท าการกอตงสมาคม OHA (Open Handset Alliance, http://www.openhandsetalliance.com) เพอเปนหนวยงานกลางในการก าหนดมาตรฐานกลาง ของอปกรณพกพาและระบบปฏบตการแอนดรอยด โดยมสมาชกในชวงกอนตงจ านวน 34 รายเขารวม ซงประกอบไปดวยบรษทชนน าทด าเนนธรกจดานการสอสาร เชน โรงงานผลตอปกรณพกพา, บรษทพฒนาโปรแกรม, ผใหบรการสอสาร และผผลตอะไหลอปกรณดานสอสาร หลงจากนน เมอเดอนตลาคม ป พ.ศ 2551 บรษท กเกล ไดเปดตวมอถอตวแรกทใชระบบปฏบตการแอนดรอยด ทชอ T-Mobile G1 หรออกชอหนงคอ HTC Dream โดยใชแอนดรอยดรน 1.1 และหลงจากนน ไดมการปรบพฒนาระบบปฏบตการเปนรนใหม มาเปนล าดบ ชวงตอมาไดมการออกผลตภณฑจากบรษทตางๆ ออกมาหลากหลายรน หลากหลายยหอ ตามการพฒนาระบบปฏบตการแอนดรอยด ทมอยอยางตอเนอง ท าใหสนคาของแอนดรอยด มใหเลอกอยอยางมากมาย 2.1.3 คณสมบตและความสามารถของแอนดรอยด คณสมบตและความสามารถหลกๆของแอนดรอยด มดงน

2.1.3.1 การเชอมตอ เทคโนโลยการเชอมตอทแอนดรอยดสนบสนนประกอบดวย GSM (Goble System for Mobile Communication)/EDGE (Enhanced Data Rates for GSM Evolution), IDEN, CDMA (Code Division Multiple Access), EV-DO (1xEvolution Data Optimized), UMTS (Universal Mobile Telecommunications), Bluetooth, Wi-Fi (Wireless-

8

Fidelity), LTE, NFC (Near Field Communication) และ WiMAX (Worldwide Interoperability for Microwave Access)

2.1.3.2 Messaging สนบสนน SMS (Short Message Service), MMS (Multimedia Message Service), Threaded Text Messaging และ Cloud To Device Messaging Framework (C2DM)

2.1.3.3 การจดเกบขอมล แอนดรอยดม SQLite ซงเปนฐานขอมลเชงสมพนธขนาดเลก (lightweight) ทมประสทธภาพสง ส าหรบใชจดเกบขอมล

2.1.3.4 มเดย (Media) สนบสนนเสยง วดโอ และรปภาพในฟอรแมตทนยมใชเชน MPEG4 (The Moving Pictures Expert Group Layer4), H.264, MP3 (MPEG-1Audio Layer3), AAC (Advaned Audio Coding), AMR, JPG (Jiont Photographic Experts Group) และ PNG (Portable Network Graphics)

2.1.3.5 สตรมมง (Streaming) สนบสนน RTP (Real Time Protocol)/RTSP streaming (Real Time Streaming Protocol) และ HTML (Hypertext Markup Language) progressive

download (แทก <video> ของ HTML5) 2.1.3.6 สนบสนนจาวา การพฒนาแอพพลเคชนบนแอนดรอยดจะใชภาษาจาวา โดยทโคดจา

วาทคอมไพลแลวจะไมไดรนใน Java Virtual Machine (JVM) เหมอนจาวาแอพพลเคชนทวไป แตจะรนใน Dalvik Virtual Machine ซงเปน VM ท Google พฒนาขนส าหรบอปกรณพกพาโดยเฉพาะ

2.1.3.7 มลตทช (Multi-touch) รองรบการใชนวมอสมผสบนหนาจอเพอสงงานไดมากกวา 1 จดพรอมกน

2.1.3.8 มลตทาสกง (Multi-tasking) สามารถใชงานไดหลายแอพพลเคชนพรอมกน

2.1.3.9 Tethering (หรอ Mobile Hotspot) คอความสามารถในการแชรอนเตอรเนตผานอปกรณแอนดรอยด

2.1.3.10 สนบสนนฮารดแวรเสรมอนๆ เชน กลองถายรป, GPS, Accelerometer และเทอรโมมเตอร

2.1.3.11 สนบสนนหลายภาษา

9

ภาพท 2.1 สญลกษณของแอนดรอยด

( ท ม า : http://www.bloggang.com/viewdiary.php?id=karnoi&month=08-

2011&date=07&group=39&gblog=124) สญลกษณของแอนดรอยด คอ หนยนตตวสเขยวทสรางขนมาเลยนแบบมนษยทงทางกายภาพ และพฤตกรรม 2.1.4 สถาปตยกรรมของแอนดรอยด

ภาพท 2.2 สถาปตยกรรมของแอนดรอยด ( http://elinux.org/images/c/c2/Android-system-architecture.jpg)

10

สถาปตยกรรมในการออกแบบแอนดรอยด (Android Architecture) ถกออกแบบเปนล าดบชนโดยแตละชน หรอ เลเยอร (Layer)ซงจะเรยกใชบรการจากชนทอยลางกวาจากระดบชนนนๆ ซงโครงสรางของระบบ จะถกแบงออกเปน 4 ชน คอ ชนลนกซ เคอรเนล (Linux Kernal), ชนไลบราร (Library),ชนแอปพลเคชน เฟรมเวรค (Application Framework)และชนแอปพลเคชน (Application) 2.1.4.1 Linux Kernel

สวนทเปนแกนหลกหรอเคอรเนล (Kernel) ของแอนดรอยดนน ความจรงกคอเคอรเนลของลนกซ ซงเปนระบบปฏบตการทสรางโดย Linus Torvalds ในป ค.ศ. 1991 ปจจบนเราสามารถพบลนกซ ไดในทกสงอยาง ตงแตนาฬกาขอมอไปจนถงซปเปอรคอมพวเตอร Linux Kernel ท าหนาทเปน Hardware Abstraction Layer หรอกคอตวกลางระหวางฮารดแวรกบซอฟตแวรทอยในชนถดขนไป และท าหนาทบรหารจดการทรพยากรตางๆของเครอง เชน การจดการหนวยความจ า การจดการกระบวนการ ผผลตอปกรณสามารถ “พอรต” แอนดรอยดใหไปรนบนฮารดแวรแบบตางๆไดโดยการเปลยนแปลงในสวนของ Linux Kernel น 2.1.4.2 ไลบราร (Native Library) ไลบรารทนาสนใจของแอนดรอยด เชน

1) Surface Manager คอไลบรารจดการสวนแสดงผลทมความสามารถในการผสมกราฟกทง 2 มต และ 3 มต จากแอพพลเคชนตางๆเขาดวยกน ท าใหสามารถสรางแอฟเฟด เชนวนโดวทมองทะลไปขางหลงไดและ Transition ในรปแบบตางๆ

2) Media Libraries คอไลบรารทจดเตรยมบรการในการเลนและบนทกเสยง วดโอ และรปภาพในฟอรแมตตางๆ เชน MPEG4, H.264, MP3, AAC, AMR, JPG และ PNG

3) SQLite คอ Database Engine ทมประสทธภาพและมขนาดเลก เพอใหเราสามารถจดเกบขอมลตางๆของแอพพลเคชนไวในรปแบบของฐานขอมลเชงสมพนธ (Relational Database)

4) WebKit คอไลบรารทใชแสดงเนอหาเวบเพจ ซงเปนตวเดยวกบทใชใน Google Chrome และ Apple Safari รวมถงเวบบราวเซอรในถอ iPhone และมอถอตระกล S60

11

5) Android Runtime Android Runtime ประกอบดวย Core Library ส าหรบภาษาจาวา และ Dalvik Virtual Machine

ในแบบของแอนดรอยด ซงถกออกแบบมาส าหรบอปกรณทใชไฟฟาจากแบตเตอ รและมหนวยความจ าจ ากด ในแอนดรอยดนนแตละแอพพลเคชนจะรนอยในโพรเซสของตวเองและม Dalvik VM ของตวเองอยดวยดงนนโคดของแตละแอพพลเคชนจะรนอยใน VM ทแยกจากกน ส าหรบ Core Library ซงเปน Java Library นนสวนใหญจะเหมอนกบใน Java Standard Edition (Java SE) ทเราใชพฒนาแอพพลเคชนบนพซ แตบางไลบรารทมใน Java SE จะไมมในแอนดรอยด และบางไลบรารถงแมจะมในแอนดรอยดแตกมรปแบบทแตกตางออกไป 2.1.4.3 Application Framework

Application Framework จะประกอบดวยคอมโพเนนตพนฐานตางๆทใชในการสรางแอพพลเคชน คอมโพเนนตเหลานจะถกตดตงมากบแอนดรอยดอยแลว เราสามารถเขยนแทนทดวยคอมโพเนนตทเราสรางขน สวนส าคญใน Application Framework มดงน

1) Activity Manager คอคอมโพเนนตทควบคม Lifecycle ของแอพพลเคชน 2) Content Providers คอคอมโพเนนตทใหแอพพลเคชนตางๆ สามารถแชรขอมลกนได 3) View System ประกอบดวยคอมโพเนนตทใชสรางสวนตดตอกบผใชเชน ปม เทกซบอกซ

ลสต กรด 4) Resource Manager คอตวจดการทรพยากร ซงทรพยากรหมายถงขอมลใดๆใน

แอพพลเคชนทไมใชโคด เชน คาสตรง และรปภาพ เปนตน 5) Notification Manager คอคอมโพเนนตทท าใหแอพพลเคชนสามารถแสดงขอความแจง

เตอนผใชออกมาในแถบสถานะได 2.1.4.4 Applications

แอพพลเคชนตางๆทตดตงมากบเครองอยแลว (Core Applications) เชน Phone dialer, Email, Contacts, Web browser และ Google Play (Android Market เดม) รวมถงแอพพลเคชนทเราสรางขนดวย ซงแอพพลเคชนทงหมดในสวนนจะเขยนดวยภาษาจาวา (พรอมเลศ หลอวจตร ,2555)

12

2.1.5 เวอรชนของระบบปฏบตการแอนดรอยดทมการพฒนา

เวอรชนมการพฒนามาทงหมด 10 เวอรชน และมการตงชอในแตละเวอรชนเปนชอของขนมหวาน มดงน 1. Android 1.0 (ไมมชอเรยก) 6. Android 2.2 (Froyo) 2. Android 1.1 (ไมมชอเรยก) 7. Android 2.3 (Gingerbread) 3. Android 1.5 (Cupcake) 8. Android 3.0 (Honeycomb) 4. Android 1.6 (Doughnut) 9. Android 4.0 (IceCream Sandwich) 5. Android 2.0/2.1 (Éclair) 10. Android 4.1 (Jelly Bean)

ภาพท 2.3 เวอรชนของระบบปฏบตการแอนดรอยดทมการพฒนา

(ทมา: http://www.galaxylovers.com/androidissosweet/)

13

2.1.6 ความสามารถทวไปของระบบปฏบตการแอนดรอยด

2.1.6.1 ควบคมดวย Touch Screen คอใชนวสมผสเพอควบคมการท างาน ใชบรการ Google Service

2.1.6.2 เชอมตอ Social network ผาน Application 2.1.6.3 สามารถตดตงโปรแกรมผาน Android Phone หรอเรยกวา Android Market Place

2.1.6.4 โทรดวยเสยง หรอ Google Search ดวยเสยง 2.1.6.5 ใชเครองมอถอทเปนแอนดรอยดตอเปนโมเดมส าหรบตอ Internet ได 2.1.6.6 ลกษณะการใชงานทวไปโดยรวมคลายกบ Smart Phone

2.1.7 ความสามารถพเศษของระบบปฏบตการแอนดรอยด 2.1.7.1 ระบบเดาค าศพท (Text-Prediction) ชวยลดเวลาในการพมพขอความ 2.1.7.2 ระบบอานออกเสยงขอความ (Text-to-Speech)เชน อาน SMS ออกมาเปนเสยงได

โดย ไมตองอานเอง 2.1.7.3 ใชงาน Multi-Touch Screen โดยเรมใชไดเมอเวอรชน 1.6 2.1.7.4 Wi-Fi Hotspot คอ ใหแอนดรอยดกลายเปน Access Point นนเอง 2.1.7.4 สนบสนน Near field communication (NFC) ท าให Android Phone สามารถอาน

RFID ได 2.1.8 แอพพลเคชนบนระบบแอนดรอยด (Android Application)

แอพพลเคชนส าหรบอปกรณเคลอนท (Mobile Application) ซงค าวา “Mobile Application” ประกอบขนดวย 2 ค า คอ Mobile กบ Application ซงมความหมายดงน Mobile คออปกรณสอสารทใชในการพกพา นอกจากการใชงานไดตามพนฐานของโทรศพทแลว ยงท างานไดกบคอมพวเตอรเนองจากเปนอปกรณทพกพาได จงมคณสมบตเดน คอ มขนาดเลก น าหนกเบา ใชพลงงานนอย ส าหรบ Application หมายถงซอฟแวรทใชเพอชวยในการท างานของผใช (User) โดยแอพพลเคชนจะตองมสวนตดตอกบผใช User Interface (UI) เพอเปนตวกลางในการใชงานตางๆดงนน Mobile Application หมายถง แอพพลเคชนทชวยใหการท างานของผใชบนอปกรณแบบเคลอนทและพกพา เชน PDA, Smartphone และ Tablet เปนตน ซงแอพพลเคชนเหลานจะท างานบนระบบปฏบตการ (OS) ทแรกตางกน ในปจจบนมการพฒนาแอพพลเคชนตอบสนองความตองการของกลมผใชขนมาเปนจ านวนมาก เนองจากผใชมความตองการใชแอพพลเคชนทแตกตางกน และในปจจบนอตราการใชงานอปกรณเคลอนทเพมมากขนเปนผลจากการใหบรการ

14

แอพพลเคชนตางๆ ทมการพฒนาเพมมากขนดวย เพอตอบสนองการใชงานของผใชไมวาจะเปน กลมคนท างาน นสตนกศกษา นกธรกจ หรอกลมแมบานในปจจบนไดพฒนาแอพพลเคชนตางๆ ขนมากมายเพอตอบสนองความตองการของผใช โดยผเชยวชาญจากผลการวจยของบรษท Gartner ซงเปนบรษทวจยดานธรกจและเทคโนโลย กลาววาในอนาคตตลาดของแอพพลเคชนจะเขาสความเปนตลาดทเปนลกคาเฉพาะกลมมากขน โดยแอพพลเคชนทมการใชกนในปจจบนและเรมมผใชมากขนตามล าดบ มดงตอไปน

1) การโอนเงนผานโทรศพทเคลอนท (Money Transfer) เปนชองทางทสะดวก ประหยดและรวดเรว

2) การสบคนผานอปกรณสอสาร (Mobile Search) โดยจดประสงคหลกของบรการนกเพอสงเสรมการขายบนโทรศพทเคลอนท และมการวเคราะหวาลกคาคนเคยกบบรการคนหาสนคาหรอบรการของผใหบรการของผใหบรการรายใดแลวกมกจะกลบมาใชบรการตอไป

3) การใชบรการเวบไซตผานโทรศพทเคลอนท (Mobile Browsing) เปนการเขาถงอนเทอรเนตซงถอเปนฟงกชนพนฐานของโทรศพทยคใหม

4) การตดตามสขภาพหรอตรวจสขภาพทางไกล (Mobile Health Monitoring) เปนบรการเพอคอยเฝาดผปวย โดยเฉพาะผปวยทเปนโรคเรอรงทไมจ าเปนตองนอนโรงพยาบาล ผปวยจะไดรบการดแลอยางตอเนอง ชวยใหหนวยงานทางดานสขภาพประหยดคาใชจายได เพราะสามารถตดตามอาการผปวยไดตลอดเวลาผานโทรศพทเคลอนท

5) การช าระเงนผานโทรศพทเคลอนท (Mobile Payment) โดยมวตถประสงคคลายๆกบ Money Transfer แตบรการมลกษณะเดน 3 ประการ คอ เปนทางเลอกในการช าระเงนเมอชองทางช าระเงน อนๆ ไมสะดวก เพมความสะดวกและรวดเรวใหแกผใชบรการ และชวยเพมปจจยในการยนยนตวตนของลกคา เพอเพมระดบของความปลอดภยของขอมลไดอกทางหนง

6) การเชอมตอสญญาณและการโอนยายขอมลระยะสนดวยเทคโนโลย NFC ซงเปนการสอสารไรสายระยะสน ทจะมการน ามาใชกบการช าระเงนในจดทตองการความรวดเรวและมยอดการช าระไมมากนก หรอคาช าระโดยสารตางๆ หรอใชในการยนยนหมายเลข ID ของลกคากอนเขา ระบบตางๆเปนตน

7) การโฆษณาผานโทรศพทเคลอนท (Mobile Advertising) ตลาดโฆษณาบนโทรศพทเคลอนทผานเรอขายสงคมออนไลนจะเตบโตขนไปอยางตอเนอง เพราะสามารถเขาถงลกคาจ านวนมากได

8) การรบ-สงขอความตวอกษรหรอภาพ (Mobile Instant Messaging) เปนการบรการสนทนาผานโทรศพทเคลอนทซงเปนทนยมกนมากในปจจบน

15

9) บรการเพลงประเภทตางๆ (Mobile Music) เปนบรการฟงเพลงหรอโหลดเพลงมาไวบนโทรศพท

10) Banking Services เปนบรการทไดรบความนยมในกลมธรกจ โดยบรการทผใชเพมมากขน ไดแก การโอนเงนผานโทรศพทเคลอนท เนองจากมคาใชจายตางๆ มความสะดวกและรวดเรว นอกจากนน Mobile Banking ยงเปนกลมแอพพลเคชนทมโอกาสเตบโตคอนขางมาก เพอรองรบการใหบรการทางการเงนรปแบบใหม เชน Online Banking เปนตน

11) Location Based Services (LBS) เปนแอพพลเคชนทไดรบความนยมเพมสงขนในปจจบน เนองจากสามารถตอบสนองความตองการไดหลากหลาย นบตงแตเพมประสทธภาพในเชงธรกจ สนบสนน Social Networking รวมถงตอบสนองความตองการและความสนใจในชวตประจ าวนไดเปนอยางด โดยแนวโนมภายในประเทศไทยนน การใหบรการ LBS ทตอบสนองความตองการทางดาน Social Networking จะกลายเปนกลมใหญทสดในการใหบรการ LBS ในอนาคต ปจจบนผใหบรการตางประเทศไดใหความส าคญในการใหบรการประเภทนอยางสง เชน การใหบรการชพกดสาหรบสมาชกทใชบรการ Facebook เปนตน

12) Cloud Based Services (CBS) เปนแอพพลเคชนทไดรบความนยมเปนอยางมากเนองดวยผใชไมจ าเปนตองเกบขอมลไวในอปกรณเคลอนทของตนทมพนทหนวยความจ าอยางจ ากด แตสามารถเรยกใชงานหรอดาวนโหลดขอมลตางๆ ไดจากผใหบรการผานอนเทอรเนต (เวบ) ไดอยางสะดวก นอกจากนนยงไดรบการตอบรบในแงของการแบงปนขอมลระหวางผใชของแตละคนไดอยางรวดเรวผลกดนใหผลตอปกรณเคลอนทตองมการรองรบการใชงานอนเทอรเนตเปนแอพพลเคชนทส าคญยงนอกจากนนยงชวยใหเกดการพฒนาแอพพลเคชนส าหรบอปกรณเคลอนทใหมๆ ออกมาอยางตอเนอง เชน การใชบรการตรวจสภาพจราจรผานอปกรณเคลอนทแบบ Real-time เปนตน 2.1.9 ขอเดนของระบบปฏบตการ Android

เนองจากระบบปฏบตการแอนดรอยดมการเจรญเตบโตอยางรวดเรว และมสวนแบงตลาดของอปกรณดานนขนทกขณะ ท าใหกลมผใชงาน และกลมนกพฒนาโปรแกรม ใหความส าคญกบระบบปฏบตการแอนดรอยดเพมมากขน

เมอมองในดานของกลมผลตภณฑ บรษททมการพฒนาผลตภณฑรนใหม ไดมการน าเอาระบบปฏบตการแอนดรอยดไปใชในสนคาของตนเอง พรอมท งย ง มการปรบแตงใหระบบปฏบตการมความสามารถ การจดวาง โปรแกรม และลกเลนใหมๆ ทแตกตางจากคแขงในทองตลาด โดยเฉพาะอยางยง กลมสนคาทเปน มอถอรนใหม (Smart Phone) และอปกรณจอสมผส

16

(Touch Screen) โดยมคณลกษณะแตกตางกนไป เชน ขนาดหนาจอ ระบบโทรศพท ความเรวของหนวยประมวลผล ปรมาณหนวยความจ า แมกระทงอปกรณตรวจจบตางๆ(Sensor)

หากมองในดานของการพฒนาโปรแกรม ทางบรษท กเกล ไดมการพฒนา Application Framework ไวส าหรบนกพฒนาใชงาน ไดอยางสะดวก และไมเกดปญหาเมอน าชดโปรแกรมทพฒนาขนมา ไปใชกบอปกรณทมคณลกษณะตางกน เชน ขนาดจออปกรณ ไมเทากน กยงสามารถใชงานโปรแกรมไดเหมอนกน เปนตน 2.2 Java programming language

ภาษาจาวา (องกฤษ: Java programming language) เปนภาษาโปรแกรมเชงวตถ (องกฤษ:

Object Oriented Programming) พฒนาโดย เจมส กอสลง และวศวกรคนอนๆ ทซนไมโครซสเตมส ภาษาจาวาถกพฒนาขนในป พ.ศ. 2534 (ค.ศ. 1991) โดยเปนสวนหนงของ โครงการกรน (the Green Project) และส าเรจออกสสาธารณะในป พ.ศ. 2538 (ค.ศ. 1995) ซงภาษานมจดประสงคเพอใชแทนภาษาซพลสพลส (C++) โดยรปแบบทเพมเตมขนคลายกบภาษาออบเจกตทฟซ (Objective-C) แตเดมภาษานเรยกวา ภาษาโอก (Oak) ซงตงชอตามตนโอกใกลทท างานของ เจมส กอสลง แตวามปญหาทางลขสทธ จงเปลยนไปใชชอ “ จาวา ” ซงเปนชอกาแฟแทน (แอพพลเคชนวดประสทธภาพการขบขรถยนตบนสมารตโฟนระบบปฏบตการแอนดรอยด ,2555)

จดเดนของภาษาจาวาอยทผเขยนโปรแกรมสามารถใชหลกการของ Object-Oriented Programming มาพฒนาโปรแกรมของตนดวย Java ได ภาษาจาวาเปนภาษาส าหรบเขยนโปรแกรมทสนบสนนการเขยนโปรแกรมเชงวตถ ( OOP : Object-Oriented Programming) โปรแกรมทเขยนขนถกสรางภายในคลาส ดงนนคลาสคอทเกบเมทอด (method) หรอพฤตกรรม (behavior) ซงมสถานะ (state) และรปพรรณ (identity) ประจ าพฤตกรรม

17

ภาพท 2.4 สญลกษณของจาวา

(ทมา: http://khaimuklllchakpra.blogspot.com/2012/01/blog-post.html) 2.2.1 ขอดของ ภาษาจาวา

2.2.1.1 ภาษาจาวาเปนภาษาทสนบสนนการเขยนโปรแกรมเชงวตถแบบสมบรณ ซงเหมาะส าหรบพฒนาระบบทมความซบซอน การพฒนาโปรแกรมแบบวตถจะชวยใหเราสามารถใชค าหรอชอ ตาง ๆ ทมอยในระบบงานนนมาใชในการออกแบบโปรแกรมได ท าใหเขาใจไดงายขน

2.2.1.2 โปรแกรมท เขยนขนโดยใชภาษาจาวาจะมความสามารถท า งานไดในระบบปฏบตการทแตกตางกน ไมจ าเปนตองดดแปลงแกไขโปรแกรม เชน หากเขยนโปรแกรมบนเครอง Sun โปรแกรมนนสามารถน ามา compile และ run บนเครองพซธรรมดาได

2.2.1.3 ภาษาจาวามการตรวจสอบขอผดพลาดทงตอน compile และ run ท าใหลดขอผดพลาดทอาจเกดขนในโปรแกรม และชวยให debug โปรแกรมไดงาย

2.2.1.4 ภาษาจาวามความซบซอนนอยกวาภาษา C++ เมอเปรยบเทยบ code ของโปรแกรมทเขยนขนโดยภาษา จาวากบ C++ พบวา โปรแกรมทเขยนโดยภาษาจาวาจะมจ านวน code นอยกวาโปรแกรมทเขยนโดยภาษา C++ ท าใหใชงานไดงายกวาและลดความผดพลาดไดมากขน

2.2.1.5 ภาษาจาวาถกออกแบบมาใหมความปลอดภยสงตงแตแรก การรกษาความปลอดภยท าใหโปรแกรมทเขยนขนดวยจาวามความปลอดภยมากกวาโปรแกรมทเขยนขนดวยภาษาอน เพราะจาวาม security ทง low level และ high level ไดแก electronic signature, public and private key management, access control และ certificates

18

public class Main { public static void main(String[] args) {

System.out.println("Hello World!"); }

} **โปรแกรมขางตนจะแสดงขอความ Hello world บนจอภาพ**

2.2.1.6 ม IDE, application server, และ library ตาง ๆ มากมายส าหรบจาวาทเราสามารถใชงานไดโดยไมตองเสยคาใชจาย ท าใหเราสามารถลดคาใชจายทตองเสยไปกบการซอเครองมอและซอฟตแวรตาง ๆ

ตวอยางตอไปนคอการเขยนโปรแกรม Hello world โดยใชภาษาจาวา

ภาพท 2.5 การเขยนโปรแกรมดวยภาษาจาวา

จดมงหมายหลก 4 ประการ ในการพฒนาจาวา คอ

1) ใชภาษาโปรแกรมเชงวตถ 2) ไมขนกบแพลตฟอรม (สถาปตยกรรม และ ระบบปฏบตการ) 3) เหมาะกบการใชในระบบเครอขาย พรอมมไลบรารสนบสนน 4) เรยกใชงานจากระยะไกลไดอยางปลอดภยเนองจากชอทเหมอนกน และการเรยกขานท

มกจะพดถงพรอมกนบอยๆ ท าใหคนทวไป มกสบสน 2.2.2 รนตาง ๆ ของภาษาจาวา

2.2.2.1 (ค.ศ. 1996) - ออกครงแรกสด 2.2.2.2 (ค.ศ. 1997) - ปรบปรงครงใหญ โดยเพม inner class

2.2.2.3 เวอรชน 1.2 (4 ธนวาคม, ค.ศ. 1998) - รหส Playground ดานจาวาแพลตฟอรมไดรบการเปลยนแปลงครงใหญใน API และ JVM (API ส าคญทเพมมาคอ Java Collections Framework และ

19

Swing; สวนใน JVM เพมJIT compiler) แตตวภาษาจาวานน เปลยนแปลงเพยงเลกนอย (เพมคยเวรด strictfp) และทงหมดถกเรยกชอใหมวา "จาวา 2" แตระบบเลขรนยงไมเปลยนแปลง

2.2.2.4 เวอรชน 1.3 (8 พฤษภาคม, ค.ศ. 2000) - รหส Kestrel แกไขเลกนอย 2.2.2.5 เวอรชน 1.4 (13 กมภาพนธ, ค.ศ. 2002) - รหส Merlin เปนรนทถกใชงานมากทสดใน

ปจจบน (ขณะทเขยน ค.ศ. 2005) 2.2.2.6 เวอรชน 5.0 (29 กนยายน, ค.ศ. 2004) - รหส Tiger (เดมทนบเปน 1.5) เพมคณสมบต

ใหมในภาษาจาวา เชน Annotations ซงเปนทถกเถยงกนวาน ามาจากภาษาซชารป ของบรษทไมโครซอฟท, Enumerations,Varargs, Enhanced for loop, Autoboxing, และทส าคญคอ Generics

2.2.2.7 เวอรชน 6.0 (11 ธนวาคม, ค.ศ. 2006) - รหส Mustang เปนรนในการพฒนาของ Java SDK 6.0 ทออกมาใหทดลองใชในเดอนพฤศจกายน ค.ศ. 2004

2.2.2.8 เวอรชน 7.0 (ก าลงพฒนา ก าหนดออก ค.ศ. 2008) - รหส Dolphin ก าลงพฒนา(แอพพลเคชนวดประสทธภาพการขบขรถยนตบนสมารตโฟนระบบปฏบตการแอนดรอยด , 2555) 2.3 Eclipse

Eclipse คอโปรแกรมทใชส าหรบพฒนาภาษาจาวา ซงโปรแกรม Eclipse เปนโปรแกรมหนงทใชในการพฒนา Application Server ไดอยางมประสทธภาพ และเนองจาก Eclipse เปนซอฟตแวร Open Source ทพฒนาขนเพอใชโดยนกพฒนาเอง ท าใหความกาวหนาในการพฒนาของ Eclipse เปนไปอยางตอเนองและรวดเรว ซงมสญลกษณของโปรแกรมดงภาพท 2.6

Eclipse มองคประกอบหลกทเรยกวา Eclipse Platform ซงใหบรการพนฐานหลกส าหรบรวบรวมเครองมอตางๆ จากภายนอกใหสามารถ เขามาทางานรวมกนในสภาพแวดลอมเดยวกน และมองคประกอบทเรยกวา Plug-in Development Environment (PDE) ซงใชในการเพมความสามารถในการพฒนาซอฟตแวรมากขน เครองมอภายนอกจะถกพฒนาในรปแบบทเรยกวา Eclipse plug-ins ดงนนหากตองการให Eclipse ท างานใดเพมเตม กเพยงแตพฒนา plug-in ส าหรบงานนนขนมา และน า plug-in นนมาตดตงเพมเตมใหกบ Eclipse ทมอยเทานน Eclipse Plug-in ทมมาพรอมกบ Eclipse เมอเรา download มาครงแรกกคอองคประกอบทเรยกวา Java Development Toolkit (JDT) ซงเปนเครองมอในการเขยน และ Debug โปรแกรมภาษา Java ซงมลกษณะหนาจอโปรแกรมดงภาพท 2.7

ขอดของโปรแกรม Eclipse คอ ตดตงงาย สามารถใชไดกบ J2SDK ไดทกเวอรชน รองรบภาษาตางประเทศอกหลายภาษา ม plug-in ทใชเสรมประสทธภาพของโปรแกรม สามารถท างานไดกบไฟลหลายชนด เชน HTML, Java, C, JSP, EJB, XML และ GIF และทส าคญเปนฟรเเวร (ใหใช

20

งานได 90 วน ถาจะใชงานเตมประสทธภาพตองเสยคาใชจายภายหลง) ใชงานไดหลากหลายกบระบบปฏบตการ เชน Windows, Linux และ Mac OS เปนตน

ภาพท 2.6 แสดงสญลกษณ Eclipse

(ทมา: http://androidthai.in.th/conternt-android/48-install-adt-plugin-on-eclipse.html)

ภาพท 2.7 แสดงหนาจอโปรแกรม

21

2.4 Android SDK Android SDK ยอมาจาก Android Software Development Kit ซงเปนชดโปรแกรมททาง

Google พฒนาออกมาเพอแจกจายใหนกพฒนาแอพพลเคชน หรอผสนใจทวไปดาวนโหลดไปใชงานกนไดโดยไมมคาใชจายใดๆ (ฟรส าหรบการใชงานโปรแกรม) จงเปนอกหนงปจจยทท าให แอพพลเคชนบนแอนดรอยดนนเพมขนอยางรวดเรวในชด SDK นนจะมโปรแกรมและไลบรารตางๆ ทจ าเปนตอการพฒนาแอพพลเคชนบนระบบปฏบตการแอนดรอยด อยางเชน Emulator หรอโปรแกรมจ าลองเครองจกรเสมอน ดงภาพท 2-8 ซงท าใหผ พ ฒนาโปรแกรมสามารถสราง แอพพลเคชน และน ามาทดลองใชงานบน Emulator กอนโดยมสภาวะแวดลอมเหมอนกบการน าไปใชงานโทรศพทเคลอนททใชระบบปฏบตการแอนดรอยดจรงๆ โดยสามารถดาวนโหลด Android SDK ทมใหเลอกทงระบบปฏบตการ Windows, Mac และ Linux

ภาพท 2.8 แสดง Emulator

22

2.5 หนยนต หนยนต หรอ โรบอต (Robot) คอเครองจกรกลชนดหนง มลกษณะโครงสรางและรปราง

แตกตางกน หนยนตในแตละประเภทจะมหนาทการท างานในดานตาง ๆ ตามการควบคมโดยตรงของมนษย การควบคมระบบตาง ๆ ในการสงงานระหวางหนยนตและมนษย สามารถท าไดโดยทางออมและอตโนมต โดยทวไปหนยนตถกสรางขนเพอส าหรบงานทมความยากล าบากเชน งานส ารวจในพนทบรเวณแคบหรองานส ารวจดวงจนทรดาวเคราะหท ไมมสงมชวต ปจจบนเทคโนโลยของหนยนตเจรญกาวหนาอยางรวดเรว เรมเขามามบทบาทกบชวตของมนษยในดานตาง ๆ เชน ดานอตสาหกรรมการผลต แตกตางจากเมอกอนทหนยนตมกถกน าไปใช ในงานอตสาหกรรมเปนสวนใหญ ปจจบนมการน าหนยนตมาใชงานมากขน เชน หนยนตทใชในทางการแพทย หนยนตส าหรบงานส ารวจ หนยนตทใชงานในอวกาศ หรอแมแตหนยนตทถกสรางขนเพอเปนเครองเลนของมนษย จนกระทงในปจจบนนไดมการพฒนาใหหนยนตนนมลกษณะทคลายมนษย เพอใหอาศยอยรวมกนกบมนษย ใหไดในชวตประจ าวน 2.5.1 ประวตของหนยนต

ในสมยกอนหนยนตเปนเพยงจนตนาการของมนษย ทมความตองการไดสงใดสงหนงเขามาชวยในการผอนแรงจากงานทท า หรอชวยในการปฏบตงานทยากล าบากเกนขอบเขตความสามารถ และจากจนตนาการไดกลายเปนแรงบนดาลใจใหมนษย คดประดษฐสรางสรรคหนยนตขนมา จนกลายเปนหนยนตหรอ Robot ในปจจบน

ค าวา Robot มาจากค าวา Robota ในภาษาเชก ซงแปลโดยตรงวา การท างานเสมอนทาส ถอก าเนดขนจากละครเวทเรอง "Rassum's Universal Robots" ในป ค.ศ. 1920 ซงเปนบทประพนธของ คาเรว ชาเปก (Karel Čapek) เนอหาของละครเวทมความเกยวพนกบจนตนาการของมนษย ในการใฝหาสงใดมาชวยในการปฏบตงาน การประดษฐคดคนสรางหนยนตจงถอก าเนดขนเพอเปนเสมอนทาสคอยรบใชมนษย การใชชวตรวมกนระหวางหนยนตและมนษยด าเนนตอไปจนกระทงหนยนตเกดมความคดเชนเดยวกนมนษย การถกกดขขมเหงเชนทาสจากมนษยท าใหหนยนตเกดการตอตานไมยอมเปนเบยลางอก ซงละครเวทเรองนโดงดงมากจนท าใหค าวา Robot เปนทรจกทวโลก

ในป ค.ศ. 1942 ค าวา Robot ไดกลายเปนจดสนใจของคนทวโลกอกครง เมอ ไอแซค อสมอฟ นกเขยนนวนยายแนววทยาศาสตรไดเขยนเรองนวนยายสนเรอง Runaround ซงไดปรากฏค าวา Robot ในนยายเรองน และตอมาไดน ามารวบรวมไวในนยายวทยาศาสตรเรอง I-Robot

23

ท าใหนกวทยาศาสตรไดท าความรจกกบค าวา Robot เปนครงแรกจากนวนยายเรองน หนยนตจงกลายเปนจดสนใจและเปนแนวคดและจนตนาการของนกวทยาศาสตร ในการคดคนและประดษฐหนยนตในอนาคต

สมยโบราณการดเวลาจะใชนาฬกาแดด เปนเครองบงชเวลาแตสามารถใชไดเพยงแคเวลากลางวนเทาน น นาฬกาทรายจะใชบอกเวลาในเวลากลางคน จงไดมการคดคนและประดษฐเครองจกรกลส าหรบบอกเวลาใหแกมนษยคอ นาฬกาน า (Clepsydra) โดย Ctesibiua of Alexandria นกฟสกสชาวกรกในป 250 กอนครสตกาล นาฬกาน านใชบอกเวลาแทนมนษยทแตเดมตองบอกเวลาจากนาฬกาแดดและนาฬกาทราย โดยใชพลงงานจากการไหลของน า เปนตวผลกท าใหกลไกของนาฬกาน าท างาน และถอเปนเครองจกรเครองแรกทมนษยสรางขนเพอใชส าหรบท างานแทนมนษย และเมอมนษยไดรจกและเรยนรเกยวกบไฟฟา ความคดสรางสรรคในการควบคมเครองจกรโดยไมตองใชกระแสไฟฟากเรมขน Nikola Tesia เปนบคลแรกทสามารถใชคลนวทยในการควบคมหนยนตเรอขนาดเลกในกรงนวยอรก ในป ค.ศ. 1898 ภายในงานแสดงผลงานทางดานไฟฟา

ป ค.ศ. 1940 - 1950 หนยนตชอ Alsie the Tortoise ไดถอก าเนดขนโดย Grey Walter หนยนตรปเตาสรางจากมอเตอรไฟฟาน ามาประกอบเปนเครองจกร สามารถเคลอนทไดดวยลอทง 3 ตอมาหนยนตชอ Shakey ในภาพท 2-9 ไดถกสรางขนใหสามารถเคลอนทไดเชนเดยวกบ Alsie the Tortoise โดย Standford Research Institute:SRI แตมความสามารถเหนอกวาคอมความคดเปนของตนเองโดยท Shakey จะมสญญาณเซนเซอรเปนเครองบอกสญญาณในการเคลอนทไปมา ซงนอกเหนอจากหนยนตทสามารถเคลอนทไปมาดวยลอแลว ในป ค.ศ. 1960 หนยนตทชอ General Electric Walking Truck ทสามารถเดนไดดวยขากถอก าเนดขน มขนาดโครงสรางใหญโตและหนกถง 3,000 ปอนด สามารถกาวเดนไปดานหนาดวยขาทง 4 ขางดวยความเรว 4 ไมล/ชวโมงโดยการใชคอมพวเตอรในการควบคมการเคลอไหวของขา General Electric Walk Truck ไดรบการพฒนาโครงสรางและศกยภาพโดยวศวกรประจ าบรษท General Electric ชอ Ralph Moser

ภายหลงจากทหนยนตเรมเปนทรจกไปทวโลก หนยนตเรมเขามามบทบาทความส าคญในดานตาง ๆ เกยวของสมพนธกบชวตของมนษย โรงงานอตสาหกรรมเรมมความคดใชหนยนตแทนแรงงานมนษยเดม หนยนตดานอตสาหกรรมตวแรกทชอ Unimates ไดถอก าเนดขนในป ค.ศ. 1950 - 1960 โดย George Devol และ Joe Engleberger ซงตอมา Joe ไดแยกตวออกมาจาก George โดยเปดบรษทสรางหนยนตในชอของ Unimation ซงตอมาผลงานในดานหนยนตของ Joe ไดรบ สมญานามวา “บดาแหงหนยนตดานอตสาหกรรม”

24

ภาพท 2.9 แสดงภาพหนยนต Shakey (ทมา: http://th.wikipedia.org/wiki/)

2.5.2 ความหมายของหนยนต

ความหมายของ "หนยนต" โดยสถาบนหนยนตอเมรกา (The Robotics Institute of America) ไดใหความหมายไวดงน

“ หนยนต คอเครองจกรใชงานแทนมนษย ทออกแบบใหสามารถตงล าดบการท างาน การใชงานไดหลากหลายหนาท ใชเคลอนยายวสดอปกรณ สวนประกอบตาง ๆ เครองมอหรออปกรณพเศษ ตลอดจนการเคลอนทไดหลากหลาย ตามทต งล าดบการท างาน เพอส าหรบใชในงานหลากหลายประเภท”(A robot reprogrammable, multifunctional manipulator designed to move materials, parts, tools or specialized devices through various programmed motions for the performance of a variety of tasks.) นยามดงกลาว อกนยหนงกคอ เครองจกรกลทกชนดทสามารถปฏบตงานแทนมนษยได ทกประเภท ทงทางตรงและทางออม รวมทงในงานทเสยงอนตรายโดยทมนษยไมสามารถปฏบตงานได ตลอดจนการท างานทเปนอตโนมตโดยตนเองหรอถกควบคมโดยมนษย และสามารถปรบเปลยนรปแบบการท างานไดหลากหลาย ศาสตราจารย George A. Bekey แหงมหาวทยาลยเซาเทรนแคลฟอรเนย ไดใหนยามหนยนตวาเปน

25

“เครองจกรทสามารถ รบร คด และกระท า” (A machine that senses, thinks, and acts) ซงหนยนตในความหมายนเปนหนยนตทเรยกวาหนยนตอตโนมต (Autonomous robot) (นตยสาร GM, สงหาคม พ.ศ. 255) 2.5.3 ประเภทของหนยนต ประเภทของหนยนต สามารถแบงแยกไดหลากหลายรปแบบตามลกษณะเฉพาะของการใชงาน ไดแกการแบงประเภทตามการเคลอนท นอกจากนอาจจ าแนกตามรปลกษณภายนอกดวยกได

2.5.3.1 การแบงประเภทตามการเคลอนทได 1) หนยนตทตดตงอยกบท ไมสามารถเคลอนทได

หนยนตทตดตงอยกบท สามารถเคลอนไหวไปมาแตไมสามารถเคลอนทได หนยนตในประเภทนไดแก แขนกลของหนยนตทใชในงานดานอตสาหกรรมตาง ๆ เชนงานดาน อตสาหกรรมผลตรถยนตแขนกลของหนยนตทใชงานในดานการแพทย เชนแขนกลทใชในการผาตด หนยนตประเภทนจะมลกษณะโครงสรางทใหญโต เทอะทะและมน าหนกมาก ใชพลงงานใหสามารถเคลอนไหวไดจากแหลงจายพลงงานภายนอก และจะมการก าหนดขอบเขตการเคลอนไหวของหนยนตเอาไว ท าใหหนยนตสามารถเคลอนไหวไปมาไดในเฉพาะททก าหนดเอาไวเทานน

2) หนยนตทสามารถเคลอนไหวและเคลอนทได หนยนตทสามารถเคลอนไหวรางกายไปมาไดอยางอสระ หมายความถงหนยนตทสามารถ เคลอนยายตวเองจากต าแหนงหนงไปยงอกต าแหนงหนงไดอยางอสระ หรอมการเคลอนทไปมาในสถานทตาง ๆ เชน หนยนตทใชในการส ารวจดวงจนทรขององคกรนาซา หนยนตส ารวจใตพภพหรอหนยนตทใชในการขนถายสนคา ซงหนยนตทสามารถเคลอนไหวไดน ถกออกแบบลกษณะของโครงสรางใหมขนาดเลกและมระบบเคลอนทไปมา รวมทงมแหลงจายพลงส ารองภายในรางกายของตนเอง แตกตางจากหนยนตทไมสามารถเคลอนทไปมาได ซงจะตองมแหลงจายพลงงานอยภายนอก แหลงจายพลงส ารองภายในรางกายของหนยนตทสามารถเคลอนไหวรางกาย และสามารถเคลอนทไปมาไดนน โดยปกตแลวจะถกออกแบบลกษณะของโครงสรางใหมขนาดเลกรวมทงมปรมาณน าหนกไมมาก เพอไมใหเปนอปสรรคตอการปฏบตงานของหนยนตหรออปสรรคในการเคลอนท

26

2.5.3.2 การแบงประเภทตามลกษณะรปรางภายนอก โดยทวไป หนยนตยงถกจ าแนกตามลกษณะรปลกษณภายนอก และมค าศพทเฉพาะเรยกตางๆกนไป ไดแก

1) หนยนตฮวแมนนอยด (Humanoid Robot) เปนลกษณะหนยนตทเหมอนกบมนษย 2) แอนดรอยด (Android) เปนการเรยกหนยนตคลายมนษยทสามารถแสดงออกเหมอน

มนษย แมวารากศพทภาษากรกของค านหมายถงเพศชาย แตการใชในบรบทภาษาองกฤษมกไมไดมความหมายเจาะจงวาเปนเพศใด

3) จนอยด (Gynoid) เปนการเรยกหนยนตคลายมนษยเพศหญง 4) แอคทรอยด (Actriod) เปนหนยนตทเลยนแบบพฤตกรรมมนษย เชน กะพรบตา หายใจ

เรมพฒนาโดย มหาวทยาลยโอซากาและบรษทโคโคโระ 5) ไซบอรก (Cyborg) เปนหนยนตทเชอมตอกบสงมชวต หรอ ครงคนครงหน เรมปรากฏ

ครงแรกในเรองแตงป 1960 6) นาโนโรบอท (Nanorobot) เปนหนยนตขนาดเลกมาก ขนาดประมาณ 0.5-3 ไมครอน

2.5.4 ประโยชนและความสามารถของหนยนต หนยนตเรมเขามามบทบาทกบชวตประจ าวนของมนษยเรอยมา เทคโนโลยทไดรบการพฒนาอยางตอเนองในปจจบน ท าใหความสามารถของหนยนตพฒนาขนอยางรวดเรว สามารถท างานตาง ๆ ทมนษยไมสามารถท าไดจ านวนมาก ซงการน าหนยนตเขาใชงานแทนมนษยนน สามารถแบงประเภทตามความสามารถของหนยนตได ดงน

2.5.4.1 ความสามารถในดานการแพทย ในงานดานการแพทย เรมน าเอาหนยนตแขนกลเขามามสวนรวมในการชวยท าการผาตด

คนไข เนองจากหนยนตนนสามารถท างานในดานทมความละเอยดสงทเกนกวามนษยจะท าได เชน การน าเอาหนยนตมาใชงานดานการผาตดสมอง ซงมความจ าเปนอยางมากทตองการความละเอยดในการผาตด หนยนตแขนกลจงกลายเปนสวนหนงของการผาตดในดานการแพทย การท างานของหนยนตแขนกลในการผาตด จะเปนลกษณะการท างานของการควบคมการผาตดโดยผานทางแพทยผท าการผาตดอกท ซงการผาตดโดยมหนยนตแขนกลเขามามสวนรวมนนจะเนนเรองความปลอดภยเปนอยางสง รวมทงความสามารถในการเคลอนทของหนยนต รวมถงงานเภสชกรรมทมบางโรงพยาบาลน าหนยนตมาใชในการจายยา

2.5.4.2 ความสามารถในงานวจย หนยนตสามารถท าการส ารวจงานวจยทางดานวทยาศาสตรรวมกบมนษย เชน การส ารวจ

ทองทะเลหรอมหาสมทรทมความลกเปนอยางมาก หรอการส ารวจบรเวณปากปลองภเขาไฟเพอเกบ

27

บนทกขอมลการเปลยนแปลงตาง ๆ ซงเปนงานเสยงอนตรายทเกนขอบเขตความสามารถของมนษยทไมสามารถปฏบตงานส ารวจเชนนได ท าใหปจจบนมการพฒนาหนยนตเพอใชในงานวจยและส ารวจ เพอใหหนยนตสามารถทนตอสภาพแวดลอมและสามารถท าการควบคมหนยนตไดในระยะไกลดวยระบบคอนโทรล โดยมเซนเซอรตดตงทตวหนยนตเพอใชในการวดระยะทางและเกบขอมลในสวนตาง ๆ ทางดานวทยาศาสตร

2.5.4.3 ความสามารถในงานอตสาหกรรม หนยนตเรมมบทบาททางดานเทคโนโลยอตสาหกรรมในขณะทงานดานอตสาหกรรม มความตองการดานแรงงานเปนอยางมาก การจางแรงงานจ านวนมากเพอใชในงานอตสาหกรรม ท าใหตนทนการผลตของแตละโรงงานอตสาหกรรม เพมจ านวนสงขน และงานอตสาหกรรมบางงานไมสามารถทจะใชแรงงงานเขาไปท าได ซงบางงานนนอนตรายและมความเสยงเปนอยางมาก หรอเปนงานทตองการความรวดเรวและแมนย าในการผลตรวมทงเปนการประหยดระยะเวลา ท าใหหนยนตกลายเปนทางออกของงานดานอตสาหกรรม

2.5.4.4 ความสามารถในดานความมนคง อาจจะสรางเครองบนสอดแนมผกอการราย โดยตดตงเรดารคอยตรวจจบเหตทอาจไมชอบมาพากลทอาจจะเกดขน

2.5.4.5 ความสามารถในดานบนเทง หนยนตประเภทนไดรบการพฒนาใหสามารถตอบโตกบคนไดเสมอนเปนเพอนเลน หรอสตวเลยง ดงภาพท 2.10 ซงมในรปแบบของสนข แมว และแมลง เปนตน หรอกระทงสรางความบนเทงทางเพศใหกบมนษยไดอกดวย

ภาพท 2.10 แสดงภาพหนยนต AiboKids (ทมา: http://th.wikipedia.org/wiki/)

28

2.5.4.6 ความสามารถในงานครวเรอน ดงภาพ 2.11

ภาพท 2.11 แสดงภาพหนยนต Roomba หนยนตเครองดดฝ นส าหรบใชในครวเรอน (ทมา: http://th.wikipedia.org/wiki/)

2.6 บอรด IOIO

บอรด IOIO (โยโย) เปนบอรดไมโครคอนโทรลเลอรตวหนงทถกสรางขนโดยฝมอของ YTAI Ben-Tsvi (ชออานวา อทาย) ซงเปนวศวกรชาวอสราเอลของบรษท Google ส าหรบบอรด IOIO นนเปนบอรดไมโครคอนโทรลเลอรทเดมทเกดมาเพอเชอมตอกบแอนดรอยด โดยเฉพาะ โดยตางจากไมโครคอนโทรลเลอรตวอนๆ เพราะปกตแลวการเขยนโปรแกรมเชอมตอกบแอนดรอยด ไมวาจะใชบอรดไมโครคอนโทรลเลอรตวใดกตาม จะตองเขยนโปรแกรมใหกบไมโครคอนโทรลเลอรและตองเขยนแอพพลเคชนบนแอนดรอยด เพอใหสามารถเชอมตอและสงขอมลระหวางกนได

29

ภาพท 2.12 แสดงภาพการเชอมตอระหวางบอรดและแอนดรอยด

(ทมา: http://www.akexorcist.com/2013/11/ioio-board-ioio.html)

บอรดไมโครทวๆไปกรวมไปถง Arduino ดวยเชนกน หลายๆคนขาใจกนวาบอรดไมโครทเชอมตอกบแอนดรอยดไดนน จะมแคบอรด IOIO และ Arduino เทานน บอรดทวๆไปนจะหมายถงบอรดทไมไดเกดมาเพอแอนดรอยดโดยตรง ซงบอรด IOIO จะแตกตางจากบอรดทวๆไปตรงจดนนนเอง เพราะเกดมาเพอเชอมตอและถกสงงานจากแอนดรอยด ไมสามารถท างานไดดวยตวเอง ตองรอค าสงจากแอนดรอยดเทานน เนองจากการทเกดมาเพอแอนดรอยด ผพฒนาจงท าใหผใชงานไมจ าเปนตองเขยนโคดใหกบบอรด IOIO เลย เพราะจะมโคดใสมาในบอรดใหพรอมไวเรยบรอยแลว (หรอทเรยกกนวาเฟรมแวรนนเอง) ดงนนผใชงานจงเขยนโคดแคฝง แอนดรอยดเทานน โดยผผลตจะมไลบรารของบอรด IOIO ใหใชในโคดฝงแอนดรอยดเลย ดงนนจงสามารถสงงานบอรด IOIO ดวยค าสงในแอพพลเคชน

30

ภาพท 2.13 แสดงภาพการเชอมตอระหวางบอรดและแอนดรอยด

(ทมา: http://www.akexorcist.com/2013/11/ioio-board-ioio.html)

ดวยจดดขอน จงท าใหงายตอการน าไปใชงาน ไมตองวนวายกบการเชอมตอ เพราะ เฟรมแวรท าใหหมด และจะท างานทนททเชอมตอกบแอนดรอยด แตนนกกลายเปนขอเสยอกอยางหนงเชนกน เพราะวาจะไมสามารถท างานดวยตวเองได (Standalone) เนองดวยวธการท างานของบอรด IOIO นนเอง ทท างานแบบ Realtime คอตองรอแอนดรอยดสงงานทกครง ไมไดรบโคดทงหมดจากแอนดรอยดแลวมาท างานเองทงหมด แตจะรอค าสงจากแอนดรอยดแลวท าค าสงนนๆทละค าสงเรอยๆ เมอท าค าสงนนๆเสรจแลว แอนดรอยดกจะสงใหท าค าสงตอไปเรอยๆ

สรปไดงายๆวาบอรด IOIO เปนบอรดไมโครคอนโทรลเลอรทใชส าหรบเชอมตอกบแอนดรอยดแลวท างานตาม ค าสงในแอนดรอยด ส าหรบค าสงทจะสงงานผใชกตองเขยนขนมาเปนแอพพลเคชนแทน

31

2.6.1 คณสมบตของบอรด IOIO

บอรด IOIO สรางขนโดยใชชป PIC ตระกล PIC24FJ โดยตวบอรดจะมขา I/O ใหใชงานไดมากถง 48 ขา (เตมทเลยทเดยว) แตละขามคณสมบตพเศษดวย เชน Analog, I2C, หรอ UART เปนตน ซงกเหมอนบอรดไมโครคอนโทรลเลอรทวๆไปนนเอง เพยงแตวาเขยนโคดทเปนเฟรมแวรใสลงในชปใหแลว

ภาพท 2.14 แสดงภาพ บอรด IOIO

(ทมา: http://www.akexorcist.com/2013/11/ioio-board-ioio.html)

2.6.2 การเชอมตอกบแอนดรอยดจะม 3 วธดงน

1. ADB : เปนการเชอมตอผานโปรโตคอล Android Debug Bridge เปนโปรโตคอลทรจกกนดส าหรบนกพฒนาแอนดรอยดหรอผทชอบ Modify เครองเลน หรอเลนรอมโม โดยเชอมตอผานสาย USB โดยตรงระหวางทงสอง (ไมรองรบกบอปกรณแอนดรอยดเวอรชน 4.2.2 ขนไป)

ภาพท 2.15 แสดงภาพ ADB

(ทมา: http://www.akexorcist.com/2013/11/ioio-board-ioio.html)

32

2. Bluetooth : เปนการเชอมตอผานสญญาณบลทธ โดยบอรด IOIO สามารถเสยบ Bluetooth Dongle ได แลวใหฝงแอนดรอยดเชอมตอบลทธ กใชงานผานบลทธไดแลว (ตองเพมไลบรารส าหรบเชอมตอผานบลทธดวย)

ภาพท 2.16 แสดงภาพ Bluetooth

(ทมา: http://www.akexorcist.com/2013/11/ioio-board-ioio.html)

3. AOA : เปนการเชอมตอผานโปรโตคอล Android Open Accessory ซงเปนโปรโตคอลทเพมเขามากบอปกรณแอนดรอยดเวอรชนหลงๆทสามารถใหท างานกบอปกรณทตอผานทาง USB ได เชน Mouse, Keyboard และอนๆ ซงรวมไปถงบอรด IOIO เชนกน เปนโปรโตคอลคนละชดกบ Android Debug Bridge (เฉพาะอปกรณทรองรบ USB Host และตองปด ADB รองรบกบอปกรณแอนดรอยด 4.2.2 ขนไปดวย และตองเพมไลบรารส าหรบเชอมตอผาน AOA ดวย)

ภาพท 2.17 แสดงภาพ AOA

(ทมา: http://www.akexorcist.com/2013/11/ioio-board-ioio.html)

33

2.6.3 IOIO-Robotic Activity Board

คณสมบตของ IOIO-RAB หรอ IOIO-Robotic Activity Board เปนแผงวงจรทไดรบการออกแบบใหใชงานรวมกบบอรด IOIO หรอ IOIO-Q เพอน าไปใชในงานควบคมหนยนตทสอสารกบอปกรณแอนดรอยด โดยมคณสมบตทนาสนใจดงน

2.6.3.1 มซอกเกตส าหรบรองรบ IOIO และ IOIO-Q (ในทนเนนไปท IOIO-Q ทผลตโดย inex)

2.6.3.2 มจดตออนพตอนาลอกส าหรบเชอมตอกบตวตรวจจบอนาลอก 8 ชอง โดย AN0 ถง AN5 รองรบยานแรงดน 0 ถง +3.3V สวน AN6 และ AN7 ใชกบตวตรวจจบอนาลอกทตองการไฟเลยง +5V เชน โมดลวดระยะทาง GP2D120 หรอ GP2Y0A21

2.6.3.3 มจดตอพอรตแบบ IDC ตวเมยและตวผ 18 ชอง (พอรต 31 ถง 48) เพอเชอมตออปกรณภายนอกและตอวงจรกบ เบรดบอรดหรอแผงตอวงจรโดยใชสาย AWG#22 หรอสาย IDC1MF ได

2.6.3.4 มจดตอพอรตบส I2C ส าหรบเชอมตออปกรณระบบบส I2C (จดตอมไฟเลยง +3.3V พรอมใชงาน)

2.6.3.5 มจดตอไฟเลยง +5V ส าหรบวงจรภายนอก สวนไฟเลยง +3.3V ใหใชจากจดตอบนบอรด IOIO-Q

2.6.3.6 มล าโพงเปยโซในตว (ตอกบพอรต 27) 2.6.3.7 มจดตอขบเซอรโวมอเตอร 4 ชอง (พอรต 45 ถง 48)

2.6.3.8 ขบมอเตอรไฟตรง 6 ชอง โดยใชมนบอรด mini-TB6612 จ านวน 3 บอรด พรอมไฟแสดงผล

2.6.3.9 มวงจรแจงเตอนแบตเตอรหรอไฟเลยงต าดวย LED

2.6.3.10 รบแรงดนไฟเลยงจากภายนอกไดตงแต +6.5 ถง +12V

2.6.3.11 มจดตอแบตเตอร 2 แบบคอ แบบเทอรมนอลบลอก 2 ขาส าหรบตอเขากบสายไฟเลยงจากกะบะถานมาตรฐาน และจดตอแบบ DIN ส าหรบตอกบแบตเตอรชนดลเธยมโพลเมอร (Li-PO) แนะน าใหใชขนาด 2 เซล (+7.4V) กระแสไฟฟา 1000mA ขนไป

2.6.3.12 มวงจรควบคมไฟเลยงคงท +6V จ านวน 2 ชดส าหรบเซอรโวมอเตอรและบอรด IOIO-Q

2.6.3.13 ขนาด 3 x 4 นวโดยประมาณ

34

วงจรและการท างาน

ภาพท 2.18 แสดงวงจรของ IOIO-Robotic Activity Board

(หนงสอ The Prototype Electronics Magazine)

35

ภาพท 2.18 แสดงวงจรสมบรณของแผงวงจร IOIO-Robotic Activity Board หรอ IOIO-RAB จะเหนวาไมซบซอน ม IC2 และ IC2 ท าหนาทควบคมแรงดนคงท +6V 2 ชดแยกกน ชดหนงส าหรบเลยงเซอรโวมอเตอรทจดตอเซอรโวเมอรเตอร K7 ถง K10 อกชดหนงส าหรบบอรด IOIO-Q โดยบนบอรด IOIO-Q กมวงจรควบคมไฟเลยงคงท +5V และ +3.3Vในตว ซงมการตออกมาใชงานดวย ส าหรบไฟเลยงเซอรโวมอเตอรจะมการตอตวเกบประจ C2 ถง C4 คา 470µF ครอมไฟเลยงเพอชวยเพมประสทธภาพในการขบเซอรโวมอเตอรของ IOIO-Q

การตรวจจบแรงดนไฟเลยงต าซงจะมประโยชนมากในกรณทใชแบบเตอรเปนแหลงจายไฟ เลอกใชIC1 เบอร KIA7035 หากแรงดนต ากวา +3.5V มนจะท างานท าให LED1 ตดสวางเปนการแจงเตอน ขาพอรต 31 ถง 38 หรอ AN5 ถง AN0 กบ AN6 และ AN7 ถกตอเขากบ K10 ถง K17(เรยงตามล าดบในวงจร) เพอเชอมตอกบโมดลตวตรวจจบอนาลอกภายนอกทใชจดตอแบบคอนเนกเตอร JST 3 ขา โดยจดตอ AN0 ถง AN5 จะพวงไฟเลยง +3.3V เพอเลยงตวตรวจจบ สวนจดตอ AN6 และ AN7 ตอพวงไฟเลยง+5V เพอใชงานกบตวตรวจจบอะนาลอกทตองการไฟเลยง +5V อาท โมดลวดระยะทางดวนอนฟราเรดเบอร GP2D120 หรอ GP2Y0A21 เปนตน

ขาพอรตทใชขบเซอรโวมอเตอรคอ 45 ถง 48 โดยก าหนดเปนจดตอ SERV01 ถง SERV04 ตามล าดบ สวนการขบมอเตอรไฟตรงนน ใชขาพอรต 1 ถง 6 ส าหรบวงจรขบมอเตอร 2 ชองแรก และ ขาพอรต 8 ถง 19 ส าหรบขบมอเตอรอก 4 ชอง โดยเชอมตอกบมนบอรด mini-TB6612 จ านวน 3 วงจร แตละวงจรขบมอเตอรไฟตรงได 2 ตว การจดสรรขาพอรตเพอขบมอเตอร 6 ชอง โดยม LED2 ถง LED7 แสดงสถานการณท างาน สวนไฟเลยงมอเตอร (+Vm) ไดมาจากไฟเลยงหลกของวงจรผานการตดตอดวยสวตซ SW1 ทขอพอรต 25 (SCL) และ 26 (SDA) ตอเขากบ I^2C เพอ เชอมตอกบอปกรณระบบบส I^2C เพอเพมขดความสามารถในการท างานของ IOIO-Q และบอรด IOIO-RAB สวนขาพอรต 27 ตอเขากบล าโพงเปยโซ SP1 โดยม C7 ท าหนาทถายทอดสญญาณเสยงออกไป SP1

การใชงานบอรด IOIO-RAB

ในการใชงานจรง ตองน าบอรด IOIO-Q มาตดตงลงบนบอรด IOIO-RAB เชอมตอมอเตอรไฟตรง แลวเชอมตอกบอปกรณแอนดรอยดผานบลทธ

(ทมา : the protptype electronics magazine ฉบบท 37)

36

2.7 งานวจยทเกยวของ

สชาดา พลาชยภรมยศล (บทคดยอ : 2554) ไดวจยเรองแนวโนมการใชโมบายแอพพลเคชนโดยแนวโนมการใชงาน Mobile Device อยางสมารทโฟนเพมขนอยางกาวกระโดดในชวงไมกปทผานมา ซงเปนผลมาจากการพฒนา Mobile Applications และเทคโนโลย ของตวเครองโทรศพทจากคายผผลตโทรศพท โดยเฉพาะการพฒนาตอยอดแอพพลเคชนบนอปกรณเคลอนทของบรษทตางๆ ทแขงขนกนเพอชงความเปนหนงในตลาดดาน Mobile Application ซงการพฒนาแอพพลเคชนแบงเปนการ พฒนาแอพพลเคชนระบบ (Operation System) และแอพพลเคชนซอฟตแวรทตอบสนองการใชงานบนอปกรณ และดวยแอพพลเคชนท เพมขนและมประสทธภาพมากขนท าใหผใชอปกรณเคลอนทมแนวโนมใชโปรแกรมตางๆ เพอตอบสนองกจกรรมในชวตประจ าวน ไดแก ท าธรกรรมทางการเงน เชอมตอและสบคนขอมลบนเครอขายอนเทอรเนต ชมภาพยนตร ฟงเพลง หรอแมแตการเลนเกมส ซงมทงออนไลน และออฟไลน ดวยอตราการขยายตวดานการใชงานอปกรณเคลอนท ท าใหบรษทชนน าดานโทรศพทมอถอหลายแหงหนมาใหความส าคญกบการพฒนาโปรแกรมบนโทรศพทมอถอ โดยเชอวาจะมอตราการดาวนโหลดเพอใชงานทเตบโตอยางเหนไดชด