Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่...

55
ระบบให้อาหารสัตว์เลี ้ยงอัตโนมัติด้วยราสเบอร์รี ่พาย Automatic Box Feeder for Pets with Raspberry Pi จิรภาส ทองเต็ม Jirapat Thongtem สารนิพนธ์นี ้เป็นส่วนหนึ ่งของการศึกษา หลักสูตรวิทยาศาสตรมหาบัณฑิต สาขาวิชาวิศวกรรมเครือข่าย คณะวิทยาการและเทคโนโลยีสารสนเทศ มหาวิทยาลัยเทคโนโลยีมหานคร ปีการศึกษา 2558

Transcript of Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่...

Page 1: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

ระบบใหอาหารสตวเลยงอตโนมตดวยราสเบอรรพาย

Automatic Box Feeder for Pets with Raspberry Pi

จรภาส ทองเตม

Jirapat Thongtem

สารนพนธนเปนสวนหนงของการศกษา

หลกสตรวทยาศาสตรมหาบณฑต สาขาวชาวศวกรรมเครอขาย

คณะวทยาการและเทคโนโลยสารสนเทศ

มหาวทยาลยเทคโนโลยมหานคร

ปการศกษา 2558

Page 2: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

I

หวขอ ระบบใหอาหารสตวเลยงอตโนมตดวยราสเบอรรพาย

ชอนกศกษา นายจรภาส ทองเตม

รหสนกศกษา 5617660004

หลกสตร วทยาศาตรมหาบณฑต สาขาวศวกรรมเครอขาย

ปการศกษา 2558

อาจารยทปรกษา ผศ.ดร.วรพล ลลาเกยรตสกล

บทคดยอ

วตถประสงคของระบบออโตเมตกบอกฟดเดอร (Automatic Box Feeder) เปนระบบให

อาหารสตวเลยงอตโนมตดวยราสเบอรรพาย โดยสรางระบบเพอเปนเครองมอชวยจดสรรอาหาร

ประเภทเมดใหกบสตวเลยง ไดแก แมว และสนข หากเกดกรณเจาของสตวเลยงอยนอกสถานท

อยอาศย ไมสามารถจดสรรอาหารได ซงการจดอาหารไมตรงเวลาจะสงผลโดยตรงใหสขภาพ

ของสตวเลยง เกดภาวะขาดอาหาร ซงกอใหเกดอาการปวยตางๆ และเปนภาระคาใชจายในการ

รกษาพยาบาลของสตวเลยงทไมจาเปนได ดงนน ออโตเมตกบอกฟดเดอร (Automatic Box

Feeder) สามารถชวยแกปญหาดงกลาวได ดวยการนาบอรดราสเบอรรพาย ทเปนคอมพวเตอร

จวทาหนาทเปนเวบเซรฟเวอร (Web Server) สงการดวยภาษาพเอชพ (PHP) รวมดวยกบ

ภาษาไพทอน (Python) ควบคมการทางานของวงจรรเลย และมอเตอร ชวยจดสรรอาหารสตว

เลยง พรอมการตดตามดวยเซอรวสเวบแคม (Webcam) บนบอรด การใชงานของระบบ

ออโตเมตกบอกฟดเดอร (Automatic Box Feeder) นจะใชการสงการผานเวบเบราวเซอร

สะดวกตอการใช มประสทธภาพในการจดสรรอาหาร และลดปญหาทางสขภาพ พรอมดแลสตว

เลยงได

Page 3: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

II

กตตกรรมประกาศ

สารนพนธฉบบนสาเรจลงไดดวยด ดวยการใหคาปรกษา และคาแนะนาทดจาก

ผศ.ดร.วรพล ลลาเกยรตสกล อาจารยทปรกษาทไดใหคาแนะนาและความร จนสารนพนธฉบบ

นสาเรจไปไดดวยด

ขาพเจาขอขอบคณเพอนๆ สาขาวศวกรรมเครอขายโดยเฉพาะ คณศราวธ บตรราช ท

ใหความรการตอวงจรทางไฟฟา รวมทงความรเรองอปกรณอเลกทรอนกส ทสงผลใหการทา

โครงงานสาเรจลลวงไปดวยด

สดทายนสารนพนธฉบบนลลวงไปดวยด คณคาและประโยชนอนพงมาจากสารนพนธ

ฉบบน ขาพเจาขอมอบแดผมพระคณทกทาน และสาหรบผทจะนาไปพฒนาระบบตอไปในภาย

ภาคหนาแกผทสนใจศกษา

จรภาส ทองเตม

ธนวาคม 2558

Page 4: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

III

สารบญ หนา

บทคดยอภาษาไทย. I

กตตกรรมประกาศ II

สารบญ III

สารบญรป V

สารบญตาราง VI

บทท 1 บทนา 1

1.1 ความเปนมาและความสาคญของปญหา 1

1.2 ปญหาและแรงจงใจ 1

1.3 วตถประสงคของสารนพนธ 1

1.4 ขอบเขตของสารนพนธ 1

1.5 ประโยชนของสารนพนธ 2

1.6 โครงสรางของสารนพนธ 2

บทท 2 พนฐานและทฤษฎทเกยวของ 3

2.1 บอรดราสเบอรร (Raspberry Pi) 3

2.1.1 คณสมบตทางเทคนคของบอรด Raspberry Pi 3

2.1.2 สวนประกอบของบอรด Raspberry Pi 4

2.1.3 การจดเรยงขาของ GPIO (General-Purpose Input/ Output) 5

2.1.4 ขนตอนการตดตงระบบปฎบตการของบอรด 5

2.2 หลกการทางานของรเลย (Relay) 10

2.2.1 จดตอใชงานมาตรฐาน 10

2.2.2 ประเภทของรเลย 11

2.3 ภาษาไพทอน (Python) 11

2.3.1 ความสามารถของภาษาไพทอน (Python) 12

2.3.2 หลกการทางานของไพทอน (Python) 12

2.4 ภาษาพเอชพ (PHP) 13

2.4.1 โครงสรางภาษาพเอชพ (PHP) 13

2.4.2 ความสามารถของภาษาพเอชพ (PHP) 14

Page 5: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

IV

สารบญ (ตอ) หนา

บทท 3 การออกแบบระบบ 15

3.1 โครงสรางและการออกแบบระบบ 15

3.2 รายละเอยดโครงสรางขององคประกอบ 17

3.2.1 สวนเชอมตอผใชงานกบคอมพวเตอรและมอถอ 17

3.2.2 สวนควบคมวงจรระบบและประมวลผลของเครอง (Programing) 17 3.2.3 สวนควบคมการ ON /OFF เครอง (Relay Circuit) 17

3.3 การออกแบบโปรโตคอลทใชเชอมตอกนระหวางคอมพวเตอรและแผงวงจร 17 3.4 การออกแบบการเชอมตอสงงานกนระหวาง Raspberry กบ Relay Circuit 18

3.4.1 สวนแรกคอสวนทเปนอปกรณ Raspberry Pi 18

3.4.2 สวนท 2 วงจรรเลย (Relay Circuit) และชดควบคม 20

3.5 การออกแบบ Hardware ในสวนของวงจรรเลย (Relay Circuit) 20

บทท 4 การทดลองและผลการทดลอง 24

4.1 การทดลองแบงออกเปน 2 ตอน 25

4.1.1 การทดสอบการหมนมอเตอร 25

4.1.2 การทดสอบเซอรวสการทางานของ Webcam 26

บทท 5 สรปผลการทดลอง 30

5.1 ประโยชนจากการทาสารนพนธ 30

5.2 ปญหาและอปสรรค 30

5.3 แนวทางการนาไปพฒนาตอ 30

เอกสารอางอง 31

ภาคผนวก 32

ภาคผนวก ก 33

ภาคผนวก ข 37

Page 6: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

V

สารบญรป หนา

รปท 2.1 สวนประกอบของบอรด Raspberry Pi B+ 4

รปท 2.2 การจดขาของ GPIO Raspberry Pi B+ 5

รปท 2.3 ระบบปฎบตการจากเวบของ Raspberry Pi 6

รปท 2.4 การแยกไฟล จะไดไฟลนามสกล *.img 6

