car alarm system via mobile applicationne)ระบบ... · 2017-07-30 ·...
TRANSCRIPT
ระบบเตอนภยสญญาณกนขโมยรถยนตผานโมบายแอพพลเคชน
Car alarm system via mobile application
ณฐวฒ มากเลาะเลย
Nattawut Maaklohlay
สารนพนธนเปนสวนหนงของการศกษา
หลกสตรวทยาศาสตรมหาบณฑต สาขาวชาวศวกรรมเครอขาย
คณะวทยาการและเทคโนโลยสารสนเทศ
มหาวทยาลยเทคโนโลยมหานคร
ปการศกษา 2559
หวขอสารนพนธ ระบบเตอนภยสญญาณกนขโมยรถยนตผานโมบาย
แอพพลเคชน
นกศกษา นาย ณฐวฒ มากเลาะเลย
รหสนกศกษา 5617660030
ปรญญา วทยาศาสตรมหาบณฑต
สาขาวชา วศวกรรมเครอขาย
ปการศกษา 2559
อาจารยทปรกษา ผศ.ดร. วรพล ลลาเกยรตสกล
บทคดยอ
สารนพนธนนาเสนอเรอง ระบบแจงเตอนสญญาณกนขโมยรถยนตอตโนมตบน
เครอขายผานทางแอพพลเคชน โดยมวตถประสงคเพอชวยในการแจงเตอนภยหากเกด
เหตการณตางๆ ทเกยวของกบรถยนต โดยระบบจะแจงเตอนมายงมอถอทไดตดตง
แอพพลเคชนไว และหากรถยนตทตดตงอปกรณถกงดแงะ ขโมย หรอโดนชน กระแทกทาให
สญญาณกนขโมยดง และรถยนตนนจอดอยไกลมากจนทาใหไมสามารถทราบไดวาเกด
เหตการณใดๆกบตวรถยนต แอพพลเคชนนจะชวยแจงเตอนวามเหตการณอะไรบางทเกด
ขนกบรถยนต ไมวาจะอยทใหนกตาม
I
กตตกรรมประกาศ
สารนพนธฉบบนสาเรจลงไดดวยด ดวยการใหคาปรกษา และคาแนะนาทดจาก
ผศ.ดร. วรพล ลลาเกยรตสกล อาจารยทปรกษาทไดใหคาแนะนาและความรและเปนทปรกษา
ชวยวางแผนการทางาน และการออกแบบระบบทาใหขาพเจามความสามารถในการออกแบบ
ระบบไดและชวยแกปญหาในเรองทไมเขาใจจนสารนพนธฉบบนสาเรจไปไดดวยด
ขาพเจาขอขอบคณคณะกรรมการสอบโครงงาน ซงไดใหความเหนทชดเจน และให
คาแนะนาทมประโยชนเพอใชในการปรบปรงระบบทไดออกแบบไวใหดยงขน สงผลใหการทา
โครงงานสาเรจลลวงไปดวยด
สดทายนสารนพนธฉบบนลลวงไปดวยด คณคาและประโยชนอนพงมาจากสารนพนธ
ฉบบน ขาพเจาขอมอบแดผมพระคณทกทานและสาหรบผทจะนาไปพฒนาระบบตอไปในภาย
ภาคหนาแกผทสนใจศกษา
ณฐวฒ มากเลาะเลย
ธนวาคม 2559
II
สารบญ
หนา
บทคดยอ
ภาษาไทย………………………………………………………………………….
I
กตตกรรมประกาศ……………………………………………………………..…………… II
สารบญ………………………………………………………………………..…………….. III
สารบญรป…………………………………………………………………..………………. V
สารบญตาราง……………………………………………………………..………………... VIII
บทท 1 บทนา…………………………………………………………..………………….. 1
1.1 ปญหาและแรงจงใจ………..........................…………...…………………… 1
1.2 แนวทางการแกปญหา…………………………………..……………………. 1
1.3 วตถประสงคของโครงงาน……………………………..…………………….. 1
1.4 ขอบเขตของโครงงาน………………………………..………………………. 2
1.5 ประโยชนทคาดวาจะไดรบ…………………………..…....….……………… 2
1.6 โครงสรางของสารนพนธ…………………………......…....………………… 3
บทท 2 พนฐานและทฤษฎทเกยวของ………………………..……………...…………… 4
2.1 ระบบ SMS……………………………………...……………………………. 3
2.2 พนฐานแอนดรอยด.…………………………..……………………………… 4
2.3 พนฐานภาษาจาวา...………………………...……………………………….. 5
2.4 พนทบอรดอดยโน…………………………...……………………………….. 7
2.5 การทางานของรเลย………………………...….…………………………….. 11
บทท 3 การออกแบบโปรแกรม ………………………..…………………………..…..... 14
3.1 ภาพรวมและโครงสรางระบบ……………..………………………………….. 14
3.2 การออกแบบระบบ.....................................................…………………….. 15
3.3 รายละเอยดโครงสรางและการทางานของระบบ.…………………...……….. 30
3.4 การออกแบบโปรโตคอล……………………………………………...………. 31
III
สารบญ (ตอ)
หนา
บทท 4 การทดลองและผลการทดลอง 37
4.1 โครงสรางของระบบทใชในการทดลอง…………………………………….. 37
4.2 วธการทดลองโครงงาน……………….…………………………………….. 38
4.3 การทดลองในสวนของแอพพลเคชน...…………………………………….. 42
4.4 การทดลองในสวนของบอรดอาดยโน..…………………………………….. 46
4.5 การทดลองในสวนของการสงคาขอขอมล………………………………….. 52
4.6 การทดลองในสวนของการสมคร Account.....…………………………….. 51
บทท 5 สรปผลการดาเนนงาน 53
5.1 ประโยชนจากการทาสารนพนธ.…………………………………………… 53
5.2 สรปปญหา / แนวทางแกไข………………………………….…………….. 53
5.3 แนวทางการนาไปพฒนาตอ……………………………………………….. 53
เอกสารอางอง.......................................................................................................... 54
ภาคผนวก ก........................................................................................................... 55
1. วธการ Install Driver Arduino ลงบน Window ……………………………… 56
2. การตดตงโปรแกรม Android Studio…………………………………………. 62
IV
สารบญรป
หนา
รปท 2.1 แสดงการทางานของระบบ SMS .................................………………... 3
รปท 2.2 โลโกของภาษาจาวา..........................................………………………… 6
รปท 2.3 สญลกษณของ Arduino………………...............………………………… 8
รปท 2.4 บอรด Arduino รนตางๆ…………..…...............………………………… 10
รปท 2.5 แสดงวงจรรเลยเมอไมใสกระแสไฟจะเปนวงจรเปด……………………… 11
รปท 2.6 แสดงวงจรรเลยเมอไมใสกระแสไฟจะเปนวงจรปด……………………… 11
รปท 3.1 แสดงภาพโดยรวมของระบบทงหมด.....…………………………………. 14
รปท 3.2 แสดงรปแบบการรบ-สงขอมลของ Arduino ……………………………... 15
รปท 3.3 แสดงผงวงจรการเชอมตอของตวอปกรณ……….....………………......... 16
รปท 3.4 Flowchart สวนการเรมทางานของบอรด Arduino...………………......... 18
รปท 3.5 Flowchart สวนการรบคาสงจากแอพพลเคชน…………...……………… 19
รปท 3.6 Flowchart สวนการแจงเตอนของบอรด Arduino .......................…....... 20
รปท 3.7 แสดงหนาจอตางของแอพพลเคชน..............…………………………….. 21
รปท 3.8 แสดงหนาจอ Register……………………………………………………. 22
รปท 3.9 แสดงหนาจอ Login…………………………………………….…………. 23
รปท 3.10 แสดงหนาจอ Dashboard…..………………………………….…………. 24
รปท 3.11 แสดงหนาจอ Command……………….….......................................... 25
รปท 3.12 แสดงหนาจอ Setting ..........................................................………….. 26
รปท 3.13 แสดงหนาจอ Edit Account ..............……………………………………. 27
รปท 3.14 Flowchart แสดงการรบขอมลของแอพพลเคชน…………………………. 28
รปท 3.15 Flowchart แสดงการสงขอมลของแอพพลเคชน…………………………. 29
รปท 3.16 แสดงการสงคาสงไปยงบอรด Arduino ………………………………….. 30
รปท 3.17 แสดงการสงการแจงเตอนจากบอรดไปยงแอพพลเคชน......................... 30
รปท 3.18 แสดงการสงขอมลการรองขอขอมลจากบอรด Arduino.......................... 31
รปท 3.19 แสดงการรองขอการเชอมตอจากแอพพลเคชน…………………………. 32
V
สารบญรป (ตอ)
หนา
รปท 4.1
รปท 4.2
รปท 4.3
รปท 4.4
รปท 4.5
รปท 4.6
รปท 4.7
รปท 4.8
รปท 4.9
รปท 4.10
รปท 4.11
รปท 4.12
รปท 4.13
รปท 4.14
รปท 4.15
รปท 4.16
รปท 4.17
รปท 4.18
รปท 4.19
รปท ก.1
รปท ก.2
รปท ก.3
รปท ก.4
รปท ก.5
รปท ก.6
รปท ก.7
รปท ก.8
รปท ก.9
รปท ก.10
รปท ก.11
แสดงโครงสรางโดยรวมของระบบ……….....…………………………….
อปกรณตางๆ ทใชในการทดลอง..........................................................
แสดงการเชอมตออปกรณทใชในการทดลองเขาดวยกน.……………….
ตดตง Casma Application สาหรบใชงาน............................................
หนาตางสาหรบ Login........................................................................
แสดงการสงคาสงจาก App ไปยง Arduino .........................................
แสดง Icon ตางๆ ทใชสาหรบการสงงาน.............................................
แสดงกลไกมอเตอรเปดและปด............................................................
แสดงสถานะลอคประต หรอ Casma Active …………....……………..
แสดงสถานะ Pump On………………………………………………….
แสดงการสงการแจงเตอนจากตว Arduino ไปยง App …..……………
แสดงสถานะเมอสญญาณกนขโมยทางาน...........................................
แสดงการแจงเตอนบน Application .............……………………………
แสดงการสงคาขอดขอมลโดย App ....................................................
แสดงสถานะรอในขณะรองขอขอมลสถานะเครองยนต………...………
แสดงสถานะประตวาเปดอยและเครองยนตดบอย................................
แสดงสถานะในสวนของกลองอปกรณ.................................................
แสดงหนาจอการสมคร User/Pass ……………………………………..
แสดงหนาจอการแกไขขอมล User......................................................
Click ท download เพอเขาส the download page…………………….
เลอกไฟลทจาทการ extract.................................................................
เปด และแสดง Arduino Device ทเราทาการ Connect……………….
Update Driver Software………………………………………………...
Click the Browse... button……………………………………………...
เลอกไปท drivers folder ทได download มา…………………………..
หลงจากเลอกเรยบรอยแลว ให Click Next…………………………..
Click Install this driver software anyway…………………………….
Install Driver เปนทเรยบรอย…………………………………………..
Double Click ท "Arduino.exe" เพอ Start Arduino IDE…………….
Check วา serial port ทตออยไดถกเลอกอยางถกตอง........................
37
39
39
40
41
42
43
44
44
45
46
46
47
48
49
50
50
51
52
56
57
57
58
58
59
59
59
60
61
61
VI
สารบญรป (ตอ)
รปท ก.12 Download Android Studio……………………………………………… 63
รปท ก.13 กดปม Next เพอไปขนตอนตอไป………………………………………. 64
รปท ก.14 เลอกวาตองการตดตงอะไรบาง………………………………………… 64
รปท ก.15 กาหนด Path ทตองการตดตง………………………………………….. 65
รปท ก.16 กด install รอโปรแกรมทาการตดตงจนเสรจ ซงใชเวลาพกใหญ…….. 66
รปท ก.17 ตดตงเสรจแลวใหกดปม Next………………………………………….. 66
รปท ก.18 ตดตงเสรจแลวใหกดปม Finish ไดเลย………………………………… 67
VII
สารบญตาราง
หนา
ตารางท 2.1 Keywords list in Java.......................…………….…..…................ 7
ตารางท 3.1 แสดง Android Application SMS APIs ……………..….…….......... 33
ตารางท 3.2 แสดงตาราง Arduino Function APIs ……………..….……............. 34
ตารางท 3.3 แสดงตาราง Variable List ....................……….………………….... 34
VIII
บทท 1
บทนา
1.1 ปญหาและแรงจงใจ
ทกวนน มผใชรถใชถนนเปนจานวนมาก เรยกไดวาแทบจะทกครวเรอนมรถยนต
สวนตวใชกน แตสงทมาพรอมกบการมรถยนตนนกคอ เหตอาชญากรรมเกยวกบรถยนตทเกด
ขนอยตลอดเวลา ถงแมวาจะมการใชอปกรณทชวยปองกนในระดบหนง ทเรยกวาสญญาณกน
ขโมย แตกยงไมตอบโจทยไดครอบคลม เนองจากสญญาณกนขโมยจะมเสยงดงแคในรศมไม
ไกลนก ทาใหเจาของรถไมอาจทราบไดหากเกดเหตรายกบรถยนตของตนเอง ในขณะทกาลง
เดนอยในหาง หรออยภายในอาคารตางๆ และสงทพบไดบอยๆรอบตวเรานนกคงไมพนเรอง
การโจรกรรมเชน การทบกระจกเพอเอาทรพยสนภายในรถยนต หรอเหตการณทรถยนตของ
เราเกดอบตเหตในขณะทจอดอย
เนองในปจจบนเทคโนโลยสมารทโฟนเขามามบทบาทในชวตประจาวนของมนษยเรา
มากกวา 80 เปอรเซนตทใชสมารทโฟนในชวตประจาวน ดงนนจะดไหมหากเรานาเทคโนโลย
เหลานมาชวยเราในการเตอนภยใหทราบหากเกดเหตการณตางๆ เกยวกบรถยนตของเรา
1.2 แนวทางการแกปญหา
จากปญหาทกลาวมานนเกดในยคของเทคโนโลยการสอสาร จงทาใหเกดการคดคน
แอพพลเคชนสาหรบเตอนภย จะดไหมหากมแอพพลเคชนบนมอถอททกคนใชกนอยนน
สามารถทจะชวยเตอนคณทกครงทสญญาณกนขโมยดงขนมาไมวารถยนตของคณจะอยไกล
ขนาดใหนกตาม โดยผานระบบแอพพลเคชนบนมอถอซงอาจจะทาใหคณมาทนชวงเวลาสาคญ
1.3 วตถประสงค
1) เพอชวยพฒนาระบบสญญาณกนขโมยในปจจบนใหมประสทธภาพมากขน 2) ใชในการสงสญญาณเตอนภยรถยนตผานทางแอพพลเคชน
3) เพอศกษาหลกการเขยนแอพพลเคชนบนแอนดรอยด
4) เพอศกษาหลกการเขยนโปรแกรมบน Arduino
1
1.4 ขอบเขตของการทางานระบบ
1) ออกแบบและสรางอปกรณเพอใชในการรบ-สงขอมลจากรถยนตไปยงแอพพลเคชน
ทออกแบบไว
2) ออกแบบแอพพลเคชนบนแอนดรอยดเพอรบ-สงขอมลไปยงอปกรณสงสญญาณ
ภายในรถยนต
3) มหนาจอแสดงผลและเสยงเตอนบนแอพพลเคชนหากระบบกนขโมยทางาน
4) สามารถสง ลอค-ปลดลอค กลอนประตรถยนตได
5) สามารถมอนเตอร ประต และ เครองยนต ได วาปดหรอเปดอย
1.5 ประโยชนทคาดวาจะไดรบ
1) ทราบถงขนตอนและวธการเขยนแอพพลเคชนบนแอนดรอยดได
2) เขาใจหลกการทางานของบอรด Arduino
3) ระบบทพฒนาสามารถชวยเพมประสทธภาพของสญญาณกนขโมยรถยนตได
4) ระบบสามารถพฒนาตอยอดใหสามารถนาไปใชงานในสายงานอนๆได เชน ระบบ
สงงานเครองใชไฟฟาภายในบาน หรอ ระบบมอนเตอรเครองใชไฟฟาตางๆภายใน
องคกร
1.6 โครงสรางของสารนพนธ
สาหรบเนอหาของสารนพนธฉบบนจะถกแบงออกไดดงน
บทท 1 บทนา กลาวถงปญหาทเกดขนในสภาพจรงของการใชงานอปกรณ
สญญาณกนขโมยรถยนต
บทท 2 ทฤษฎและหลกการทางาน เปนการศกษาการทางานของโปรแกรมและ
อปกรณตางๆ ทจะนามาใชเปนขอมลเพอใชในการออกแบบระบบ
บทท 3 การออกแบบระบบและแสดงขนตอนการทางานของระบบ ในการ
ออกแบบระบบจะมข นตอนการทางานแตละขนตอนตางๆ เพอใหการทางานเปนไปอยางมระบบ
และงายตอการแกไขเวลาเกดขอผดพลาดตางๆ
บทท 4 การทดลองและผลการทดลองจะนาเอาระบบทออกแบบไวมาทดลองใช
กบงานเพอนาผลททดลองไดมาประเมนประสทธภาพของการทางาน
บทท 5 สรปผลและขอเสนอแนะ เปนการนาเอาผลทไดจากการทดลองใชงาน
มาสรปและหาขอผดพลาดเพอเปนแนวทางในการปรบปรงแกไขใหดขนตอไปในการใชงาน
2
บทท 2
พนฐานและทฤษฎทเกยวของ
2.1 SMS
SMS (Short Message Service) เปนบรการสงขอความสนๆ ซงทางานบนระบบ
เซลลลารเกดขนมาในยคของ 2G ลกษณะการใชงาน จะคลายกบการสงอเมล แตจะสามารถสง
ขอความไดไมเกน 160 ตวอกษรผานทางโทรศพทมอถอ ซงจดเดนของ SMS คอ สามารถสงไป
ยงผรบโดยไมตองกงวลวาพนทของผรบจะมสญญาณหรอไมในขณะนน หากทางปลายทางไมม
สญญาณระบบ SMS นจะเกบขอมลไวทตว SMS Clearinghouse จนกวาปลายทางจะม
สญญาณ ทางระบบจงจะทาการสงขอมลไปในทนท นอกจากนแลว SMS ยงสามารถสงขอความ
ทไดรบมา และสงตอไปยงหมายเลขอนๆไดอยางไมจากดอกดวย ซงระบบ SMS จะมรปแบบ
การรบ-สงขอมลจากผสงไปยงผรบผานเสาสญญาณโทรศพทโดยผาน SMSC (ดงรปท 2.1)
รปท 2.1 การทางานของระบบ SMS
จากรปท 2.2 แสดงการสง SMS จากจดหนงไปยงอกจดหนง โดยผานเสาสญญาณและ
วงไปยง SMSC จากนนจงสงไปยงฐาน SMS Clearinghouse เพอทาการสงไปยงผรบตอๆไป
(อางองจาก http://www.trio4u.com/)
3
2.2 ระบบแอนดรอยด (Android)
ระบบปฏบตการแอนดรอยด (Android Operating System) คอชดซอฟทแวร Open
Source ทใชในอปกรณอเลกทรอนกสตางๆทมหนวยประมวลผลเปนสวนประกอบ เชน
คอมพวเตอรโทรศพทเคลอนท ,อปกรณเลนอนเตอรเนตขนาดพกพาตางๆ มบรษทกเกลเปนผ
รเรมสรางขนมา โดยระบบแอนดรอยดมจดเรมตนมาจากระบบปฏบตการลนกซ ซงนยม
นาไปใชงานกบเครองแมขายเปนหลกแลวนามาลดทอนขนาดตว เพอใหเหมาะสมแกการ
นาไปใชงานตดตงบนอปกรณพกพาทมขนาดพนทจดเกบขอมลทจากด
2.2.1 ประเภทของแอนดรอยดนนมอยหลายประเภท ซงตวแอนดรอยดนนเปนระบบ
Open Source ซงเปดใหนกพฒนาเขาไปดระบบตนแบบได จงมผพฒนาบางทานไดเอาตว
ตนแบบมาปรบแตงและสรางแอนดรอยดในแบบฉบบของตนเองขน โดยแอนดรอยดจะแบงเปน
ประเภทหลกๆไดเปน 3 ประเภท ดงตอไปน
1) Android Open Source Project (AOSP) เปนแอนดรอยดทกเกลเปดใหใชงาน
ไดฟร ไมตองเสยคาใชจายใดๆ โดยตวแอนดรอยดนเปนตวตนทฉบบทสามารถ
ใชงานไดเลยโดยไมตองปรบแตงอะไรเพมเตม
2) Open Handset Mobile (OHM) เปนแอนดรอยดทกเกลรวมมอกบบรษทท
ตองการพฒนาผลตภณฑของตนเอง โดยจะมฟงชนและขอมลตางๆแตกตาง
จากตวตนฉบบ มเอกลกษณเฉพาะตวทบรษทนนๆ พฒนาขนมา โดยบรษทท
จดทานนจะไดรบสทบตรเปนของตนเอง
3) Cooking หรอ Customize เปนแอนดรอยดทนกพฒนานาเอาตวตนแบบมา
ปรบแตงเองโดยไมไดรวมมอกบทางกเกล โดยทาการเขาถงสทธการใชงาน
ระดบราก (root)
2.2.2 สทธในการใชงานระบบ ในระบบปฏบตการทวไปของแอนดรอยด จะมการแบง
สทธในการใชงานระบบ เชนเดยวกบระบบปฏบตการทวไปทมการจากดการใชงานและการ
จากดการเขาถงสวนตางๆภายในระบบไว โดยการเขาถงระบบนนจะเขาถงไดตามสทธไดรบ
เทานน เพอความปลอดภยของระบบและผใชงาน โดยสามารถแบงสทธของผใชในการเขาถง
ระบบแบบคราว ๆ ไดดงตอไปน
4
1) สทธ root สทธในการใชงานระดบราก ซงถอวาสทธทเขาถงระบบไดมากทสด
ถอเปนรากฐานของระบบเลยกวาได จงมความสามารถในการเขาถงทก ๆ สวน
ของระบบ
2) สทธ ADB (Android Develop Bridge) นกพฒนาจะสามารถเขาถงสวนตาง ๆ
ของระบบไดผานสทธน โดยจะมบางสวนทนกพฒนาไมสามารถเขาไปปรบแตง
ได โดยในสวนนนกพฒนาจะทาการเตมแตงในแบบทผพฒนาตองการ
3) Application & System สทธของโปรแกรมในการเขาถงระบบ และสทธของ
ระบบในการเขาถงอปกรณ โดยสทธเหลานตวโปรแกรมจะเปนผรองขอในการ
เขาใชงานบนระบบในสวนตางๆ เชน เสยง ระบบอนเตอร กลองหรอไมโครโฟน
เพอใหตวแอพพลเคชนสามารถเรยกใชฟงชนได โดยตวระบบจะเปนตวจดการ
มอบและถอนสทธ
4) End-user สทธของผใชงานทวไป ซงจะใชการเขาถงสวนตาง ๆ ของระบบผาน
ชองทางทโปรแกรมไดรบสทธจากระบบมาอกท โดยจะถกจากดไมใหเขาถงใน
สวนตางๆทเปนอนตรายตอแกนระบบและอปกรณ
(อางองจาก http://th.wikipedia.org/wiki/แอนดรอยด_(ระบบปฏบตการ))
2.3 ภาษา Java
Java เปนภาษาเขยนโปรแกรมเพอวตถประสงคทวไป โดยสามารถทางานไดพรอมกน
โดยตวระบบแอนดรอยดทไดกลาวในหวขอกอนนกสามารถใชภาษาจาวาได จงกลาวไดวา
ภาษาจาวามความยดหยนและถกออกแบบมาใหพรอมสาหรบการใชงานมากทสด ซงมเมธอด
และคลาสตางๆ อานวยความสะดวกใหใชมากมาย โดยภาษา Java นนมความตงใจวาจะทาให
นกพฒนาออกแบบและพฒนาโปรแกรมนอยลง คอการเขยนเพยงครงเดยวแตนาไปใชงานได
ทกทหรอทกแพลตฟอรม สามารถรนไดใน Java virtual machine (JVM)
2.3.1 ประวตความเปนมาของภาษา Java
James Gosling Mike Sheridan และ Patrick Naughton ไดเรมกอตงโปรเจคภาษา
Java ของพวกเขาเมอป 1991 โดยในตอนแรกมนถกพฒนาสาหรบทวทสามารถมปฏสมพนธได
เชน เลนเกมในทวได แตมนยากเกนไปในการทจะใชงานกบสายเคเบลของทวดจตอลในเวลานน
ในตอนแรกภาษา Java ใชชอวา Oak เพราะวามตนโอคยนออกไปยงออฟฟศของ Gosling
5
ตอมาใชชอวา Green และในตอนทายใชชอวา Java มทมาจากกาแฟ Java นนเปนเหตผลวา
ทาไมโลโกของภาษา Java มรปถวยกาแฟอย (ดงรปท 2.3)
รปท 2.2 โลโกของภาษา Java
2.3.2 Java Compiler
ในการเขยนโปรแกรมในภาษา Java เราตองการ Java Compiler เพอทาการแปลงโคด
ของโปรแกรมทเขยนเปน bytecode เพอนาไปรนในแตละแพลตฟอรมตอไป โดยเรยกวา Java
Platform (JDK) ซงประกอบไปดวยคอมไพลเลอร ในการแปลงโคดภาษา Java ใหเปน
Bytecode และ Java virtual machine (JVM) สาหรบรนโปรแกรมของภาษา Java ในแตละ
แพลตฟอรมและเครองมอในการพฒนาโปรแกรมภาษา Java นนกคอ Integrated
Development Environment (IDE) เครองมอในการพฒนาโปรแกรม ทประกอบไปดวย
เครองมอตางๆ ทชวยอานวยความสะดวกใหโปรแกรมเมอรพฒนาโปรแกรมไดงายขน ซง
โดยทวไปมนมกจะประกอบไปดวย Text Editor คอมไพลเลอรและการ Build อตโนมต และ
Debugger
2.3.3 Keywords in Java
คอคาทสงวนไวในภาษา Java นนหมายความวาไมสามารถนาคาเหลานไปประกาศเปน
ชอตวแปร เมธอด หรอวาคลาสได เพราะวา Keyword ถกใชโดยคอมไพเลอรเพอใหมนทางาน
ไดสมบรณ ตามตารางขางลางนซงเปนลสตของ Keyword ในภาษา Java (ตารางท 2.1)
6
ตางรางท 2.1 Keywords list in Java
2.3.4 ประเภทขอมลพนฐานในภาษา Java
ในภาษา Java มขอมลพนฐาน 8 ชนดใหสามารถใชเรามกจะเรยกขอมลเหลานวา
Primitive types ในการเขยนโปรแกรมจาเปนตองเลอกใชประเภทขอมลใหตรงกบขอมลทจะเกบ
มากทสด เพราะมนจะชวยลดการใชหนวยความจาและความรวดเรวในการทางานดวย
ยกตวอยางเชน ตองการเกบตวเลขระหวาง 1 - 100 ควรจะใชขอมลชนด byte เพราะมน
เพยงพอตอการเกบแลว (อางองจาก http://marcuscode.com/)
2.4 Arduino
Arduino อานวา (อา-ด-อ-โน หรอ อาดยโน) เปนบอรดไมโครคอนโทรเลอรตระกล AVR
ทมการพฒนาแบบ Open Source คอมการเปดเผยขอมลทงดาน Hardware และ Software ตว
บอรด Arduino ถกออกแบบมาใหใชงานไดงาย ดงนนจงเหมาะสาหรบผเรมตนศกษา มโลโก
เปนรปสญลกษณลบและบวกคกน (ดงรปท 2.4) ทงนผใชงานยงสามารถดดแปลง เพมเตม
พฒนาตอยอดทงตวบอรด หรอโปรแกรมตอไดอกดวย ความงายของบอรด Arduino ในการตอ
อปกรณเสรมตางๆ คอผใชงานสามารถตอวงจรอเลกทรอนคสจากภายนอกแลวเชอมตอเขามาท
ขา I/O ของบอรด หรอเพอความสะดวกสามารถเลอกตอกบบอรดเสรม (Arduino Shield)
ประเภทตางๆ เชน Arduino XBee Shield, Arduino Music Shield, Arduino Relay Shield,
Arduino Wireless Shield, Arduino GPRS Shield เปนตน มาเสยบกบบอรดบนบอรด Arduino
แลวเขยนโปรแกรมพฒนาตอไดเลย
7
รปท 2.3 สญลกษณของ Arduino
2.4.1 Arduino คออะไร
Arduino คอ แพลตฟอรม open-source ซงมสวนทเปนทง Software (Arduino IDE)
และ Hardware (Arduino Board) สาหรบการสราง Prototype หรออปกรณตนแบบของโปรเจค
ทเกยวของกบอเลกทรอนคสและEmbedded System โดย Arduino นนถกออกแบบมาเพอให
งายตอการใชงาน เหมาะกบผเรมตน และสามารถนาไปประยกตใช พฒนาตอยอดได
หลากหลาย
1) Arduino Board คอ บอรด PCB (Printed Circuit Board) ทถกออกแบบมาเปน
พเศษ โดยมชป Microcontroller ทสามารถโปรแกรมไดสาหรบใชในการ
ควบคมหรอรบคาจากอปกรณตางๆผานพอรต Input และ Output ตวอยางการ
รบคา Input เชน การอานคาจากเซนเซอร การตรวจจบการกดปม หรอ การรบ
สญญาณ Analog ตางๆ เปนตน สวนการสงงาน Output น น Arduino ก
สามารถทาได เชน การสง Pulse ไปควบคมมอเตอร หรอ การเปด-ปด
หลอดไฟLED เปนตน นอกจากนบอรด Arduino ยงสามารถเชอมตอวงจร
อเลกทรอนกสตางๆจากภายนอกได หรอเพอใหงายขนไปอกกมนกพฒนา
หลายคนไดทาบอรดเสรมหรอ Arduino Shield ออกมา ซงเปนบอรดวงจร
อเลกทรอนคสสาหรบทางานเฉพาะอยางทสามารถตอขนไปเปนชนๆบนบอรด
Arduino ไดเลย เชน Ethernet Shield เปน Shield ทมพอรต Ethernet ไว
สาหรบตอLAN เปนตน
2) Arduino IDE (Arduino Integrated Development Environment) คอ Software
ทใชสาหรบเขยนโคด คอมไพลและอพโหลดโปรแกรมลงบอรด Arduino ซงเปน
การบอกกบ Microcontroller วาเราตองการจะใหมนทางานอะไร โดยในการ
เขยนโปรแกรมเพอควบคม Arduino นนเราจะใชภาษา Arduino Programming
Language ซง ArduinoIDE นนกมตนแบบมากจากโปรแกรม Processing
8
Development Environment (PDE) ซงเปนทมาของการเขยนโคดในรปแบบ
Sketch นนเอง
2.4.2 ไมโครคอนโทรลเลอรคออะไร
ไมโครคอนโทรลเลอรจะวาไปแลวกเปรยบเหมอนกบสมองของมนษย คอมหนาทคด
คานวณทางคณตศาสตรคานวณทางลอจกสงการ มสวนความจา เพอใชเปนขอมลการคานวณ
หรอ ประมวลผลตางๆ แตจะไมสามารถทางานไดเอง โดยเปรยบเทยบกบสมองทไมมมอ เทา
แขน ขา ซงเปรยบไดกบ อปกรณสวนควบคมอนๆ เชน เซนเซอร มอเตอร ระบบแสดงผลผาน
จอภาพ เปนตน ดงนนโดยสรปคอ ไมโครคอนโทรลเลอรจะทาหนาทในการคดคานวณ รบคา
จากระบบวดผลภายนอก เขามาประมวลผล เพอสงการตอบสนองออกไปทอปกรณตอเชอม
อนๆ ไมโครคอนโทรเลอรในปจจบนกมอยหลายยหอ เชนPIC ของบรษทไมโครชพ Z80 MCS-
51 ARM-Cortex AVR และ อนๆอกมาก Arduino กเปนไมโครคอนโทรเลอรชนดหนงทม
เอกลกษณเฉพาะตวทตางจากยหออนๆ คอ การเปน Open Source ซงทาใหไดเปรยบเรอง
ราคา และจานวนผใชงานทวโลก
2.4.3 การเขยนโปรแกรมเบองตนกบ Arduino C++
โปรแกรมของ Arduino แบงได เปนสองสวนคอ void setup() และ void loop() โดย
ฟงกชน setup() เมอโปรแกรมทางานจะทาคาสงของฟงกชนนเพยงครงเดยวใชในการ
กาหนดคาเรมตนของการทางาน สวนฟงกชน loop() เปนสวนทางาน โปรแกรมจะทาคาสงใน
ฟงกชนนตอเนองตลอดเวลา โดยปกตใช กาหนดโหมดการทางานของขาตางๆ กาหนดการ
สอสารแบบอนกรมฯลฯ สวนของ loop() เปนโคดโปรแกรมททางาน เชน อานคาอนพต
ประมวลผลสงงานเอาตพต ฯลฯ โดยสวนกาหนดคาเรมตน เชน ตวแปรจะตองเขยนทสวนหว
ของโปรแกรม กอนถงตวฟงกชนนอกจากนนยงตอง คานงถงตวพมพ เลก-ใหญ ของตวแปร
และชอฟงกชนใหถกตอง
2.4.4 บอรด Arduino ตางๆ
- Arduino Uno R3 เปนบอรด Arduino ทไดรบความนยมมากทสด
เนองจากราคาไมแพง สวนใหญโปรเจคและ Library ตางๆ ทพฒนาขนมา
Support จะอางองกบบอรดนเปนหลก และขอดอกอยางคอ กรณท MCU
เสย ผใชงานสามารถซอมาเปลยนเองไดงาย
- Arduino Uno SMD เปนบอรดทมคณสมบตและการทางานเหมอนกบ
บอรด Arduino UNO R3 ทกประการ แตจะแตกตางกบท Package ของ
9
MCU ซงบอรดนจะม MCU ทเปน Package SMD (Arduino UNO R3 ม
MCU ทเปน Package DIP)
- Arduino Mega ADK เปนบอรดทออกแบบมาใหบอรด Mega 2560 R3
สามารถตดตอกบอปกรณ Android Deviceผานพอรต USB Host ของ
บอรดได
- Arduino Leonardo การทางานจะคลายกบบอรด Arduino Uno R3 แตม
การเปลยน MCU ตวใหมเปน ATmega32U4 ซงมโมดลพอรต USB มา
ดวยบนชป (แตกตางจากบอรด Arduino UNO R3 หรอ Arduino Mega
2560 ทตองใชชป ATmega16U2 รวมกบ Atmega328 ในการเชอมตอกบ
พอรต USB)
- Arduino Mini 05 เปนบอรด Arduino ขนาดเลกทใช MCU เบอร
ATmega328 เบอรเดยวกบบอรด Arduino UNO R3
- Arduino Ethernet with PoE module เปนบอรด Arduino ทใช MCU เบอร
เดยวกบ Arduino Uno SMD ในบอรดมชพ Ethernet และชองสาหรบเสยบ
SD Card รวมทงโมดล POE ทาใหบอรดนสามารถใชแหลงจายไฟจากสาย
LAN ไดโดยตรง โดยไมตองตอ Adapter เพม แตบอรด Arduino Ethernet
with PoE module นจะไมมพอรต USB ทาใหเวลาโปรแกรมตองตอบอรด
USB toSerial Converter เพมเตม
- Arduino Ethernet without PoE module บอรดนจะตดโมดล POE ออกไป
ตองใชไฟจากพอรต Power Jack เทานน คณสมบตอนๆ จะเหมอนกบ
บอรด Arduino Ethernet with PoE module
รปท 2.4 บอรด Arduino รนตางๆ
10
2.4.5 Arduino Mega 2560
เปนบอรด Arduino ทออกแบบมาสาหรบงานทตองใช I/O จานวนมาก เชน งานท
ตองการรบสญญาณจาก Sensor หรอควบคมมอเตอร Servo หลายๆ ตว ทาให Pin I/O ของตว
บอรดมจานวนมาก อกทงมหนอยประมวลทรวดเรวไมแพตวอนๆทาใหรบคาสงแลวสามารถ
ประมวลผลทางานไดเลย อกทงบอรด Mega 2560 R3 ยงมความหนวยความจาแบบ Flash
มากกวา Arduino Uno R3 ทาใหสามารถเขยนโคดโปรแกรมเขาไปไดมากกวา ในความเรวของ
MCU ทเทากน (อางองจาก http://www.myarduino.net/article)
2.5 Relay
รเลย คอ อปกรณอเลกทรอนกสททาหนาท ตด-ตอวงจร คลายกบสวตซ โดยใช
หลกการของหนาสมผส และการทจะใหรเลยทางานกตองจายไฟใหมนตามทกาหนด เพราะ
เมอจายไฟใหกบรเลย จะทาใหหนาสมผสตดกน กลายเปนวงจรปด กระแสไฟสามารถไหล
ผานได และกรณตรงขามถาไมไดจายไฟใหกบรเลย กจะกลายเปนวงจรเปด
รปท 2.5 เมอไมใสกระแสไฟจะเปนวงจรเปด
รปท 2.6 เมอใสกระแสไฟจะเปนวงจรปด
11
จากรปท 2.6 และ รปท 2.7 แสดงการทางานของ Relay เมอ ขา Common แตะอยท
ขา NC กระแสไฟจะเปนวงจรเปด และหากขา Common แตะอยท NO อปกรณกจะอยใน
สถานะทางาน ขนอยทเราจะตงคาใหเปนแบบใด
สญลกษณของรเลยทใชในแผนผงวงจร ซงจะเหนวาสวนของการเชอมตอกบอปกรณ
ไฟฟาภายนอกนนจะมจดเชอมตอทเกยวของอย 3 จด คอ Normally Closed (NC), Normally
Open (NO) และ Common (C) ในการใชงานจะตองตอขาดานหนงของอปกรณไฟฟาเขากบขา
C เสมอ สวนอกขาหนงจะตอเขากบ NO หรอ NC นนขนอยกบวา ตองการใหอปกรณอยใน
สถานะททางานหรอไมในเวลาทรเลยไมทางาน RELAY รเลยเปนอปกรณททาหนาทเปนสวตช
มสวนประกอบทสาคญดงน คอ
1) คอยลแมเหลก (Magnetic coil) ประกอบดวยขดลวดจานวนหลายรอบพนอยรอบ
ๆ แกนเหลก ทาหนาทในการสรางสนามแมเหลก มทงชนดททางานดวยไฟฟา
กระแสตรง และไฟฟากระแสสลบ
2) หนาสมผส (Contact) หนาสมผสของคอนแทคเตอรแบงออกเปน 2 สวน คอ
หนาสมผสสวนทอยกบท (Stationary contacts) และหนาสมผสสวนทเคลอนท
(Movable contacts) ทาหนาทในการผานกระแสไฟฟาเขาไปยงโหลด
นอกจากนนยงมหนาสมผสชวย (Auxiliary Contact) เปนหนาสมผสขนาดเลก ทา
หนาทชวยการทางานของวงจรควบคม
3) แกนเหลก (Armature) ผลตจากแผนเหลกบางซอนอด (laminated sheet steel)
เพอปองกนกระแสไหลวนในแกนเหลกซงเปน สาเหตใหเกดความรอนขนในแกน
เหลก และเกดการสญเสยพลงงานขน แกนเหลกนเปนทางเดนของเสนแรง
แมเหลก แกนเหลกประกอบดวย 2 สวนคอ สวนทอยกบทและสวนทเคลอนท
แกนเหลกสวนทอยกบทเปนแกนเหลกรปตว E มขดลวด (coil) พนอยรอบ ๆ
เนองจากเสนแรงแมเหลก (flux) อนเนองมาจากขดลวดหลกทสรางสนามแม
เหลกซงเปนผลมาจากกระแสสลบซงทาใหเสนแรงแมเหลกจากสงสดลงไปตาสด
และขนไปสจดสงสดอกครงหนง ซงเปนผลใหอารเมเจอรเกดการสน ไปมาตาม
จงหวะการขนลงของเสนแรงแมเหลก ดงนนเพอเปนการลดปญหานจงไดนา
ขดลวดเงาจานวน 1 รอบตดเขากบผวหนาของขวแมเหลกอารเมเจอร ขดลวดเงา
นทาใหเกดเสนแรงแมเหลกทตางเฟสกบเสนแรงแมเหลกของขวแมเหลกหลก จง
ชวยลดการสนได
12
4) สปรงดนอารเมเจอร และสปรงดนหนาสมผส (Spring) สปรงม 2 ชดคอ สปรง
ดนอารเมเจอร และสปรงดนหนาสมผส สปรงดนอารเมเจอร ทาหนาทดนอาร
เมเจอรหรอชดแกนเหลกใหแยกออกจากกน และเปนผลทาใหหนาสมผสแยก
ออกจากกน สปรงดนหนาสมผส เปนสวนททาหนาทดนหนาสมผสสวนเคลอนท
และหนาสมผสสวนทอยกบท ใหสมผสกนอยางตดแนนสนท และยงเปนตวซมซบ
แรงกระแทก ระหวางหนาสมผสเพอมใหเกดความเสยหายตอหนาสมผสอกดวย
5) โครงยดอปกรณ (Mounting) โครงยดอปกรณทาหนาทในการยดอปกรณทกสวน
ของคอนแทกเตอรหรอรเลยใหประกอบเขาดวยกน โครงยดอปกรณจะตองเปน
ฉนวนทนแรงดนไดสง
13
บทท 3
การออกแบบระบบ
ในบทนเราจะนาเอาแนวทางและความคดเหนตางๆ ปญหาทเกดขนมามาออกแบบ
ระบบและวเคราะหเพอใชในการแกปญหาจากบทท 1 และ 2 โดยสารนพนธฉบบนจะเปนแนว
ทางการพฒนาซอฟตแวรโปรแกรมและฮารดแวรขนมาเพอจะนาไปแกไขปญหาและความ
ตองการตามบทท 1 และ 2 นนเอง
3.1 ภาพรวมและโครงสรางระบบ
รปท 3.1 แสดงภาพโดยรวมของระบบทงหมด
จากรป 3.1 แสดงโครงสรางโดยรวมของระบบนนประกอบไปดวยอปกรณตางๆทจดเขา
กนเปนชดกนขโมยรถยนตซงประกอบไปดวย บอรด Arduino ,Relay ,Sensor , GSM
Board อนๆ รวมทงแอพพลเคชนทจดทาขนมาเพอใชงานควบคไปกบตวอปกรณทจดทาขน
โดยการสงขอมลนนจะใชการสงเปนแบบ SMS เพอความปลอดภยในตดตอกนและใหงาย
ตอการใชงานเชนกน
14
3.2 การออกแบบระบบ
รปท 3.2 แสดงผงวงจรการเชอมตอของตวอปกรณ
จากรปท 3.2 แสดงการเชอมตออปกรณตางๆทง Input และ Output เขากบขาของตว
บอรด Arduino ซงประกอบดวย
- บอรด Arduino mega 2560 ใชเปนตวคอลโทรลเลอรอปกรณ
ทงหมดโดยการเขยนโปรแกรมเขาบอรดเพอสงงานอปกรณท
เชอมตอเขามา
- Wireless Remote Module 4 way M4 สาหรบสงขอมลผานรโมท
ซงใชสญญาณ Wireless ในการสงขอมล
- Regulator DC-DC Step Down 5A ใชแปลงไฟจาก 12V to 5V
- Logic Level Circuit 80V to 5V ใชแปลงไฟจาก 12V to 5V
- 8 Channel Relay 10A 5V Relay ใชในการสงหมนมอเตอร
- GPS Module Ublox NEO-M8N สาหรบรบคาพกด
- Shock Sensor เซนเซอรวดการสนสะเทอน
- Slient Buzzer ลาโพงสาหรบสงเสยงเตอนภย
- Lamp and Switch test หลอดไฟเทสการทางานของระบบ
- Adapter Battery 220V to 12V สาหรบจาลองการใชงานไฟฟา
จากแบตในรถยนต
- มอเตอรปนทใชสาหรบสงลอคหรอปลดลอค
15
รปท 3.3 แสดงแผนผงการสงขอมลของ Arduino
จากรปท 3.3 แสดงผงการสงขอมลขออปกรณแตละชนดวามการสงขอมลมาเปนจานวน
เทาไรเพองายตอการออกแบบการเขยนโปรมแกรม
ในการเชอมตอกนระหวางอปกรณ Arduino กบ Casma Application จะเปนการ
เชอมตอโดยใชอปกรณ GSM Shield เปนตวทาหนาทการสงขอมลคาสงตางๆ โดยผาน
ทางระบบเซลลลาร ซงมรปแบบการเชอมตอเปนแบบการสง SMS โดยขอความทสงจะม
การทาเปนขอความเฉพาะจะมเพยงผรบเทานนทนาขอความไปใชงานได เมอมอถอทตดตง
แอพพลเคชนไดรบขอความจะนามาตรวจสอบกบขอความทมอยหากตรงเงอนไขกจะทาการ
ทาคาสงภายในแอพพลเคชนเพอสงคาสง การมอนเตอรและการแจงเตอนผานทางหนาจอ
มอถอ โดยการออกแบบระบบจะแบงออกเปน 2 สวนใหญๆ ดงน
3.2.1 สวนของอปกรณ บอรด Arduino และ แผงวงจรตางๆ
การออกแบบในสวนของอปกรณนนจะแบงเปน 2 สวนดวยกน คอ
1) สวนของการรบคาสงจากแอพพลเคชนแลวทางานตามคาสงทไดรบ ซง
ประกอบดวย
- การรบคาสงจากแอพพลเคชนใหอปกรณทางานและสงคากลบวา
ทาสาเรจหรอไมสาเรจ โดยในสวนนจะประกอบไปดวย การรบ
คาสง LOCK / UNLOCK, และคาสง START / STOP โดยคาสง
LOCK / UNLOCK บอรด Arduinoจะเปนตวสงคาสงไปท Relay
และ Relay จะทาการสงมอเตอรใหมอเตอรหมนขนหรอลงแลวแต
คาสงทไดรบจากตวบอรด ในสวนของคาสง START / STOP นนก
ทาเชนเดยวกนเพยงแตจะไปสงท Relay แคนนเพอให Relay
ทางานแทนสวตชปด-เปดวาลวป มนามน
16
- การรบคาสงเพอสงขอมลทแอพพลเคชนรองขอมา โดยในสวนนจะ
รบคาสงจากตวแอพพลเคชนวาใหสงขอมลใดไห ซงจะองจากคาสง
ทไดรบจากตวแอพพลเคชน เชน คาสง F0B2 จะเปนการรองขอด
สถานะประต หากเปดอยกจะทาการตอบกลบไปวา YES เปนอน
จบการทางาน
2) สวนของการแจงเตอน โดยในสวนนตวอปกรณจะทารวมกบตวเซนเซอร
ตางๆ ทไดตดตงไวโดยหลกการทางาน หากเซนเซอรตวใดตวหนงทางาน
ซงประกอบไปดวย Shock Sensor และ Door Sensor นนระบบจะทาการ
สงแจงเตอนโดยทนทไปทแอพพลเคชนผานทางระบบ SMS เชนเดม โดย
จะมรหสลบอยางชดเจนวาเซนเซอรใดทางาน
17
รปท 3.4 Flowchart สวนการเรมทางานของบอรด Arduino
จากรปท 3.4 แสดง Flowchart การทาการของตวอปกรณ Arduino ซงเรมตนจากการ
เปดอปกรณ เชคคาตวแปล และเชคคาความพรอมของอปกรณตางๆทเชอมตอเขามาไมวาจะ
เปน GMS Module, GPS Module และอนๆ
18
รปท 3.5 Flowchart สวนการรบคาสงจากแอพพลเคชน
จากรปท 3.5 และ Flowchart ในสวนของการรบคาสง โดยเรมตนจากการรหสลบทสง
เขามาจาก SMS หากรหสภายใน SMS ถกตองจะทาการเซฟเบอรทสงเขามาและทาตามคาสง
ตางๆทไดรบ จากนนจะทาการตอบกลบซงหากรหสลบทสงมาไมถกตองกจะไมสนใจใน SMS
นนๆ
19
รปท 3.6 Flowchart สวนการแจงเตอนของบอรด Arduino
จากรปท 3.6 แสดง Flowchart การทางานในสวนของการแจงเตอนโดยสวนนจะมการ
ทา interrupt เชคทกๆ 1 วนาท หากเกดมเซนเซอรตวใดตวหนงทางาน จะทาการสงสญญาณ
ไปให Buzzer ทางานและทาการสง SMS ไปยงเบอรทไดทาการเซฟขอมลไวลาสด เมอเสรจ
กระบวนการจงกลบมาทาการรบคา GPS ตอ
20
3.2.2 สวนของ Android Application
ในการออกแบบสวนของแอพพลเคชนนไดทาการออกแบบหนาตาของแอพพลเคชนมา
ใหใชงานงาย ไมซบซอนและมความปลอดภยในระดบหนง เพอใหสะดวกตอการใชงานของผใช
แอพพลเคชน (ดงรป ท 3.7) โดยในแตสวนจะประกอบไปดวย
- หนา Register
- หนา Login
- หนา Dashboard หรอ Monitor
- หนา Command
- หนา Setting
- หนา Edit Account
รปท 3.7 แสดงหนาจอตางของแอพพลเคชน
21
รปท 3.8 แสดงหนาจอ Register
จากรป 3.8 ทาการหนาจอ Register เพอทาการลงทะเบยนครงแรกสาหรบการใชงาน
ระบบ โดยใหระบจอมลและทาการกดปม Register
22
รปท 3.9 แสดงหนาจอ Login
จากรป 3.9 แสดงหนาจอ Login ทาการระบ Username และ Password จากนนกดปม
Login เพอเขาสระบบ โดยระบบจะตรวจสอบขอมลทบนทกไวตอนทลงทะเบยนในหนาจอกอน
หนาน
23
รปท 3.10 แสดงหนาจอ Dashboard
จากรป 3.10 แสดงหนาจอของ Dashboard ซงใชเปนหนาหลกในการสงงานมทงหมด
3 แถบ ประกอบดวย
แถบท 1 หนา Dashboard คอแสดงสถานะตางๆ ไดแก
- Map แสดงแผนทวาตอนนรถอยทไหน โดยใช Apis รหส F0B1
- ENGINE แสดงสภานะเครองยนต วาดบหรอตดอย Apis รหส F0B3
- DOOR แสดงสถานะประต วาเปดหรอปดอย Apis รหส F0B2
- CHEACK ALL แสดงทกสถานะ แผนท เครองยนต และประต Apis รหส
F0B0
แถบท 2 แสดงหนาจอ Control
แถบท 3 แสดงหนาจอการตงคาระบบ
24
รปท 3.11 แสดงหนาจอ Command
จากรป 3.11 ทาการแสดงหนาจอ Command ซงจากหนาจอหลกของระบบแถบท 2
แสดงหนา Control โดยประกอบดวย 2 สวนคอ
สวนของ UNLOCK / LOCK ทาการปลดลอครถและทาการลอครถ
- UNLOCK ใช Apis รหส F0A2
- LOCK ใช Apis รหส F0A1
สวนของ START / STOP ENGINE
- START ใช Apis รหส F0F1
- STOP ใช Apis รหส F0B2
25
รปท 3.12 แสดงหนาจอ Setting
จากรป 3.12 แสดงในสวนของหนาจอตงคาของระบบม 3 เมน
1. Account ทาการแกไขขอมลสวนตวและเบอรโทรสาหรบ Connect กบ อปกรณ
2. Notification แสดง Log ของการแจงเตอน และสามารถลบออกได
3. Sign Out ออกจากระบบ
26
รปท 3.13 แสดงหนาจอ Edit Account
จากรป 3.13 ทาการแสดงหนาจอ Account โดยจะแสดงรายละเอยดขอมลของผใชงาน
และผใชสามารถแกไขขอมลได
27
รปท 3.14 Flowchart แสดงการรบขอมลของแอพพลเคชน
จากรปท 3.14 แสดง Flowchart สวนของแอพพลเคชนในการรบขอมลจากตวอปกรณ
โดยเชคจากเบอรทไดทาการลงทะเบยนไวในแอพพลเคชนตงแตแรกและรปแบบของ SMS ซง
หากตรงตามเงอนไขจะทาตามคาสงทไดรบและแสดงขอมลผานทางแอพพลเคชนหากไมตรง
เงอนไขจะทาการจบการทางานทนท
28
รปท 3.15 Flowchart แสดงการสงขอมลของแอพพลเคชน
จากรปท 3.15 แสดง Flowchart การสงขอมลของแอพพลเคชนไปยงอปกรณทไดทา
การลงทาเบยนเบอรไวในแอพพลเคชนตงแตครงแรก ซงเมอสงขอมลไปแลวไมไดรบการตอบ
กลบภายใน 15 วนาท จะทาการแสดงขอมล Time out และหารไดรบการตอบกลบมาภายใน
15 วนาท กจะแสดงผลทไดรบโดยองจาก Request Number ทสงไป
29
3.3 รายละเอยดโครงสรางและการทางานของระบบ
รายละเอยดโครงสรางและองคประกอบจะแบงเปน 3 สวน
3.3.1 สวนของคาสง ในสวนนจะเปนการสงคาสงไปสงบอรด Arduino ทตดตงอยใน
รถยนตใหทางาน ( ดงรปท 3.16 ) โดยจะมอย 2 คาสงคอ
- คาสง LOCK / UNLOCK ใชในการลอคและปลดลอคประตรถยนต
- คาสง START / STOP ใชในการเปดและปดวาลวจายนามน
รปท 3.16 แสดงการสงคาสงไปยงบอรด Arduino
3.3.2 สวนของการแจงเตอน นนจะสงคาจากตวอปกรณไปยงแอพพลเคชน โดยตว
อปกรณนนจะรบคาจากตวเซนเซอรตางๆทตดตงไวภายในรถยนต (ดงรปท 3.17) ซง
ประกอบดวย
- Door Sensor เชคการเปดประตรถยนตหากเปดโดยไมไดรบอนญาต
- Shock Sensor ใชสาหรบตรวจจบการสนสะเทอนของตวรถยนต
รปท 3.17 แสดงการสงการแจงเตอนจากบอรดไปยงแอพพลเคชน
3.3.3 สวนของการมอนเตอร แสดงสงคาจากแอพพลเคชนเพอรองขอขอมลไปยงตว
อปกรณบอรด Arduino ซงตวบอรดจะทาการเชคคาจากเซนเซอรตางๆทตดตงไวบนรถยนต
และสงคากลบไปยงแอพพลเคชนอกครง ( ดงรปท 3.18 ) โดยประกอบดวย
30
- Engine Sensor เชคเครองยนตวาดบหรอตดอย
- Door Sensor เชคประตวาเปดหรอปดอย
- GPS เชคพกดรถยนตวาอยทใด
รปท 3.18 แสดงการสงขอมลการรองขอขอมลจากบอรด Arduino
3.4 การออกแบบโปรโตคอลทใชเชอมตอกนระหวางอปกรณ Arduino กบ Casma App
การออกแบบโปรโตคอลนโดยทงหมดจะใชการสง SMS เปนตวขอขอมลระหวาง
แอพพลเคชนและ ตวอปกรณซงหลกการทางานกคอ ตวอปกรณและแอพพลเคชนจะดง
ขอความจาก SMS เขาแลวนาขอความดงกลาวไปใชงานโดยจะมรหสลบเปนตวกาหนดวา
SMS ใหนทจะดงไปใชงานไดและ SMS ใหนทจะไมนาไปใชงาน โดยภายใน SMS จะมโคด
เฉพาะเพอใชสาหรบสงงานตางๆ
31
รปท 3.19 แสดงการรองขอการเชอมตอจากแอพพลเคชน
จากรปท 3.19 แสดงการรองขอการเชอมตอ คอเมอมการสงขอมลจากแอพพลเคชนไป
ยงอปกรณนน ตวอปกรณจะทาการเชคคาของรหสลบทสงมากบระบบ SMS เปนอนดบแรก
หากไมตรงกนจะไมทาตามคาสงทไดรบและปลอยผาน แตหากรหสลบทสงมาจากแอพพลเคชน
นนตรงกนกจะทาตามคาสงทไดรบ และทาการจดจาเบอรทสงมานนเปนเบอรลาสดในการทจะ
สงการแจงเตอนกลบไป หรอคอไดทาการเชอตอกบเบอรนนๆ เรยบรอยแลว
ซงในสวนของแอพพลเคชนนนไดทาการตงคาการเชอมตอเบอรและรหสลบของอปกรณ
ไวในตอนลงทะเบยนการใชแอพครงแรกแลว ซงถาหากตองการเปลยนแปลงเบอรของอปกรณ
หรอตวอปกรณเองมการเปลยนแปลงคารหสลบ จาเปนตองทาการรเซตขอมลของแอพพลเคชน
ใหมเพอทาการลงทะเบยนและใสคาใหมอกครง
32
Android Application SMS APIs
ตารางท 3.1 แสดง Android Application SMS APIs
CMD
COD
E
DOMAIN NAME REQUEST
PARAMETER
RESPONSE (String)
F0A1 Command Lock scode=? commandStatus =?
F0A2 Command Unlock scode=? reqcommandStatus
=?
F0B0 Monitor Check
All
scode=? lat=?,long=?,
isOpenDoor=?,
isEngine=?
F0B1 Monitor Get
Location
(MAP)
scode=? lat=?,lng=?
F0B2 Monitor Check
Door
scode=? isOpenDoor=?
F0B3 Monitor Check
Engine
scode=? isEngine=?
F0F1 Command Start
Engine
scode=? commandStatus=?
F0F2 Command Off
Engine
scode=? commandStatus =?
จากตารางท 3.1 แสดง SMS APIs ของ Android ทไดทาการออกแบบไวใชในการสง
ขอมลซงเปนคาสงเฉพาะทคดคนขนมา เพอระบขอมลคาสงตางๆ ทใชในการสงใหอปกรณทา
ตามคาสงทไดรบ
33
ตารางท 3.2 Arduino Function APIs
CMDC
ODE
DOMAIN NAME REQUEST
PARAMETER
RESPONSE
(String)
FAC1 ALERT Shock
Sensor
Request.mobileNumber
is mobile of GSM
Module
commandStatu
s=?
FAC2 ALERT Door
Sensor
Request.mobileNumber
is mobile of GSM
Module
commandStatu
s=?
จากตารางท 3.2 แสดง APIs ในสวนของ Arduino ทใชสงการแจงเตอนไปยง
แอพพลเคชน
ตารางท 3.3 Variable List
Name Data
Type
Length Example Remark
requestNo String 13 1468305794431 Convert Time
Millisecond to String
commandStatus String 1 C F=Fail, C=Complete
,E=Error
lat String 15 13.8907142 Latitude
lng String 15 100.5650583 Longitude
isOpenDoor String 1 Y Y = Yes, N = No
isEngine String 1 N Y = Yes, N = No
message String 255 Shock Sensor!! Description of Alert
Command
scode String 4 Security Code 0000
จากตารางท 3.3 แสดงคาตวแปลตางๆ ทใชในการสง SMS หรอ APIs ทไดคดคน
ขนมาเพอใชในการสอสารสงขอมลระหวางกน
34
Default request parameter (cmdcode=?,requestNo=? ,scode=?)
Default response value (cmdcode=? requestNo=?, commandStatus =?
* Using # to split value for request and response parameter.
Using APIs Example
F0A1 Command Lock
Request Parameter = F0A1#1468305794431#0000
Response Value = F0A1#1468305794431#C
F0A2 Command Unlock
Request Parameter = FA02#1468305794431#0000
Response Value = FA02#1468305794431#C
F0B0 Monitor Check All
Request Parameter = F0B0#1468305794431#0000
Response Value = F0B0#1468305794431#13.8907142#100.5650583#Y#N
F0B1 Monitor Get Location (MAP)
Request Parameter = F0B1#1468305794431#0000
Response Value = F0B1#1468305794431#13.8907142#100.5650583
F0B2 Monitor Check Door
Request Parameter = F0B2#1468305794431#0000
Response Value = F0B2#1468305794431#Y
F0B3 Monitor Check Engine
Request Parameter = F0B3#1468305794431#0000
Response Value = F0B3#1468305794431#N
35
F0F1 Command Start Engine
Request Parameter = F0F1#1468305794431#0000
Response Value = F0F1#1468305794431#C
F0F2 Command Off Engine
Request Parameter = F0F2#1468305794431#0000
Response Value = F0F2#1468305794431#C
FAC1 Alert Shock Sensor
Response Value = FAC1#
FAC2 Alert Door Sensor
Response Value = FAC2#
36
บทท 4
การทดลองและผลการทดลอง
จากการทไดพบปญหาของอปกรณสญญาณกนขโมยรถยนตทใชกนอยทวไปนนไม
สามารถตอบโจทยผใชงานไดครบทกดาน จงไดออกแบบระบบไวในบททผานๆ โดยมการ
ออกแบบวงจรและแอพพลเคชนทใชในการควบคมระบบ เพอใชในการแกปญหาตางๆทได
ศกษามา แนวความคดทผานมานนแสดงใหเหนถงกระบวนการทางานของของการเชอมตอใน
ระบบเครอขายแบบ SMS, บอรดคอนโทรลเลอร Arduino, Sensor ตางๆ, วงจรรเลย และการ
ใชการแอพพลเคชนนน จะสามารถชวยทาใหระบบกนขโมยรถยนตมความปลอดภยมากขน
กวาเดม และสะดวกตอการใชงานตอไปในภายภาคหนา
4.1 โครงสรางของระบบทใชในการทดลอง
รปท 4.1 แสดงโครงสรางโดยรวมของระบบ
จากรปท 4.1 แสดงโครงสรางของระบบทใชในการทดลอง โดยใชอปกรณเพอจาลอง
แทนการตดตงระบบจรงในสวนของการตดตงภายในรถยนต ซงในของสวนอปกรณนนจะใช
ของจรงทใชงานบนตวรถยนตทงหมด
4.1.1 ทรพยากรทใชในการทดลอง ซงประกอบดวย
- บอรด Arduino mega 2560
- Wireless Remote Module 4 way M4
- Regulator DC-DC Step Down 5A
- Logic Level Circuit 80V to 5V
37
- 8 Channel Relay 10A 5V Relay
- GPS Module Ublox NEO-M8N
- Shock Sensor
- Slient Buzzer
- Lamp and Swicth test
- Adapter Battery 220V to 12V
- มอถอ Sumsung ทลง Application Casma แลว
4.2 ขนตอนการทดลองจะแบงออกเปน 4 Part ดงน
1) ทดลองสงคาสงจาก Application ไปยงอปกรณ Arduino เพอสงงานโดยใชเงอนไข
วาเมอสงคาสงสงงานตางๆใน Application ไปยงตวอปกรณ Arduino แลว ชด
อปกรณทดสอบจะทางานตามคาสงทไดรบและสง SMS ตอบกลบผลลพธ
2) ทดลองสงการแจงเตอนจากตว Arduino ไปยง Application โดยสรางเงอนไขไววา
เมอตวอปกรณ Sensor ทตดตงไวกบชดอปกรณทดสอบทางาน จะทาการสง SMS
Alert ไปยงมอถอทตดตงแอพพลเคชนไว
3) ทดลองการสงคาขอดขอมลโดย Application โดยสรางเงอนไขวาเมอ Application
รองขอขอมลไปยงบอรด Arduino ทางบอรด Arduino จะสงคากลบไปยง
Application และแสดงขอมลทรองขอ
4) ทดลองการสมคร User/Pass และการเปลยน User/Pass
โดยการทดลองจะทาควบคกนไประหวาง Application และบอรด Arduino เรมตนดวย
การเตรยมอปกรณตางๆทจะใชในการทดลอง โดยตวตวอปกรณ Arduino ไดทาการเขยนโคด
สาหรบการทดลองและทาการเชอมตอไวกบอปกรณตวอนๆเรยบรอยแลว
38
รปท 4.2 อปกรณตางๆ ทใชในการทดลอง
จากรปท 4.2 แสดงอปกรณตางๆททาขนมาเพอจาลองแทนการตดตงจรงซงการทา
การนนจะใหผลเทยบเทาการตดตงจรงเกอบทงหมด
รปท 4.3 แสดงการเชอมตออปกรณทใชในการทดลองเขาดวยกน
39
จากรป 4.3 ทาการเตรยมอปกรณตางๆทใชในการทดลองประกอบดวย อปกรณ บอรด
Arduino Mega 2560, Relay 8 CH, Regulator, บอรด GSM 900,Wireless Remote Module
4 way M4, Shock Sensor และอนๆ จากนนจงทาการเชอมตอเขาดวยกน โดยซมโทรศพทท
ไดทาการตดตงนน จาเปนตองเงนในซมหรอตองทาการสมครแพกเกจ SMS ไวแลว
รปท 4.4 ตดตง Casma Application สาหรบใชงาน
จากรปท 4.4 ทาการตดตง Casma Application ลงบนมอถอ Samsung เพอใหพรอม
ใชงานโดยในเบอรมอถอนจาเปนตองมเงนหรอไดทางานสมครแพกเกจสาหรบสง SMS ไว
เรยบรอยแลว
40
รปท 4.5 หนาตางสาหรบ Login
จากรปท 4.5 เมอตองการใชงาน Application Casma จาเปนจะตองม User/pass กอน
จากนนจงทาการ Login เพอเขาใชงาน
41
4.3 การทดลองในสวนของการสงคาสงจาก Application ไปยงอปกรณ Arduino
รปท 4.6 แสดงการสงคาสงจาก App ไปยง Arduino
4.3.1 ทาการทดลองสงคาสง Lock และ Unlock (รปท 4.6)
เมอเปดแอพพลเคชนและทาการลอคอนเขามาแลวใหเลอกมาทหนากลางหรอแทปท 2
รปรโมทจะพบหนาจอดงรปในหนาถดไป (รปท 4.7) จากนนใหทาการกดไอคอน Lock เพอทา
การลอค และไอคอน Unlock เพอทาการ Unlock
42
รปท 4.7 แสดง Icon ตางๆ ทใชสาหรบการสงงาน
จากรป 4.7 แสดงใหเหนถงไอคอนตางๆซงประกอบไปดวย ไอคอน Unlock ดานซาย
บน, ไอคอน Lock ทางดานขวาบน, ไอคอน On Pump ดานซายลาง และไอคอน Off Pump
ดานขวาลาง
43
รปท 4.8 แสดงกลไกมอเตอรเปดและปด
รปท 4.8 แสดงสถานะของมอเตอร โดยรปทางดานซายมอคอสถานะ ปด เมอเรากดปม
Lock ทแอพพลเคชนและทางดานขวามอคอสถานะ เปด เมอเรากดปม Unlock ทแอพพลเคชน
รปท 4.9 แสดงสถานะลอคประต หรอ Casma Active
รปท 4.9 แสดงสถานะไฟเมอทาการกดลอค ไฟจะสวางและเมอกดปลดลอคไฟจะดบ
ไฟดวงนจะแสดงสถานะเมอสวางขน โหมดกนขโมยจะทางานทนท
44
4.3.2 ทาการทดลองสงคาสง Pump On และ Pump Off
เมอเปดแอพพลเคชนและทาการลอคอนเขามาแลวใหเลอกมาทหนากลางหรอแทปท 2
รปรโมทจะพบหนาจอดงรปดานบน (รปท 4.7) จากนนใหทาการกดไอคอน Pump On เพอทา
การเปดการทางานของป มจายนามน และไอคอน Pump Off เพอทาการปดวาวจายนา เพอทา
ใหรถยนตไมสามารถสตารทเครองได หรออาจดบเครองขณะขบรถยนต
รปท 4.10 แสดงสถานะ Pump On
รปท 4.10 แสดงสถานะทางานของป มจายนามน โดยเมอรถยนตวงป มนามนจะทางาน
และไฟดวงนจะสวาง หากกดปดป มนามนไฟจะดบ และในโหมดรถยนตนนเครองยนตจะดบ
ทนท
45
4.4 ทดลองสงการแจงเตอนจากตว Arduino ไปยง Application
รปท 4.11 แสดงการสงการแจงเตอนจากตว Arduino ไปยง App
การทดลองในสวนนจะทดลองของการสงการแจงเตอนจากตว Arduino หรอการเตอน
Alert มาทแอพพลเคชนโดยแยกเปน 2 สวนคอ
- ทาการเขยา Shock Sensor ใหไดถงขดทต งไวเพอทาใหสญญาณ
กนขโมยทางาน
- ทาการเปดประต ในขณะตวอปกรณอยในโหมด Casma Active
โดยใชสวตซในการจาลองในการเปดประต
-
รปท 4.12 แสดงสถานะเมอสญญาณกนขโมยทางาน
46
รปท 4.12 แสดงสถานะไฟประตเปดในขณะทตวอปกรณยงอยในสถานะ Casma
Active ซงหากอยในสถานการณนน Silent จะดงและตวอปกรณจะทาการสง Alert ไปยงตว
แอพพลเคชน หรอหากตว Shock Sensor ทางานกจะมผลเชนเดยวกน
รปท 4.13 แสดงการแจงเตอนบน Application
รปท 4.13 แสดงการแจงเตอน เมอมการกระทาทเขาเงอนไข เชน เปดประตในขณะท
อปกรณยงอยในโหมด Casma Active หรอเมอ Shock Sensor ทางานถงขดทกาหนด
47
4.5 ทดลองการสงคาขอดขอมลโดย Application
รปท 4.14 แสดงการสงคาขอดขอมลโดย App
การทดลองในสวนนจะอยในสวนของมอนเตอร โดยเราจะทาการมอนเตอรดวาประต
เปดหรอปดอย และเครองยนตนนสตารทหรอดบอย โดยใชชดอปกรณทดสอบเสมอนจรงใน
การทดลอง
48
รปท 4.15 แสดงสถานะรอในขณะรองขอขอมลสถานะเครองยนต
รปท 4.15 แสดงสถานการรอ ในขณะทเรากดปมขอดสถานะเครองยนต ซงจะแสดงผล
เปน On และ Off หากขอมลไดถกสงมาถง และในขณะรอจะขนเปน Waiting
49
รปท 4.16 แสดงสถานะประตวาเปดอยและเครองยนตดบอย
รปท 4.16 แสดงสถานะประตเปดอยและเครองยนตดบอยเมอเรากดทงสองปม โดยกด
ทจะปม ซงในสวนของประตจะขน Open ซงแปลวาประตนนเปดอย และในสวยของเครองยนต
นนขน Off ซงแปลวา เครองยนตนนดบอย
รปท 4.17 แสดงสถานะในสวนของกลองอปกรณ
50
รปท 4.17 เปนผลจากการทดลองเมอเราปดสวตชเครองยนต และเปดสวตชไฟประตไว
ซงสวนนทามาเพอจาลองจากสวตชทอยบนรถยนตจรงๆ
4.6 ทดลองการสมคร User/Pass และการเปลยน User/Pass
การทดลองสวนนจะทาการสมคร User และ Password เพอเขาใชงานแอพพลเคชน
เพราะหากไมม User และ Password จะไมไดสามารถเขาใชงานแอพพลเคชนได และหาก
ตองการขอมลทสมครไปแลวกสามารถทาการแกไขได แตถาหากผใชงานลม Password ตอง
เขาไปเคลยรขอมลในการตงคาของ Android
รปท 4.18 แสดงหนาจอการสมคร User/Pass
จากรปท 4.18 แสดงหนาตางใหกรอกขอมลเพอใชในการสมคร User/Pass ในการเขา
ใชงาน
51
รปท 4.19 แสดงหนาจอการแกไขขอมล User
จากรปท 4.19 จะแสดงหนาตางของขอมลทเราไดทาการสมครไวตงแตตอนแรก หาก
ตองการจะเปลยน Password กสามารถทาไดทหนาเมนน
52
บทท 5
สรปผลการทดลอง
ปจจบนเทคโนโลยดานการสอสารมความลาหนากาวกระโดดไปไกลและไดเขามาม
บทบาทมากมายในชวตประจาวนของเราทาใหเราสามารถทจะทาอะไรสะดวกสบายมากขน
โดยเฉพาะเรองเทคโนโลยทเขามามบทบาทมากขนทางระบบเครอขาย โดยเฉพาะเครอขาย
คอมพวเตอรและมอถอ หลายๆอปกรณนนสามารถทางานและสงการไดผานทางมอถอ ทกท
ทกเวลา และทางผจดทาสารนพนธไดมองเหนความสะดวกในการใชงานระบบเครอขายกบมอ
ถอจงไดนาเอาคอมพวเตอรและมอถอมาสงงานควบคมผานกบบอรด Arduino และออกแบบ
วงจร เพอนาไปใชกบสญญาณกนขโมยรถยนต ทาใหอปกรณนนมความสามารถมากขน
5.1 ประโยชนจากการทาสารนพนธ
จากผลการดาเนนงานตงแตบทท 1 จนถงบทท 4 ซงไดรายละเอยดสรปผลการทดลอง
งานตางๆ ทางผจดทาไดรบความรตางๆจากการศกษาคนควาดวยตนเอง และจากคนรจกไมวา
จะทางดานอปกรณคอนโทรลเลอร Arduino, การสรางแอพพลเคชนผานระบบปฏบตการแอน
ดรอยด และแผงวงจรวงจรอเลกทรอนกสตางๆ แลว ในการทาโครงงานครงนยงไดรบมมมอง
ใหมๆ ในการประดษฐชนงานตางๆเพมขนอกดวย
5.2 ปญหาและอปสรรค
จากการออกแบบระบบ car alarm system mobile application ยงไมสามารถใชงานได
กบอปกรณจรงอยางเตมรปแบบเนองจากตวอปกรณททามาใชทาโครงการนน ใชในเคสเพอ
การศกษาเทานน จงมประสทธภาพในการประมวลผลไดไมดพอ และอกทงตวอปกรณมขนาด
ใหญไมเหมาะจะนาไปตดตงในสถานการณจรงได หากตองใชอปกรณทสามารถใชงานไดจรง
ตวอปกรณนนจะมราคาทคอนขางสงไมคมทจะนามาลงทน
5.3 แนวการทางนาไปพฒนาตอ
สาหรบในสวนของระบบ car alarm system mobile application นเราสามารถนาไป
พฒนาตอในเรองของการ สงปด-เปด อปกรณตางๆ ภายในตวรถยนตเพมเตม หรอทา
มอนเตอรขอมลตางๆเพอสงคามาทแอพพลเคชนเพมเตมหรอนาไปตอยอดเพอใชงานในดาน
อนๆไดอกดวย ไมวาจะเปนระบบมอนเตอรการทางานของอปกรณไฟฟาอนๆ, การสงงานปด-
เปดอปกรณไฟฟา หรอการแจงเตอนภยหากมการคกคามตางๆ ซงอยทผศกษาจะนาไปตอยอด
ในดานใด
53
เอกสารอางอง
[1] http://www.uniconboard.com/
[2] http://www.myarduino.net/article
[3] http://th.wikipedia.org/wiki/แอนดรอยด_(ระบบปฏบตการ)
[4] http://marcuscode.com/
[5] http://www.trio4u.com/
[6] พรอมเลศ หลอวจตร.(2558). คมอเขยนแอพ Android ดวย Android Studio.
กรงเทพมหานคร: สานกพมพโปรวชน, บจก.
[7] เอกชย มะการ. (2552). เรยนร เขาใจ ใชงาน ไคโครคอนโทรลเลอร ตระกล AVR ดวย
Arduino. กรงเทพมหานคร: สานกพมพอทท, บจก.
54
ภาคผนวก ก.
55
ภาคผนวก ก.
ขนตอนการลง Driver Arduino และ การตดตงโปรแกรม Android Studio
1. วธการ Install Driver Arduino ลงบน Window
สาหรบผทซอ Board Arduino คงจะพบกบปญหาทจะพดถงในบทความน วนนจะ
แนะนาวธการลง Software และ Driver Arduino บนWindows แบบละเอยดๆ กอนทาการ
installing Driver ของ Arduinoทกชนด ตอง Disable อปกรณ Bluetooth เพราะ วา Arduino
และ อปกรณ Bluetooth นนไม Compatibleกน เพราะฉนน ตองปดอปกรณ Bluetoothกอนการ
Install เสมอ บทความน จะแนะนาเกยวกบการ install drivers ลงบน Arduino Boards ทกชนด
บน ระบบปฏบตการ Windows และ การ Loading a sketch สาหรบทาการทดสอบวาการ
Install นนถกตองหรอไม โดยทงหมดจะสาธตบนบอรด Arduino UNO R3 คกบ Window 7
1.1 Download
ใหไปท http://arduino.cc/en/Main/Software
รปท ก.1 Click ท download เพอเขาส the download page
- ทหนา download, ให Click ไปท Windows link เพอทจะ download
Arduino software สาหรบระบบปฏบตการWindows ตามรปขางลาง
56
รปท ก.2 เลอกไฟลทจาทการ extract
1.2 Install the Arduino Windows Drivers
- ทาการ Plug the Arduino Board ลงบนเครอง PC ทาการ Plug the Arduino
board ลงบนเครอง PC. Windows จะพยายาม install drivers แตสดทายกจะไมสาเรจ
- Start the Windows Device Managerให Click ไปทปม Start menu คลก
ขวาท My Computer บน Start menu แลวก click Properties or Manage จาก pop-up menu
เพอทาการเปด Device Manager
รปท ก.3 เปด และแสดง Arduino Device ทเราทาการ Connect
1.3 Installing the Device Driver
ในหนาตางของ Device Manager, ใหคลกขวา ไปท Arduino board แลวก click
Update Driver Software, บน pop-up menu
57
รปท ก.4 Update Driver Software
- ณ ขณะน จะมกลองขน pop-up มาโชววา Update Driver Software ใหคลก
ท Browse my computer for driver software เพอทจะ install Driver Software Manually
รปท ก.5 Click the Browse... button
58
รปท ก.6 เลอกไปท drivers folder ทได download มา
รปท ก.7 หลงจากเลอกเรยบรอยแลว ให Click Next
รปท ก.8 Click Install this driver software anyway
59
- เมอทาการ Install Driveเปนทเรยบรอยแลว จะม dialog box ตามรปขางลาง
เราตองทราบ port number ท บอรด Arduino เราทาการเชอมตออยในตวอยางนคอ Port
COM 3 แตบอรดทใชงานจรงของคณ อาจจะมาเปน Port COM อนๆ กอยาไดตกใจครบ
รปท ก.9 Install Driver เปนทเรยบรอย
- ถาหากเหนขอความนแสดงวาไดทาการ Install Driver เปนทเรยบรอยแลว ก
ทาการ "Close" ไดเลย
1.5 ทาการ Set up Arduino Software หลงจาก Installation แลว
การ set น ทาแคครงเดยวเปนอนเสรจ นอกเสยจากจะตองการเปลยน รนของ Board
หรอ เปลยน port ททาการเชอมตอกบ Boardเทานน. เพยงแค เลอกไปท folder ทคณได
เกบ Arduino IDE ไว และทาการ Start Software ของ Arduino IDE โดยทาการ double-
clickingไปท Arduino application.
60
รปท ก.10 Double Click ท "Arduino.exe" เพอ Start Arduino IDE
- Double Click ท "Arduino.exe" เพอ Start Arduino IDE จากนนเลอกรน
ของ Arduino board ททาการเชอมตอใหถกตองจากใน list ทาการเปลยน ถาจาเปน.....
รปท ก.11 Check วา serial port ทตออยไดถกเลอกอยางถกตอง
- ทนกทาการ check วา serial port ทตออยไดถกเลอกอยางถกตอง เลอกไป
ท Computer Serial Port ท Arduino ทาการตอเชอมอย
61
2. การตดตงโปรแกรม Android Studio
2.1 System Requirement
System Requirement สาหรบ Android Studio ถาองจากเวปหลกแลวจะมรายละเอยด
ประมาณน System Requirements [Android Developer]
- Windows
• Microsoft® Windows® 8/7/Vista/2003 (32 or 64-bit)
• 2 GB RAM minimum, 4 GB RAM recommended
• 400 MB hard disk space + At least 1 G for Android SDK,
emulator system images, and caches
• 1280 x 800 minimum screen resolution
• Java Development Kit (JDK) 7
• Optional for accelerated emulator: Intel® processor with
support for Intel® VT-x, Intel® EM64T (Intel® 64), and Execute
Disable (XD) Bit functionality
- Mac OS X
• Mac® OS X® 10.8.5 or higher, up to 10.9 (Mavericks)
• 2 GB RAM minimum, 4 GB RAM recommended
• 400 MB hard disk space + At least 1 GB for Android SDK,
emulator system images, and caches
• 1280 x 800 minimum screen resolution
• Java Runtime Environment (JRE) 6
• Java Development Kit (JDK) 7
• Optional for accelerated emulator: Intel® processor with
support for Intel® VT-x, Intel® EM64T (Intel® 64), and Execute
Disable (XD) Bit functionality
- Linux
• GNOME or KDE desktop
• GNU C Library (glibc) 2.11 or later
• 2 GB RAM minimum, 4 GB RAM recommended
• 400 MB hard disk space + At least 1 GB for Android SDK,
emulator system images, and caches
• 1280 x 800 minimum screen resolution
• Oracle® Java Development Kit (JDK) 7
62
2.2 Installation
ในขนตอนการตดตงควรเชอมตอกบอนเตอรเนตดวย เพราะจะมบางขนตอนทตอง
ดาวนโหลดขอมลเพมจากอนเตอรเนต ขนตอนการตดตง JDK เจาของบลอกขอแตกเปนอก
บทความแทนนะครบ โดยสามารถดวธการตดตงไดท [Android Dev Tips] วธการตดตง Java
Development Kit (JDK) บน Windows
- ดาวนโหลด Android Studio จาก Download Android Studio [Android
Developer]
รปท ก.12 Download Android Studio
- กอนจะทาการดาวนโหลดจะตองยอมรบขอตกลงการใชงานเสยกอน แลวให
ตกเลอกท I have read and agree with the above terms and conditions แลวจงจะกดปม
ดาวนโหลดได
63
รปท ก.13 กดปม Next เพอไปขนตอนตอไป
- เมอทาการดาวนโหลดเสรจเรยบรอยแลวใหเปดไฟลขนมา กจะพบกบหนา
Welcome ใหกดปม Next เพอไปขนตอนตอไป
รปท ก.14 เลอกวาตองการตดตงอะไรบาง
64
- หนาตอมาจะใหเลอกวาตองการตดตงอะไรบาง ถาตดตง Android SDK ไว
แลวกใหขามไปไดเลย เพราะโปรแกรมสามารถกาหนด Android SDK Path ทมอยในเครองใน
ภายหลงได สวน Android Virtual Device (AVD) กบ Performance (Intel®HAXM) ไมตองลงก
ได เพราะเปนตว Emulator และตวชวยททาให Emualtor ทางานไดไวขน แตทวาแนะนา
Genymotion ซะมากกวาดงนนจงเลอก Android SDK เพยงอยางเดยว แลวกดปม Next เพอไป
ขนตอนตอไป
รปท ก.15 กาหนด Path ทตองการตดตง
- กรณทเลอกตดตง Android Studio และ Android SDK
ในการกาหนด Path ของ Android Studio และ Android SDK หามเลอก Path ของ
Android SDK ใหอยใน Android Studio เพราะวาจะทาใหไมสามารถอพเดท Android Studio
ได (โปรแกรมจะมแจงเตอนอย) ดงนนควรแยกโฟลเดอรทงสองไวเลย
- กรณทตดตงแต Android Studio
ในกรณทไมไดตดตง Android SDK โปรแกรมจะถาม Path ของ Android SDK ทมอยใน
เครองแทน
65
รปท ก.16 กด install รอโปรแกรมทาการตดตงจนเสรจ ซงใชเวลาพกใหญ
รปท ก.17 ตดตงเสรจแลวใหกดปม Next
66
รปท ก.18 ตดตงเสรจแลวใหกดปม Finish ไดเลย
- เพยงเทานกตดตงโปรแกรม Android Studio เสรจเรยบรอยแลว กดปม
Finish เพอปดหนาตางแลวเปด Android Studio ขนมาไดเลย
67