รปท 2.5 แสดงการดาวนโหลด Win32DidkImager 7

รปท 2.6 ทาการอมเมจไฟลลงใน SD CARD 7

รปท 2.7 แสดงการเขยนอมเมจเสรจเรยบรอย 8

รปท 2.8 แสดงการตอสาย USB to TTL ของบอรด Raspberry Pi B+ 8

รปท 2.9 แสดงการตงคาของบอรด Raspberry Pi เขาใชดวยโปรแกรม PuTTY 9

รปท 2.10 การตอใชงานหลอดไฟผานขน C และ NC 11

รปท 2.11 โครงสรางการคอมไฟลของภาษา C 13

รปท 2.12 โครงสรางการอนเตอรพรเตอร 13

รปท 2.13 ตวอยางโครงสรางภาษา PHP 14

รปท 3.1 องคประกอบของระบบทงหมดโดยรวม 15

รปท 3.2 สวนประกอบของระบบ Automatic Box Feeder 16

รปท 3.3 โครงสรางการเชอมตออปกรณจากยเซอร กบ Raspberry 17

รปท 3.4 แสดงสวนของหนา Login ของเวบไซตของระบบ Box Feeder 19

รปท 3.5 แสดงสวน Main Program ของใชงานของระบบ Box Feeder 19

รปท 3.6 การออกแบบวงจรรเลยโดยรวม (Relay Circuit) 21

รปท 3.7 ชดอปกรณและวงจรไฟฟาโดยรวม 22

รปท 3.8 แสดงผงของระบบ Flow Chart 23

รปท 4.1 แสดงชดอปกรณทดลอง 24

รปท 4.2 แสดงการทดสอบการหมนรอบมอเตอร 25

รปท 4.3 แสดงการทดสอบเซอรวสของ webcam สถานะ Stop ผานทาง TTL 26

รปท 4.4 แสดงการทดสอบเซอรวสของ webcam สถานะ Start ผานทาง TTL 27

รปท 4.5 แสดงการทดสอบเซอรวสของ webcam สถานะ Stop ผานทาง Web Application 28

รปท 4.6 แสดงการทดสอบเซอรวสของ webcam สถานะ Start ผานทาง Web Application 28

Page 7: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

VI

สารบญตาราง หนา

ตารางท 3.1 ตารางแสดงชดฟงกชน (Functions) การทางานของระบบ 18

ตารางท 4.1 แสดงผลการทดสอบการหมนรอบมอเตอร 26

ตารางท 4.2 แสดงผลการทดสอบเซอรวสของ webcam 29

Page 8: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

1

บทท 1

บทน า

1.1 ความเปนมาและความส าคญของปญหา

ปจจบนมการดาเนนการโครงสรางทางธรกจเตบโตมากขน สงผลใหตองมการปรบปรง

โครงสรางทางคมนาคม ตองเพมความสะดวก ความคลองตวมากขน แตเนองจากปจจบน ยงคง

มปญหาการจราจรทตดขด ในตวเมอง และเขตอตสาหกรรมตางๆ ทาใหการใชชวตของบคคล

ชวงวยทางาน ใชเวลากบการเดนทางบนถนนเปนสวนใหญ พบกบปญหาเวลาการเดนทาง ไป

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

เสยเวลาสวนใหญไปกบชวตในรถยนต หรอการโดยสารพาหนะตางๆ จาเปนตองดแลสตวเลยง

แสนรกไวทบาน คงจะตองประสบณกบการจดสรรอาหารของสตวเลยงดวยเปนอยางยง

1.2 ปญหาและแรงจงใจ

สารนพนธนจงไดใหความสาคญของปญหาทเกดขนในขางตน จงไดเกดแนวความคดใน

การ สรางแบบระบบเพอชวยในการเขาไปจดสรรเรองอาหารของสตวเลยง ดวยระบบวงจร

อเลคโทรนค โดยนาบอรดเอนกประสงค อยางราสเบอรรพาย (Raspberry Pi) ซงเปนทนยม

และราคายอมเยาว มาเปนอปกรณควบคมการทางานของมอเตอร เพอออกแบบการจากดการ

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

หนาเวปเพจ ผานอปกรณสมารทโฟน คอมพวเตอรพซ หรอคอมพวเตอรสวนบคคล ในทกท ท

ยงคงสามารถเชอมเครอขายอนเตอรเนตได

1.3 วตถประสงคของสารนพนธ

เพอสรางระบบการใหอาหารสตวเลยงผานเวบเซรฟเวอร (Web Server) ผานอปกรณ

คอมพวเตอรและโมบายโดยใชราสเบอรรพาย (Raspberry Pi)

1.4 ขอบเขตของสารนพนธ

1) ออกแบบและสรางอปกรณวงจรควบคมรเลย เพอใชปดเปดมอเตอร ตามเวลาของ

การสงหมน เพอควบคมอปกรณใหอาหาร แบบสรางตวเลอกได

Page 9: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

2

2) สามารถสงงานการควบคมกลองเวบแคม (Webcam) บนราสเบอรรพาย

(Raspberry Pi) ผานทางเวบแอปพลเคชน (Web Application) โดยสงเลน และ

หยด เซอรวส (Service) ได

3) มหนาจอควบคมการสงใหอาหารตามปรมาณทกาหนด และมระบบตดตามดวย

กลองเวบแคม (Webcam) ใหใชงานไดงายผานทางเวบแอปพลเคชน (Web

Application)

4) สรางระบบการใหอาหารสตวเลยง ภายในเฉพาะระบบเครอขายระยะใกล

1.5 ประโยชนของสารนพนธ

1) เพอชวยดแลและจดสรร การใหอาหารสตวเลยง ในกรณทตดชวงเวลาทไมสะดวก

2) ไดศกษาการนาเทคโนโลยของบอรดราสเบอรรพาย (Raspberry Pi) มาใชในการ

ควบคมรเลย และมอเตอร มาสรางระบบควบคมการใหอาหารสตว

1.6 โครงสรางของสารนพนธ

สาหรบเนอหาของสารนพนธฉบบนจะถกแบงออกไดดงน

บทท 1 บทนากลาวถงปญหาทเกดขนในสถานการณ ใชระบบการใหอาหาร

สตวเลยง

บทท 2 ทฤษฎและหลกการทางาน เปนการศกษาการทางานของอปกรณตางๆ

ทจะนามาใชเปนขอมลเพอใชในการออกแบบระบบ

บทท 3 การออกแบบระบบและแสดงขนตอนการทางานของระบบในการ

ออกแบบระบบจะมข นตอนการทางานแตละข นตอนตางๆ เพอใหการทางานเปนไป

อยางมประสทธภาพ

บทท 4 การทดลองและผลการทดลองจะนาเอาระบบทออกแบบไวมาทดลองใช

เพอนาผลททดลองไดมาประเมนประสทธภาพของการทางาน

บทท 5 สรปผลและขอเสนอแนะ นาเอาผลทไดจากการทดลองการใชงาน เพอ

หาขอผดพลาดเพอเปนแนวทางในการปรบปรงแกไขใหดข นตอไป

Page 10: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

3

บทท 2

พนฐานและทฤษฎทเกยวของ

2.1 บอรดราสเบอรร (Raspberry Pi) [1]

บอรดราสเบอรร เปนบอรดคอมพวเตอร 32 บต ขนาดเลกเทากบเครดตการดรองรบ

ระบบปฎบตการ Linux ทพฒนาโดยนกออกแบบคอมพวเตอรชาวองกฤษ ชอ Eben Upton ท

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

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

เรมตนจงทาใหเปนทนยมรจกกนแพรหลายไปอยางรวดเรวนนเอง

2.1.1 คณสมบตทางเทคนคของบอรด Raspberry Pi B+

1) ใชซพ Soc Broadcom BCM2835 ซงรวม CPU, GPU และ SDRAM ไวใน

ตวถงเดยวกน

2) หนวยประมวลผลกลาง (CPU) 700 MHz ARM1176JZF-S core

3) หนวยประมวลผลภาพ (GPU) Broadcom VideoCore IV, OpenGL ES

2.0, OpenVG 1080P30 H.264 High-Profile Encode/decode

4) หนวยความจา SDRAM 512 MB

5) ขวตอ USB 2.0 จานวน 4 พอรต

6) ขวตอสญญาณภาพแบบแจค RCA และ HDMI เลอกใชอยางใดอยางหนง

7) ขวตอสญญาณเสยงโดยใชแจค 3.5 mm หรอ ผานทาง HDMI

8) คอนเนคเตอรสาหรบเชอมตออนพตเอาตพต (GPIO) และ UART (GPIO

ตางๆไมสามารถรบแรงดนอนพต 5 VDC ได สงสดไดแค 3.3 VDC

เทานน)

9) ระบบปฎบตการของบอรดจะทางานผาน SD CARD

10) ขวตอ LAN 10/100 Mbps.

11) ไฟเลยงบอรด 5 VDC กระแสอยางนอย 700 mA

12) ขนาดบอรด 85.0x56.0 mm.

Page 11: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

4

2.1.2 สวนประกอบของบอรด Raspberry Pi

รปท 2.1 สวนประกอบของบอรด Raspberry Pi B+

จากรปท 2.1 มรายละเอยดดงน

1) คอนเนคเตอร SD CARD ซงจะตดตงอยใตบอรด

2) คอนเนคเตอรสาหรบเชอมตออนพตเอาตพต (GPIO) และ UART ตาแหนง

ขาตางๆ

3) คอนเนคเตอรตอสญญาณเสยงโดยใชแจค 3.5 mm

4) LED แสดงสถานะตางๆ ของบอรด Raspberry Pi

5) คอนเนคเตอร USB 2.0 จานวน 4 พอรต

6) คอนเนคเตอร LAN 10/100 Mbps สาหรบเชอมตอกบระบบเครอขาย

7) คอนเนคเตอร CSI สาหรบเชอมตอกบโมดลกลอง

8) คอนเนคเตอร HDMI สาหรบเชอมตอสญญาณภาพและเสยง ทเชอมตอกบ

จอภาพทมข วตอแบบ HDMI เชน โทรทศนหรอจอมอนเตอร

9) ชพ SoC Broadcom BCM2835 ชงรวม CPU, GPU และ SDRAM ไวใน

ตวถงเดยวกน

10) คอนเนคเตอร DSI สาหรบเชอมตอกบจอภาพ

11) คอนเนคเตอร Micro USB สาหรบจายไฟเลยงใหบอรด

12) LAN Controller

1 12

8 3

5

11

7

2

10

4

6

9

Page 12: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

5

2.1.3 การจดเรยงขาของ GPIO (General-Purpose Input/ Output)

รปท 2.2 การจดขาของ GPIO Raspberry Pi B+

บอรด Raspberry Pi B+ มขาอนพตเอาตพตดจตอลหรอ GPIO สาหรบตดตอ

กบอปกรณภายนอกรวม 40 ขาโดยมการจดเรยงขามาตรฐานตามรปท 2.2 ดานซาย จะมการ

จดเรยงขาอนพตเอาตพต

2.1.4 ขนตอนการตดตงระบบปฎบตการของบอรด [2]

การตดตงระบบปฏบตการบน Raspberry Pi B+ ลงใน SD CARD มข นตอนดงน

1) ทาการดาวนโหลดไฟลอมเมจของระบบปฎบตการจากเวบของ Raspberry

Pi ทช อ Wheezy ใหเลอกโหลดเปน .Zip

Page 13: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

6

รปท 2.3 ระบบปฎบตการจากเวบของ Raspberry Pi

จากรปท 2.3 แสดงใหทราบวาเปนรน Raspbian Wheezy Version May 2015 และ

สามารถเลอกชนดไฟลในการดาวนโหลดไดสองแบบ คอ Torrent และ Zip ไฟล

2) เมอดาวนโหลดเสรจเรยบรอยทาการแตกไฟล จะไดไฟล *.img แสดงดงรป

รปท 2.4 การแยกไฟล จะไดไฟลนามสกล *.img

จากรปท 2.4 เปนชนดไฟลทถกแยกออกมาจากไฟลทดาวนโหลดในขนตอนท 1

3) ทาการดาวนโหลดโปรแกรม Win32DiskImager เพอใชในการเขยนและทา

การอมเมจไฟลลงใน SD CARD แสดงดงรป

Page 14: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

7

รปท 2.5 แสดงการดาวนโหลด Win32DidkImager

จากรปท 2.5 แสดงโปรแกรม Win32DidkImager ทจะนามาใชในการเขยนขอมลจาก

ไฟล ในขนตอนท 2 ลงใน SD Card ทเตรยมไว

4) นา SD CARD ขนาด 2GB ขนไป ทจะลงระบบปฎบตการไปเสยบเขาทตว

Card Reader จากนนใหเปดโปรแกรม Win32DiskImager คลกทไอคอน

โฟลเดอรเลอกแลวไปทอมเมจไฟลทดาวนโหลดมาดงรป

รปท 2.6 ทาการอมเมจไฟลลงใน SD CARD

5) รอจนโปรแกรมเขยนอมเมจเสรจเรยบรอยดงรปท 2.7

Page 15: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

8

รปท 2.7 แสดงการเขยนอมเมจเสรจเรยบรอย

6) เรมตนการตอใชงานบอรด Raspberry Pi หลงจากทไดทาการลงระบบ

ปฎบตการใน SD CARD เสรจเรยบรอยแลวทาการตอบอรดกบสาย

USB to TTL

รปท 2.8 แสดงการตอสาย USB to TTL ของบอรด Raspberry Pi B+

Page 16: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

9

จากรปท 2.8 แสดงการตอปลายสายของสาย USB to TTL โดยจะมทงหมด 4 สาย

ไดแก สายสแดง, สายสดา, สายสขาว และสายสเขยว โดยตอเขาท GPIO # 2, 6, 8 และ 10

ตามลาดบ

7) เมอเราทาการเปดระบบหลงจากนนจะแสดงขอมลการบตของระบบบอรด

Raspberry Pi

รปท 2.9 แสดงการตงคาของบอรด Raspberry Pi เขาใชดวยโปรแกรม PuTTY

จากรปท 2.9 ใชโปรแกรม PuTTY และตงคา Speed เปน 115200 เลอกชนดการ

เชอมตอเปน Serial กรณเลอกตอผานสาย USB To TTL

8) หลงจากนนบอรดจะทาการรบตใหมและใหใสลอคอน Raspberry login ให

ใส pi และกดปม Enter และใส Password เปน raspberry และกดปม

Enter

Page 17: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

10

2.2 หลกการท างานของรเลย (Relay) [3]

รเลย (Relay) เปนอปกรณทเปลยนพลงงานไฟฟาใหเปนพลงงานแมเหลก เพอใชใน

การดงดดหนาสมผสของคอนแทคใหเปลยนสภาวะ โดยการปอนกระแสไฟฟาใหกบขดลวด เพอ

ทาการปดหรอเปดหนาสมผสคลายกบสวตชอเลกทรอนกส ซงเราสามารถนารเลยไปประยกตใช

ในการควบคมวงจรตาง ๆ ในงานชางอเลกทรอนกส รเลย ประกอบดวยสวนสาคญ 2 สวนหลก

คอ

1) สวนของขดลวด (Coil) เหนยวนากระแสตา ทาหนาทสรางสนามแมเหลกไฟฟาให

แกนโลหะไปกระทงใหหนาสมผสตอกน ทางานโดยการรบแรงดนจากภายนอกตอครอมท

ขดลวดเหนยวนาน เมอขดลวดไดรบแรงดน (คาแรงดนทรเลยตองการขนกบชนดและรนตามท

ผผลตกาหนด) จะเกดสนามแมเหลกไฟฟาทาใหแกนโลหะดานในไปกระทงใหแผนหนาสมผสตอ

กน

2) สวนของหนาสมผส (Contact) ทาหนาทเหมอนสวตชจายกระแสไฟใหกบอปกรณท

ตองการ

2.2.1 จดตอใชงานมาตรฐาน ประกอบดวย

จดตอ NC ยอมาจาก normal close หมายความวาปกตปด หรอ หากยงไมจายไฟให

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

ทตองการใหทางานตลอดเวลา

จดตอ NO ยอมาจาก normal open หมายความวาปกตเปด หรอหากยงไมจายไฟให

ขดลวดเหนยวนาหนาสมผสจะไมตดกน โดยทวไปเรา มกตอจดน เขากบอปกรณหรอ

เครองใชไฟฟาทตองการควบคมการเปดปดเชนโคมไฟสนามหนอหนาบาน

จดตอ C ยอมากจาก common คอจดรวมทตอมาจากแหลงจายไฟ

Page 18: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

11

รปท 2.10 การตอใชงานหลอดไฟผานขน C และ NC

จากรปท 2.10 เปนลกษณะตวอยางการใชงานโดย ตอใชงานหลอดไฟผานขว C และ

NC เพอใหหลอดไฟยงคงตดสวางแมไมไดกดสวตช หากกดสวตซ สถานะหลอดไฟกจะดบลง

2.2.2 ประเภทของรเลย

แบงออกตามลกษณะการใชงานไดเปน 2 ประเภทคอ

2.2.2.1 รเลยกาลง (Power Relay) หรอมกเรยกกนวาคอนแทคเตอร

(Contactor or Magnetic contactor) ใชในการควบคมไฟฟากาลง มขนาดใหญกวารเลย

ธรรมดา

2.2.2.2 รเลยควบคม (Control Relay) มขนาดเลกกาลงไฟฟาตา ใชในวงจร

ควบคมทวไปทมกาลงไฟฟาไมมากนก หรอเพอการควบคมรเลยหรอคอนแทคเตอรขนาดใหญ

รเลยควบคม บางทเรยกกนงาย ๆ วา "รเลย"

2.3 ภาษาไพทอน (Python) [4]

ไพทอนเปนภาษาระดบสงภาษาหนง ทมความสามารถสงถกสรางขนในป 1989 โดย

Guido van Rossum ซงถกพฒนาขนโดยไมมการยดตดกบแพลตฟอรมคอสามารถรนภาษาไพ

Page 19: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

12

ทอนไดทงระบบ Unix, Linux, Windows หรอในระบบ FreeBSD ลกษณะภาษาเปนแบบ Open

Source เหมอนอยาง PHP

2.3.1 ความสามารถของภาษาไพทอน (Python)

- งายตอการเรยนรโดยภาษาไพทอนมโครงสรางของภาษาทไมซบซอน

เขาใจงายซงจะมโครงสรางคลายกบภาษา C โดยไพทอนถกสรางขนมา

โดยใชภาษา C ทาใหผทคนเคยภาษา C จะใชงานไดไมยากนนเองและตว

ของภาษายงไดมความยดหยนทาใหจดการงานดานขอความและ Text File

ไดเปนอยางด

- ไมตองเสยคาใชจายใดๆ ทงสนเพราะตวแปรภาษาไพทอนอยภายใต

ลขสทธ GNU นนเอง

- ใชไดหลายแฟลตฟอรมในชวงแรกภาษาไพทอนไดถกออกแบบมาใชกบ

ระบบ Unix แตวาในปจจบนไดมการพฒนาตวแปลภาษาไพทอน ใหใชได

กบระบบปฎบตการไดหลากหลาย เชน Linux, Windows 95, 98, ME, NT,

200

- ไพทอนไดถกสรางขนมาเพอเอาขอดของภาษาตางๆ เขามาไวดวยกน เชน

C, C++, Java, Perl

- ไพทอนเปนภาษาประเภท Service side Script คอจะมการทางานทางดาน

ฝ ง Server แลวสงผลกลบมายง Client ทาใหมความปลอดภยสง

2.3.2 หลกการท างานของไพทอน (Python)

เมอเราไดทาการเขยนโคดขนมาตามโครงสรางของโปรแกรมภาษาใดกตามถา

หากวาเราจะใหโคดเหลานนทางานไดมนจะตองมตวแปรภาษามาจดการแปลโคดคาสง เพอให

ทางานตามทเราตองการนนเอง โดยไดแบงเปน 2 ประเภทดงน

1) คอมไพเลอร (Compiler) เปนตวแปลภาษาสาหรบภาษา C, C++, Pascal

การทางานกคอจะตรวจสอบความผดพลาดของโคดคาสงตงแตตนจนจบ

หรอเรยกวาการคอมไพลถาไมมขอผดพลาดกจะทาการแปลโคดคาสงของ

เราใหเปนไฟลนามสกล .obj (Object File) จากนนกทาการแปลไฟล .obj

ใหเปนไบนารไฟล .exe เพอใหทางานตอไปตามการคอมไฟลของภาษา C

ดงรปตอไปน

Page 20: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

13

รปท 2.11 โครงสรางการคอมไฟลของภาษา C

2) อนเตอรพรเตอร (Interpreter) จะทางานเปนบรรทดตอบรรทด คออานโคด

คาสงมาบรรทดหนงแลวกทางานใหผลออกมาเลยดงรปตอไปน

รปท 2.12 โครงสรางการอนเตอรพรเตอร

2.4 ภาษาพเอชพ (PHP) [5]

2.4.1 โครงสรางภาษาพเอชพ (PHP)

ภาษา PHP มลกษณะเปน embedded script หมายความวาเราสามารถฝงคาสง PHP

ไวในเวบเพจรวมกบคาสง (Tag) ของ HTML ได และสรางไฟลทมนามสกลเปน .php, .php3

หรอ .php4 ซงไวยากรณทใชใน PHP เปนการนารปแบบของภาษาตางๆ มารวมกนไดแก C,

Perl และ Java ทาใหผใชทมพนฐานของภาษาเหลานอยแลวสามารถศกษา และใชงานภาษาน

ไดไมยาก

Page 21: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

14

รปท 2.13 ตวอยางโครงสรางภาษา PHP

2.4.2 ความสามารถของภาษาพเอชพ (PHP)

- เปนภาษาทมลกษณะเปนแบบ Open source ผใชสามารถ Download และนา Source

code ของ PHP ไปใชไดโดยไมเสยคาใชจาย

- เปนสครปตแบบ Server Side Script ดงนนจงทางานบนเวบเซรฟเวอร ไมสงผลกบ

การทางานของเครอง Client โดย PHP จะอานโคด และทางานทเซรฟเวอร จากนนจง

สงผลลพธทไดจากการประมวลผลมาทเครองของผใชในรปแบบของ HTML ซงโคด

ของ PHP นผใชจะไมสามารถมองเหนได

- PHP สามารถทางานไดในระบบปฎบตการทตางชนดกน เชน Unix, Windows, Mac

OS หรอ Risc OS อยางมประสทธภาพ เนองจาก PHP เปนสครปตทตองทางานบน

เซรฟเวอร ดงนนคอมพวเตอรสาหรบเรยกใชคาสง PHP จงจาเปนตองตดตงโปรแกรม

เวบเซรฟเวอรไวดวย เพอใหสามารถประมวลผล PHP ได

- PHP สามารถทางานไดในเวบเซรฟเวอรหลายชนด เชน Personal Web

Server(PWS), Apache, OmniHttpd และ Internet Information Service (IIS) เปนตน

- ภาษา PHP สนบสนนการเขยนโปรแกรมเชงวตถ (Object Oriented Programming)

- PHP มความสามารถในการทางานรวมกบระบบจดการฐานขอมลทหลากหลาย ซง

ระบบจดการฐานขอมลทสนบสนนการทางานของ PHP เชน Oracle, MySQL,

FilePro, Solid, FrontBase, mSQL และ MS SQL เปนตน

- PHP อนญาตใหผใชสรางเวบไซตซงทางานผานโปรโตคอลชนดตางๆ ได เชน LDAP,

IMAP, SNMP, POP3 และ HTTP เปนตน

- โคด PHP สามารถเขยน และอานในรปแบบของ XML ได

Page 22: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

15

บทท 3

การออกแบบระบบ

ในบทนจะนาเอาแนวทางปญหาทเกดขนมาออกแบบระบบและวเคราะหเพอใชในการ

แกปญหาจากบทท 1 โดยสารนพนธฉบบนจะเปนแนวทางการพฒนาซอฟตแวรโปรแกรมและ

ฮารดแวรข นมาเพอจะนาไปแกไขปญหาและความตองการดงกลาว

3.1 โครงสรางและการออกแบบระบบ

ระบบสามารถแบงออกเปน 2 สวนใหญๆ ดงน

1) สวนแรก คอสวนซอฟตแวร (Software) สวนนจะประกอบดวยการทา

โปรแกรมหลก และโปรแกรมยอยเพอควบคมอปกรณสวนตางๆ

2) สวนทสอง คอสวนฮารดแวร (Hardware) เปนการประกอบอปกรณ ใหเปน

ชนงาน

รปท 3.1 องคประกอบของระบบทงหมดโดยรวม

Page 23: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

16

จากรปท 3.1 แสดงใหเหนวา การทางานของระบบจะตดตอกบผใชผานทางเวบ

เบราวเซอร เพอสงคาสงใหกบบอรดราสเบอรรพาย สงการกบรเลย และกลอง webcam ทางาน

ตามทกาหนดไว

รปท 3.2 สวนประกอบของระบบ Automatic Box Feeder

จากรปท 3.2 แสดงภาพรวมของสวนประกอบของระบบ Automatic Box Feeder โดย

ในสวนของซอฟตแวร นนจะแบงออกเปน 2 สวน คอสวนทหนง โปรแกรมหลก (Main

Program) ซงเปนสวนของหนาเวบแสดงผล ถกสรางดวยภาษา HTML และ PHP เปนหลก

ประกอบดวยฟงกชน (Functions) ไดแก การลอกอนเขาใชงาน (Login), กลอง webcam, และ

ระบบจดการใหอาหาร (Feeder) สวนทสอง โปรแกรมยอย (Sub Program) ประกอบดวย

Code ภาษาไพทอน กากบการทางานแตละตวเลอก ไดแก ฟงกชนกลอง เปด และปด เซอรวส

, ฟงกชนการใหอาหาร (Feed) ควบคมรเลย เพอใหรเลย สงการหมนของมอเตอร ตามตวเลอก

ท 1, 2 และ 3

Page 24: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

17

3.2 รายละเอยดโครงสรางขององคประกอบ

รายละเอยดของโครงสรางและองคประกอบของแตละสวน ไดมการอธบายรายละเอยด

ในหวขอตางๆ ทง 3 หวขอ โดยอางองจากรปท 3.1 ดงตอไปน

3.2.1 สวนเชอมตอผใชงาน (User) กบคอมพวเตอร (Computer) หรอมอถอ (Mobile)

สวนนจะเปนการควบคมคอนโทรลการทางาน ผานชองทางโปรแกรม IE Browser หรอ

Google Chrome จากนนกจะเขาสหนาเมนของระบบในการเขาไปสงการระบบ เชน การเปด-

ปด เซอรวสกลองเวบแคม, การสงใหอาหารตามปรมาณตางๆ ทต งตวเลอกไว

3.2.2 สวนควบคมวงจรระบบและประมวลผลของเครอง (Programing)

ในสวนนจะเปนการรบเอาคาสง จากสวนผใชงาน โดยจะรบเอาคาสงจากเวบเบราวเซอร

ให PHP เปนผจดการ ตดตอโปรแกรมทสรางดวยภาษาไพทอน ในตวบอรดราสเบอรร ทางาน

3.2.3 สวนควบคมการ ON /OFF เครอง (Relay Circuit)

ในสวนนจะมหนาทหลกควบคมวงจร Relay เมอสวนทสอง สงโปรแกรมทถกพฒนา

ดวยภาษาไพทอน ทางานแลวนน สวนวงจร Relay จะเรมทางาน ทาใหไฟฟาครบวงจร สงผล

ใหมอเตอรทาการหมนอปกรณ ตามเวลาทกาหนดจากชดโปรแกรมควบคม

3.3 การออกแบบโปรโตคอลทใชเชอมตอกนระหวางอปกรณจากยเซอร กบแผงวงจร

Raspberry Pi

รปท 3.3 โครงสรางการเชอมตออปกรณจากยเซอร กบ Raspberry

Page 25: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

18

จากรปท 3.3 แสดงการออกแบบโปรโตคอล เชอมตอระหวางอปกรณจากผใช กบบอรด

ราสเบอรร โดยทจากหนาเวบผใช สงชอผใช และรหส ไปยง Web Server เพอสงฟงกชนหนา

main.php ใหผใช และรอรบคาสงจากผใช เพอสงใหชดคาสง Python ทางาน

ตารางท 3.1 ตารางแสดงชดฟงกชน (Functions) การทางานของระบบ

ล าดบ ชอฟงกชน

(Functions)

คา

ฟงกชน

(Value)

ผลลพธ (Action) หมายเหต

1 Webcam ON ‚on‛ On service motion

2 Webcam OFF ‚off‛ Off service motion

3 Feed 100g ‘1’ เปดรเลย 4 วนาท

4 Feed 200g ‘2’ เปดรเลย 8 วนาท

5 Feed 300g ‘3’ เปดรเลย 12 วนาท

จากตารางท 3.1 แสดงชดฟงกชนการทางานของระบบทม ทงหมด 5 ฟงกชน โดยแต

ละฟงกชน มการทางานแยกสวนกน

3.4 การออกแบบการเชอมตอสงงานกนระหวาง Raspberry กบ Relay Circuit

หลกการทางานอย 2 สวนทสาคญ มดงน

3.4.1 สวนแรกคอสวนทเปนอปกรณ บอรด Raspberry Pi

สวนนจะเปนการใชคาสงในการโปรแกรมสงงานออกไปเพอใหวงจรรเลย

ทางาน โดยการเขยนโปรแกรมสงงานดวยภาษา Python ควบคม Pin Number ของ

GPIO ใหทางาน ในรปแบบเปนสญญาณทางไฟฟา Signal คอ 1 กบ 0 นนเองโดยท

เครองจะทาการ Interpreter คอแปลงคาสงแตละบรรทด ใหเปนภาษา Machine Code

เพอใหเครองเขาใจคาสงนนแลวหลงจากนนกจะทาการสงขอมลออกไปทางพอรตของ

ขา Pin ทกาหนดไว ในทนการออกแบบไดมการระบ Pin Number ดงน

- ให Pin 7 ของ GPIO เปน Output โดยกาหนดเปน Signal 3.3 VDC

- ให Pin 2 ของ GPIO เปน เปนแหลงจายไฟ +5 VDC ใหกบ Relay

- ให Pin 6 ของ GPIO เปนขา Ground ของจงจร Relay

Page 26: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

19

รปท 3.4 แสดงสวนของหนา Login ของเวบไซตของระบบ Box Feeder

รปท 3.5 แสดงสวน Main Program ของใชงานของระบบ Box Feeder

Page 27: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

20

3.4.2 สวนท 2 วงจรรเลย (Relay Circuit) และชดควบคม

สวนน เปนวงจรอเลกทรอนกส โดยจะมหลกการทางานเชอมตอสญญาณ

Signal กบทาง GPIO ของบอรด Raspberry Pi รวมชดใหอาหารสตวเลยง โดยจะม

อปกรณดงน

- มอเตอร ชนดทดเฟอง 12 VDC ความเรวรอบ 75 รอบตอนาท

- ชดควบคมความเรวมอเตอร (Dimmer) 1 ชด

- ชดปรบแรงดนไฟฟา (Regulator) 12 VDC 1 ชด

- บอรด Raspberry Pi B+ 1 ชด

- Adapter 5 VDC 1 ตว

- Webcam Logitech C-170 1 ตว

- รซสเตอร (Resistor) 1 K โอรม 2 ตว

- ทรานซสเตอร (Transistor) BC337 1 ตว

- แผนปรนทวงจร PCB สาเรจรป 1 แผน

- สายไฟ 1 ชด

- เทปพนสายไฟ 1 มวน

- หมอแปลง 220 VAC เปน 12 VDC

- ชดเกบอาหารสตวเลยง 1 ชด

3.5 การออกแบบ Hardware ในสวนของวงจรรเลย (Relay Circuit)

สวนนเปนสวนของการออกแบบวงจรและการประกอบวงจร เพอนาไปควบคมระบบการ

จายไฟฟาใหกบมอเตอรไฟฟากระแสตรง ขนาด 12 โวลต

Page 28: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

21

รปท 3.6 การออกแบบวงจรรเลยโดยรวม (Relay Circuit)

จากรปท 3.6 แสดงวงจรรเลยโดยรวม โดยมหลกการทางานดงน สวนแรกบอรดราส

เบอรร ควบคม Relay Circuit โดยใชวธการปลอยกระแสไฟฟา จาก GPIO-2 (5V), GPIO-6

(GND) และ GPIO-7 (3.3V) เมอปลอยกระแสไฟฟาเขามายงขา GPIO แลววงจร Relay Circuit

จะสามารถทางานเสมอนสวตซ ชนดหนง สงผลใหวงจรสวนทสอง นนคอ มอเตอร ครบวงจร

Page 29: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

22

รปท 3.7 ชดอปกรณและวงจรไฟฟาโดยรวม

จากรปท 3.7 แสดงชดอปกรณตนแบบ และการจดวงจรไฟฟา ทใชจรง โดยสามารถ

แจกแจงรายละเอยดได ดงน

หมายเลข 1 แสดงตาแหนงหมอแปลง ทาหนาทแปลงไฟฟากระแสสลบ 220

VAC เปนไฟฟากระแสตรง 12 VDC

หมายเลข 2 แสดงตาแหนงเรกกเลเตอร (Regulator) ทาหนาทปรบความ

เสถยรของกระแสไฟฟากระแสตรง 12 VDC

หมายเลข 3 แสดงตาแหนงดมเมอร (Dimer) ทาหนาทปรบลดทอน

กระแสไฟฟาใหลดลงตามตองการ

หมายเลข 4 แสดงตาแหนงชดวงจรรเลย

หมายเลข 5 แสดงตาแหนงของบอรดราสเบอรรพาย (Raspberry Pi)

หมายเลข 6 แสดงตาแหนงกลองเวบแคม (Webcam) ทตอจาก Port USB ตว

บอรดราสเบอรรพาย

หมายเลข 7 แสดงตาแหนงมอเตอร ชนดทดเฟองสามารถรบนาหนกได

ประมาณ 2 กโลกรม ขนาด 12 VDC

1

6 7 8

9

4

5 3

2

10 11

Page 30: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

23

หมายเลข 8 แสดงตาแหนงชดแกนเพลาเหลกขนาด 4 มม. ตอเขากบทอพวซ

(PVC) ขนาด 1 นวเพอประกอบเปนแกนรบอาหาร

หมายเลข 9 แสดงตาแหนงตวถงใสอาหารเมดสาหรบสตวเลยง

หมายเลข 10 แสดงตาแหนงถาดรองอาหารจากตวถง

หมายเลข 11 แสดงตาแหนงลาโพง ซงจะมเสยงจากไฟล mp3 ทจะเลนจาก

บอรดราสเบอรรพาย สงออกทาง Audio Output 3.5 mm.

รปท 3.8 แสดงผงของระบบ Flow Chart GPIO

จากรปท 3.8 เปนผงของระบบการทางานของขา GPIO ขอบอรดราสเบอรร โดยทเมอ

กาหนดคาเรมตนเปน ‚1‛ เทากบ ‚true‛ กระแสไฟจะไหลปลอยจากขา GPIO ทเราเลอกไว และ

จะหยดปลอยเมอคาเปน ‚0‛ เทากบ ‚false‛ ซงเปนหลกการทไมซบซอนและมคาเปน ‚1‛ หรอ

‚0‛ เทานน

Page 31: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

24

บทท 4

การทดลองและผลการทดลอง

จากการทไดคดและออกแบบระบบไวจากบททผานๆ มานน ทาใหมการสรางวงจรและ

การการควบคมระบบเพอใชในการแกปญหา ตามแนวความคด ซงแสดงใหเหนถงกระบวนการ

ทางานของของการเชอมตอในระบบเครอขายคอมพวเตอร กบ Raspberry Pi เพอกาหนดการ

ทางานของวงจรรเลย และจานวนรอบการหมนของมอเตอรนนเอง

รปท 4.1 แสดงชดอปกรณทดลอง

จากรปท 4.1 แสดงการตดตงอปกรณเขาชดกบโครงสรางไมประกอบ โดยการแสดงผล

ของอปกรณ จากการสงงานผานหนาเวบโปรแกรมหลก เมอกดสงใหอาหาร บอรดราสเบอรร

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

อาหารทอยในทอหลนมาทถาดอาหาร เมอหมนตามเวลาทไดกาหนด (ตามฟงกชน) บอรดราส

เบอรรกจะเลนไฟลเสยง MP3 ทไดบรรจไวในบอรด

Page 32: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

25

4.1 การทดลองแบงออกเปน 2 ตอน ดงน

1) ทดลองใชงานของวงจรรเลย ในการสงงานมอเตอร โดยจะแบงเปนทงหมด 3

ตวเลอก ไดแก 4, 8 และ 12 วนาท การทดสอบนจะใชตวเลอกบนหนาเวปแอฟพร

เคชน (Application) แลวให Code PHP เปนตวสงใหคาสงภาษาไพทอนในบอรด

ราสเบอรรพายทางาน เพอดผลการทดลอง

2) ทดลองเปด-ปด เซอรวสบนบอรดราสเบอรร เพอควบคมของกลอง Webcam ผาน

สาย USB to TTL serial และทดสอบการทางาน

4.1.1 การทดสอบการหมนมอเตอร

รปท 4.2 แสดงการทดสอบการหมนรอบมอเตอร

จากรปท 4.2 แสดงการจบเวลาการหมนของมอเตอร โดยทเรมนบจากเรมกดปม Feed

300g จากหนาเมนโปรแกรม จนกระทงหยดทางาน ซงเวลาทต งไวในโหมดนคอ 12 วนาท และ

คาการทดสอบแสดงดงตารางท 4.1

Page 33: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

26

ตารางท 4.1 แสดงผลการทดสอบการหมนรอบมอเตอร

ล าดบ รายการ เวลาการหมน

(วนาท) หมายเหต

1 ตวเลอกการใหอาหาร 100 กรม 4.2 ตามเวลาทกาหนด

2 ตวเลอกการใหอาหาร 200 กรม 8.3 ตามเวลาทกาหนด

3 ตวเลอกการใหอาหาร 300 กรม 12.2 ตามเวลาทกาหนด

จากตารางท 4.1 พบวาเวลาทได ในแตละโหมด เกนคาทกาหนด นน จะมชวงเวลา

หนวงในขนตอนการกดสงการจากเมนโปรแกรม แตภาพรวมถอวาเปนคาทรบได

4.1.2 การทดสอบเซอรวสการท างานของ Webcam

รปท 4.3 แสดงการทดสอบเซอรวสของ webcam สถานะ Stop ผานทาง TTL

จากรปท 4.3 เปนการสงใหเซอรวส motion มสถานะ stop ดวยคาสงบน Command

Line : sudo service motion stop เพอทาการหยดการเลนของกลอง Webcam และเมอเขาใช

ผาน Sever web ดวย port : 8081 (กาหนดจากคาเรมตน) จะเหนไดวาไมมภาพเคลอนไหว

แสดงอย

Page 34: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

27

รปท 4.4 แสดงการทดสอบเซอรวสของ webcam สถานะ Start ผานทาง TTL

จากรปท 4.4 เปนการสงใหเซอรวส motion มสถานะ start ดวยคาสงบน Command

Line : sudo service motion start เพอทาการเลนของกลอง Webcam และเมอเขาใชผาน

Sever web ดวย port : 8081 (กาหนดจากคาเรมตน) จะเหนไดวามภาพเคลอนไหวแสดงอย

Page 35: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

28

รปท 4.5 แสดงการทดสอบเซอรวสของ webcam สถานะ Stop ผานทาง Web Application

รปท 4.6 แสดงการทดสอบเซอรวสของ webcam สถานะ Start ผานทาง Web Application

Page 36: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

29

จากรปท 4.5 และ 4.6 เปนการสงใหเซอรวส motion มสถานะ start/ stop ดวยคาสงบน

เมนโปรแกรม เพอทาการเลน/ หยด ของกลอง Webcam โดยเมอรบคาจากปม ‚Play‛ หรอ

‚Stop‛ ภาษา PHP จะทาหนาทตดตอให Code Python ทางานแลวแสดงผลลพธออกมา

ตารางท 4.2 แสดงผลการทดสอบเซอรวสของ webcam

ล าดบ รายการ สถานะ หมายเหต

1 TTL-Command Line ‚Start‛ Service ‚Start‛

2 TTL-Command Line ‚Stop‛ Service ‚Stop‛

3 Web Application ‚Play‛ Service ‚Start‛

4 Web Application ‚Stop‛ Service ‚Stop‛

จากตารางท 4.2 แสดงผลลพธทไดจากการทดสอบ วาทงสองแนวทางโดย TTL-

Command Line และสงการจากเมนโปรแกรม ทางานและไดผลลพธทตรงกน

Page 37: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

30

บทท 5

สรปผลการทดลอง

การนาเทคโนโลย มาประยกตใชกบชวตประจาวนนน สงผลใหชวตปจจบน มความ

คลองตวมากขน ตอบสนองภาระกจทจะตองทาไดรวดเรวเสมอนทาดวยตนเอง ดงจะเหนไดจาก

สารนพนธ ชดนทนาเอาคอมพวเตอรขนาดจวอยาง บอรดราสเบอรรพาย มาควบคมการทางาน

รเลย เพอสงมอเตอร ควบคมการสงการใหอาหารตามปรมาณทเหมาะสม โดยสงงานผานหนา

เวบแอฟพรเคชน งายตอการสงการ และตดตามผลดวยกลองเวบแคม ซงเปนเซอรวสบนตว

บอรดราสเบอรรพาย

5.1 ประโยชนจากการท าสารนพนธ

จากผลการดาเนนงานตงแตบทท 1 – 4 ไดรายละเอยดสรปผลการทดลองงานเรองการ

สงงานมอเตอร ซงควบคมผานระบบเครอขาย โดยสามารถนาไปใชงานไดจรงกบระบบ Box

Feeder การสงการใหอาหารสตวเลยงได

5.2 ปญหาและอปสรรค

ชดอปกรณ Raspberry Pi ยงมขอจากดในสวนความเรวประมวลผลทคอนขางตา แตไม

ชามาก และจะมประสทธภาพในโหมด Command Line (Terminal) จะเรวขน และระบบบอรด

ราสเบอรรพาย เปนระบบปฏบตการ Linux OS การ Configuration บางอยางจาเปนตองใช

คาสง command line ยากตอผไมคนเคย

5.3 แนวทางการน าไปพฒนาตอ

สาหรบระบบ Box Feeder นเราสามารถนาไปพฒนาตอในเรองการประยกตใชกบการ

ใหอาหารชนดอนๆ กบสตวเลยงชนดอนได โดยใชหลกการทางานเดยวกน

สาหรบตวบอรดราสเบอรรพาย นน ขอดของอปกรณ คอ มความเลกกระทดรด,

ประหยดพลงงาน, ใชซอฟแวรแบบฟรสขสทธท งหมด, สามารถทาเปนเซฟเวอรได, สามารถ

SSH/SFTP ได, มขา GPIO เชอมตอกบบอรดคอนโทรลเลอรชนดอน พรอมทงมหนาจอ GUI

และ Command Line (Terminal) ดวยคณสมบตทยดหยน จงเปนอปกรณทเปนทนยม ในการ

นาไปสรางสรรผลงานไดหลากหลาย

Page 38: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

31

เอกสารอางอง

[1] เรมตน Raspberry Pi ตอนท 1 [online], Available : http://www.sathittham.com/

raspberry-pi/rpi-ep-1/

[2] Raspberry Pi สาหรบมอใหมกกๆ [online], Available : http://www.ezenow.com/

raspberry-pi

[3] ร เลย (Relay) [online], Available : http://www.psptech.co.th/

%E0%B8%A3%E0%B8%B5%E0%B9%80%E0%B8%A5%E0%B8%A2%E0%B9%8Crela

y%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%

E0%B8%A3-15696.page

[4] ภาษาไพทอน [online], Available : http://python.cmsthailand.com/basic_python.html

[5] ภาษา PHP [online], Available : http://www.mwit.ac.th/~jeab/40201/ch3.php

Page 39: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

32

ภาคผนวก ก

Page 40: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

33

ภาคผนวก ก

การตดตงโปรแกรมบนบอรดราสเบอรรพาย

หลงจากการตดตงระบบปฏบตการ Raspbian Wheezy ลงใน SD Card แลวนน ทาง

ผจดทาขอนาเสนอการตดตงโปรแกรมทตองใช ลงบอรดดวยสาย USB to TTL serial ดงจะ

แสดงขนตอนดงน

ขนตอนท 1

เตรยมสาย USB to TTL Serial โดยตอสายสแดงท GPIO NO.2, สายสดาท GPIO

NO.6, สายสขาวท GPIO NO.8 และสายสเขยวท GPIO NO.9 ตามรปท ก.1

รปท ก.1 การตอสาย USB to TTL serial

ขนตอนท 2

สงเกตตาแหนง Port ของสาย USB to TTL (ในการทดลองนอยตาแหนง COM3) แลว

เปดโปรแกรม PuTTY ขนมาตงคาดงรป ก.2 แลวคลก Open

Page 41: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

34

รปท ก.2 การตงคา PuTTY

ขนตอนท 3

เขาส Command Line พรอมลอกอน (Login: pi Password: raspberry) เปนรหส

เรมตนของบอรด ในกรณทไมเปลยนคาเรมตน ดงรปท ก.3

รปท ก.3 หนาจอ Command Line ของบอรดราสเบอรรพาย

Page 42: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

35

ขนตอนท 4

เปลยน IP บนราสเบอรรพาย ถาหากตองการกาหนดแบบ Static IP ดวย

พมพคาสง sudo nano /etc/network/interfaces แลวทาการแกไขไฟล กาหนดคาตามตองการ

ดงตวอยางในรปท ก.4 กด Ctrl-X เพอออก และกด Y เพอบนทก พมพ sudo reboot เพอทา

การรสตารท และตอสาย LAN เขากบชอง Ethernet ของบอรดราสเบอรรพาย เพราะจาเปนตอง

ตออนเตอรเนตเวลาลงโปรแกรม

รปท ก.4 การตงคา IP แบบคงทใหกบบอรดราสเบอรรพาย

ขนตอนท 5

เรมการลงโปรแกรมทจาเปนตองใชในการทดลองตามลาดบดงน

1) พมพคาสง sudo apt-get update เพออฟเดท Raspberry Pi (ถามถามยนยนกด Y)

2) พมพคาสง sudo apt-get upgrade เพออฟเดท Raspberry Pi (ถามถามยนยนกด Y)

3) พมพคาสง sudo apt-get install python-pip สาหรบการเขยนโปรแกรม Python (ถามถาม

ยนยนกด Y)

4) พมพคาสง sudo apt-get install apache สาหรบทา Web Sever

5) พมพคาสง sudo apt-get install php5 สาหรบเขยน Web ดวย PHP

6) พมพคาสง sudo apt-get install motion สาหรบใชเปดกลอง Webcam

7) พมพคาสง sudo apt-get install mpg321 สาหรบใชเลนไฟล MP3

Page 43: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

36

การจดการไฟล

การจดการไฟลบนบอรดราสเบอรรพาย ในการทดลองนใชโปรแกรม FileZilla และตงคา

โปรแกรม ดงรป ก.5 เพอใชในการถายโอนไฟลจาก PC สบอรดราสเบอรรพาย

รปท ก.5 การตงคาโปรแกรม FileZilla ผาน SFTP (SSH File Transfer Protocol)

Page 44: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

37

ภาคผนวก ข

1. Code Program สวนหนาเวบเพจ File: index.php

รปท ข.1 หนาเวบลอกอน (index.php)

จากรป ข.1 เปนหนาเวบหลก ซงไดสรางฟงกช นในการเชคผใช และพาสเวรดแบบงาย

โดยตงเพยง 1 user 1 password (User: admin, Pass: 1111) เทานน โดยแสดงตาม Code

File: index.php ดานลาง

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>Welcome Box Feeder</title>

<style type="text/css">

<!--

Page 45: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

38

body {

background-image: url();

background-color: #ECECEC;

}

.style1 {

font-size: x-large;

font-weight: bold;

}

.style9 {color: #FF0000}

.style12 {color: #F07726}

.style13 {color: #000000; }

.style14 {color: #B90000}

.style15 {font-size: xx-small}

.style16 {font-size: x-small; }

.style19 {font-size: xx-large}

.style20 {font-size: large}

.style21 {font-size: x-large}

.style22 {font-size: medium}

-->

</style></head>

<body>

<form action="" method="post" enctype="multipart/form-data" name="form1">

<p align="center" class="style1 style14"> <span class="style19">BOX</span> <span

class="style19">F</span>E<span class="style20">E<span

class="style21">D</span>E</span><span class="style22">R</span>!</p>

<table width="31%" border="0" align="center">

<tr background="images/BGLOGIN.jpg">

<td colspan="2"><div align="center" class="style13"></div>

<div align="center" class="style13"><strong>LOG IN </strong></div></td>

Page 46: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

39

</tr>

<tr background="images/BGLOGIN.jpg">

<td nowrap><div align="left" class="style13"><strong>User : </strong></div></td>

<td><div align="center" class="style13">

<input name="username" type="password" id="username">

<label><label></label></label></div></td>

</tr>

<tr background="images/BGLOGIN.jpg">

<td nowrap><div align="left" class="style13"><strong>Password :

</strong></div></td>

<td><div align="center" class="style13">

<input name="password" type="password" id="password">

</div></td>

</tr>

<tr background="images/BGLOGIN.jpg">

<td><div align="center"><span class="style12"><span class="style9"><span

class="style13"></span></span></span>

</div></td>

<td><div align="center" class="style13"> <input name="submit" type="submit"

id="submit" value="submit">

</div></td>

</tr>

</table>

<div align="center">

<p>&nbsp;

<?php

$username = $_POST['username'];

Page 47: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

40

$password = $_POST['password'];

$submit = $_POST['submit'];

if($submit == "submit")

{

if($username == "admin" AND $password == 1111)

{

echo "กาลงนาทานเขาสระบบ Box Feeder! โปรดรอสกคร.......";

echo '<meta http-equiv= "refresh" content="3; url=main.php"/>';

} else {

echo "โปรดตรวจสอบรหสผาน หรอพยายามลองอกครง";

echo '<meta http-equiv= "refresh" content="1; url=index.php"/>';

}

}

?>

</p>

<p><img src="images/dog1.png" width="213" height="180" align="middle">

</p>

</div>

<p>&nbsp;</p>

</form>

<p align="right" class="style15">&nbsp;</p>

<p align="right" class="style15">&nbsp;</p>

<p align="right" class="style15">&nbsp;</p>

<p align="right" class="style15">&nbsp;</p>

<p align="right" class="style16">IS2-MSNE-MSMUT-1/2558</p>

<p align="right" class="style16">by 5617660004</p>

</body>

</html>

Page 48: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

41

2. Code Program สวนหนาเวบเพจโปรแกรมหลก File: main.php

รปท ข.2 หนาเวบโปรแกรมหลก (main.php)

จากรป ข.2 เปนหนาเวบโปรแกรมหลก ประกอบดวยฟงกชนสงงานทงหมด ไดแก

ฟงกชนกลองเวบแคม โดยกดปม Play เพอเลน และปม Stop เพอหยด และฟงกชนการให

อาหารแบบสามตวเลอก 100, 200 และ 300 กรม โดยกดปม Feed! เมอสนสดการทางาน

ฟงกชนใหอาหาร ฟงกชนเลนไฟลเสยง MP3 จะเรมทางาน และสนสดเมอจบไฟลเสยงอตโนมต

โดยแสดงตาม Code File: main.php ดานลาง

<html>

<body>

<center>

สวนแสดงผลของไฟล

embed.php

Page 49: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

42

<table width="43%" border="0" align="center" cellpadding="1" cellspacing="0"

background="images/dog2.png">

<tr>

<th width="322" height="10" scope="col">&nbsp;</th>

<td width="150" rowspan="9" scope="col"><img src="images/bull-terriar.png"

width="196" height="276"></td>

</tr>

<tr>

<th scope="col"><span class="style20">BOX FEEDER! </span></th>

</tr>

<tr>

<th height="5" scope="col">&nbsp;</th>

</tr>

<tr>

<td bordercolor="#FF00FF"><div align="center"><span class="style1"><img

src="http://192.168.1.99:8081/embed.php" alt="" width="320" height="240" hspace="0"

vspace="0" border="1" align="top"></span>

</div></td>

</tr>

<tr>

<td align="center" valign="middle" nowrap><div align="center" class="style21">

&gt;&gt;&gt; กลอง webcam &lt;&lt;&lt; </div></td>

</tr>

<tr>

<td height="46">

<form name="form1" method="post" action="">

<div align="center">

<input name="camon" type="submit" id="camon" value="Play">

<?php

Page 50: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

43

if(isset($_POST['camon']))

{

exec('python /home/pi/camon.py');

}

?>

&nbsp; &nbsp;

<input name="camoff" type="submit" id="camoff" value="Stop">

<?php

if(isset($_POST['camoff']))

{

exec('python /home/pi/camoff.py');

}

?>

</div>

</form>

</td>

</tr>

<tr>

<td align="center" valign="middle"><span class="style18">**** ตวเลอกสาหรบสงให

อาหาร **</span><span class="style22">*</span>* </td>

</tr>

<tr>

<td><form name="form2" method="post" action="">

<div align="center">

<select name="select">

<option value='1'>อาหาร 100g</option>

<option value='2'>อาหาร 200g</option>

<option value='3'>อาหาร 300g</option>

</select>

&nbsp; &nbsp;

Page 51: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

44

<input name="feed" type="submit" id="feed" value="Feed!">

<?php

switch($_POST['select']) {

case '1':

exec('python 100g-1.py');

break;

case '2':

exec('python 200g-1.py');

break;

case '3':

exec('python 300g-1.py');

break;

}

?>

</div>

</form></td>

</tr>

<tr>

<td><form name="form3" method="post" action="">

<input name="imageField" type="image" src="images/tree.png" width="200"

height="40" border="0">

<input name="imageField" type="image" src="images/art_42189620.png"

width="120" height="100" border="0">

</form></td>

</body>

</html>

3. Code Program สวนเสรมโปรแกรมหลก File: embed.php

จากรป ข.2 จะสงเกตเหนสวนเสรมเพอดภาพของกลองเวบแคม เมอเซอรวสกลอง

ทางานกจะแสดงผลออกมาเปนภาพจรง (Real Time) ณ ขณะเวลานน

Page 52: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

45

โดยแสดงตาม Code File: embed.php ดานลาง

</head>

<body>

<?PHP

system('sudo raspistill -hf -w 320 -h 240 -o /var/www/imageembed.jpg -t 0');

$filename = "imageembed.jpg";

$handle = fopen($filename, "rb");

$contents = fread($handle, filesize($filename));

fclose($handle);

echo $contents;

?>

</body>

</html>

4. Code Program สวนภาษาไพทอน (Python)

Code ทถกเขยนดวยภาษาไพทอน ในการทดลองม 2 ฟงกชน ไดแกฟงกชนกลองเวบ

แคม และฟงกชนใหอาหาร

- ฟงกชนกลองเวบแคม ประกอบดวยไฟล camon.py และ camoff.py

รปท ข.3 แสดง Code camon.py

Page 53: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

46

รปท ข.4 แสดง Code camoff.py

- ฟงกชนใหอาหาร พรอมเลนไฟลเสยง MP3 ประกอบดวย 100g-1.py คกบ 100g.py,

200g-1.py คกบ 200g.py และ 300g-1.py คกบ 300g.py

รปท ข.5 แสดง Code 100g-1.py และ 100g.py

Page 54: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

47

รปท ข.6 แสดง Code 200g-1.py และ 200g.py

Page 55: Jirapat Thongtem - msit.mut.ac.th · 2.1 บอร์ดราสเบอร์รี่ (Raspberry Pi) 3 2.1.1 คุณสมบัติทางเทคนิคของบอร์ด

48

รปท ข.7 แสดง Code 300g-1.py และ 300g.py