RaspberryPi_Intro-TH121024

Page 1

    1 Raspberry Pi 

Raspberry Pi   บอรดไมโครคอมพิวเตอรแบบเแผนเดียวที ่ บรรจุ ่ ความสามารถไวเพียบ รองรับระบบปฏิบัติการ Linux บรรจุลงใน SD การด สําหรับการ พัฒนาไปสูบอรด Embedded Linux พรอมจุดเชื่อมตออุปกรณ อินพุตเอาตพุตทั้งผานพอรต USB, LAN, HDMI, ชองสัญญาณภาพ และ GPIO สําหรับตอกับวงจรหรืออุปกรณอิเล็กทรอนิกส

1. คุณสมบัติทางเทคนิค  ชิ ปควบคุ มหลั ก : Broadcom BCM2835 หรื อเที ยบเท า ซึ ง่ รวมซี พ ยี ,ู หน วยประมวลกราฟ กหรื อ GPU

และหน วยความจํ า SDRAM ไว ภายในตั วถั งเดี ยวกั น  หน วยประมวลผลกลางหรื อ CPU : ARM11 คอร ARM1176JZF-S ความเร็ ว 700MHz

หรื อ GPU : Broadcom VideoCore IV หรื อเที ยบเท า รองรั บการแสดงผล  หน วยประมวลกราฟก ผา นจอภาพที่ ใชจ ุ ดตอ แบบ HDMI  หน วยความจํ า SDRAM : 512MB  จุ ดตอ : USB 2.0 (2 พอร ต), แจ ก RCA และ HDMI เอาตพ ุ ตสัญ ญาณวิ ดี โอสํ าหรับ ต อกั บโทรทั ศน

หรื อจอแสดงผลที่ มี จุ ดตอ แบบ RCA ตัว เมี ยหรื อ HDMI, จุ ดตอ เอาต พุ ตเสี ยงเป นแจ กหู ฟ ง 3.5 มม., จุ ดต อ อี เ ธอร เ น็ ตหรื อจุ ดต อระบบ LAN, คอนเน็ กเตอร หรื อจุ ดต อพอร ตอิ นพุ ตเอาตพ ุ ต (General Purpose Input/Output : GPIO) ที่ มี ขาตอ บั ส SPI (Serial Peripheral Interface Bus), I2C, I2S, ขาสัญ ญาณรั บส งข อมู ลอนุ กรมหรื อ UART และซ็ อกเก็ ตของ SD การ ดสํ าหรั บเสี ยบ SD การ ดที ต่ ดิ ตั ง้ ระบบ ปฏิ บั ต กิ ารเรี ยบร อยแล ว  ความต องการไฟเลี้ ยง : +5V 700mA เป นอย างน อย  ขนาด : 85.60 x 53.98 มม. หรื อ 3.370 x 2.125 นิ้ ว)


  2Raspberry Pi 

2. สวนประกอบของบอรด Raspberry Pi


    3 Raspberry Pi 

3. การเริมต ่ นใชงานบอรด Raspberry Pi เตรี ยมอุ ปกรณ ดั งนี ้ 1. บอร ด Raspberry Pi 2. SD การ ด สํ าหรับ เก็ บข อมู ลรวมไปถึ งระบบปฏิ บั ตกิ าร ควรมี ความจุ ตงั้ แต 4GB คลาส 4 ขึ้ นไป ซึ่ งก็ คื อ SDHC การ ด จะเป นแบบ FAT32 หรื อ NTFS ก็ ได 3. สาย microUSB ใชส ํ าหรับ ต อกั บแหล งจ ายไฟ +5V 700mA ที่ มี จุ ดตอ แบบ USB ไม ควรใช แหล งจ ายไฟจากพอร ต USB ของคอมพิ วเตอร เนื่ องจากมี ความสามารถในการจ ายกระแสไฟฟ าไม เพี ยงพอ 4. สาย HDMI หรื อ RCA (อย างใดอย างหนึ่ ง) สํ าหรับ ต อกั บจอแสดงผล 5. คี ย บอร ดและเมาสแ บบ USB สํ าหรับ ควบคุ มการทํ างานของบอร ด Raspberry Pi 6. สาย LAN (มี หรื อไม มี ก็ ได ) สํ าหรับ เชือ่ มตอ กั บอิ นเทอร เน็ ต 7. ลํ าโพงที่ มี สายต อเป นปลั๊ กหู ฟ ง 3.5 มม. เพื่ อต อกั บแจ กเอาตพ ุ ตสัญ ญาณเสีย งของบอร ด Raspberry Pi (มี หรื อไม มี ก็ ได )

4. ติดตังข ้ อมูลใหกับ SD การด (ในกรณีจัดซือ้ Raspberry Pi Starter kit จาก inex ใหขามไป ยังหัวขอ 4.9 ไดเลย เพราะไดจัดการไวใหพรอมใชงานแลว) (4.1) ดาวน โหลด Win32 Disk Imager จาก http://www.softpedia.com/get/CD-DVD-Tools/ Data-CD-DVD-Burning/Win32-Disk-Imager.shtml (4.2) จากนั้ นดาวน โหลดไฟล Raspbian ”wheezy” อั นเป นไฟล ระบบปฏิบ ั ตกิ าร จาก http:// www.raspberrypi.org/downloads (4.3) แตกไฟล ของ Raspbian “wheezy” ออกมาจะได ไฟล ที่ มี นามสกุ ลเป น .img


  4Raspberry Pi 

(4.4) ต อ SD การ ดเข ากั บเครื อ่ งคอมพิ วเตอร (ผ านตั วอ านการ ด) แล วเป ดโปรแกรม Win32 Disk Imager ขึ น้ มา โปรแกรมจะค นหา Drive ของ SD การ ดให อ ตั โนมั ต ิ โดยในตั วอย างจะเป น Drive I คลิ ก ปุ ม สั ญลั กษณ ร ปู แฟ มสี น าํ้ เงิ น

(4.5) แล วเลื อกไฟล Raspbian “wheezy” ที ด่ าวน โหลดมา

(4.6) คลิ กที่ ปุ ม Write เพื่ อเขี ยนข อมู ลลงใน SD การ ด โดยโปรแกรมจะมี หน าตา งแจ งเตือ น ให คลิ ก Yes เพื่ อเริ่ มดํ าเนิ นการ


    5 Raspberry Pi 

(4.7) รอจนกว าการเขี ยนข อมู ลลงบน SD การ ดเสร็ จ

(4.8) ถอด SD การ ดจากตั วอ านการ ด เพื่ อนํ ามาเสี ยบเข ากับ บอร ด Raspberry Pi

(4.9) ต อสายคี ย บ อร ด, เมาส , จอภาพ และแหล งจ ายไฟให เรี ยบรอ ย จากนั น้ จ ายไฟใหก บั บอร ด Raspberry Pi


  6Raspberry Pi 

(4.10) จากนั้ นบอร ด Raspberry Pi จะเริ่ มทํ างาน รอจนกว าจะขึ้ นหน าล็ อกอิ น คลิ กข อมู ลต อ ไปนี้ เพื อ่ ทํ าการล็ อกอิ น Username: pi Password: raspberry

(4.11) หลั งจากล็ อกอิ นเรี ยบร อยแล ว ใชง านบอร ด Raspberry Pi ได ทั นที

(4.12) กรณีท ี่ ตอ งการใชง านแบบกราฟก ให พิ มพ คํ าสัง่ startx จากนั้ นระบบจะเข าสูห น าตา ง ที ม่ ี รู ปพื้ นหลั งเป นราสเบอร รี เพื อ่ เริ ม่ การใชง านในโหมดกราฟ ก


    7 Raspberry Pi 

5. การใชงานกับระบบเครือขายและเชือมต ่ ออินเทอรเน็ต (5.1) เมื อ่ ต องการเชื อ่ มต ออิ นเทอร เน็ ตให ตอ สาย LAN เข าที่ จ ดุ ต อ LAN ซึ ง่ เป นคอนเน็ กเตอร RJ-45 จะใชง านได ทั นที โดยไม ตอ งทํ าการตัง้ ค าใดๆ (ทัง้ นี้ ผู ใชง านตอ งมี การเป ดใชบ ริ การอิ นเทอร เน็ ตจากผูใ ห บริ การด วย)

(5.2) เมื อ่ เชื อ่ มตอ อิ นเทอร เน็ ตแล ว ใหเ ป ดโปรแกรม LXTerminal ขึ น้ มา แล วใช คํ าสั ง่ sudo apt-get update เพื่ อทํ าการอั ปเดตโปรแกรมล าสุด


  8Raspberry Pi 

(5.3) ใชค ํ าสัง่ sudo apt-get upgrade กดปุ ม Y ตามด วยกดปุ ม Enter เพื่ อยื นยั น แล ว รอดาวน โหลดไฟล จากนั้ นระบบจะถามว า ตอ งการทํ าอย างไรกั บแพ็ กเกจ กดปุ ม Y แล ว Enter เพื่ อ ติด ตัง้ ทั บไฟล เดิ ม แล วรอจนกระทั่ งการอั ปเดตเสร็ จสิ น้


    9 Raspberry Pi 

6. การติดตั้งโปรแกรมอืนๆ ่ ลงใน SD การดเพื่อใชงานกับบอรด Raspberry Pi (6.1) ในกรณีท ี่ ตอ งการติ ดตัง้ โปรแกรมอื่ นๆ เพิ่ มเติม ให ใชค ํ าสัง่ sudo apt-get install (ชื่อโปรแกรม)

ผู ใชง านจะตอ งตรวจสอบโปรแกรมหรื อซอฟตแ วร ที่ นํ ามาติ ดตัง้ ก อนว า โปรแกรม นั้ นๆ สามารถทํ างานบนระบบฏิ บั ตกิ ารที่ ตดิ ตัง้ ให กั บบอร ด Raspberry Pi ได หรื อไม (6.2) ตัว อย างการติ ดตัง้ โปรแกรม Chromium Browser ให กั บบอร ด Raspberry Pi พิ มพ ใช คํ าสั ง่ sudo apt-get install chromium-browser

จากนั้ นกดปุ ม Y ตามด วย Enter เพื่ อยื นยั นการติด ตัง้

(6.3) เมื่ อติ ดตัง้ เสร็ จแล ว เมื่ อต องการเรี ยกใชง าน ให ไปที่ Start > Internet > Chromium Web Browser


  10Raspberry Pi 

7. การใชงาน GPIO เบืองต ้ นดวยภาษา C 7.1 ดาวนโหลดไฟลที่ตองใชงาน (7.1.1) ดาวน โ หลดไฟล wiringPi.tgz จาก http://project-downloads.drogon.net/files/ wiringPi.tgz เก็ บไว ใน /tmp ด วยคํ าสัง่ cd /tmp wget http://project-downloads.drogon.net/files/wiringPi.tgz

(7.1.2) กรณีท ี่ ไม สามารถดาวน โหลดไฟล ผา นคํ าสัง่ ได ให เป ดเว็ บบราวเซอร ใดๆ ก็ ได ขึ้ นมา แล วเข าไปที่ URL ที่ ระบุ ในข อ (7.1) เพื่ อดาวน โหลดแทน


    11 Raspberry Pi 

(7.1.3) นํ าไฟล มาเก็ บไว ที่ /tmp โดยใชค ํ าสัง่ cd /tmp tar xfz wiringPi.tgz cd wiringPi/wiringPi make sudo make install cd ../gpio make sudo make install


  12Raspberry Pi 

7.2 การจัดขาของ GPIO บอร ด Raspberry Pi มี ขาอิ นพุต เอาต พุ ตดิจ ติ อลหรื อ GPIO สํ าหรั บติ ดตอ กั บอุ ปกรณ ภายนอก รวม 17 ขาโดยมี การจั ดเรี ยงขามาตรฐานตามรู ปซ าย และหากใช โปรแกรม WiringPi จะมี การจั ดเรีย ง ขาอิ นพุ ตเอาตพ ุ ตใหม ตามรู ปทางขวา

SDA SCL

PCM_DOUT


    13 Raspberry Pi 

7.3 ตัวอยางการใชงานขาพอรต GPIO เพื่อควบคุมการกะพริบของ LED (7.3.1) สร างไฟล ขึ้ นมาก อน โดยให ชอื่ ไฟล ว า blink.c ด วยการพิ มพ คํ าสัง่ ดั งนี้ cd sudo nano blink.c

สํ าหรับ คํ าสัง่ cd ใชก ํ าหนดที่ อยู ของไฟล ที่ ตอ งการสร าง ซึ่ งในตั วอย างจะให เก็ บไว ที่ /home/pi และในกรณี ที่ มี ไฟล ดั งกล าวอยู แ ล ว จะเป นการแก ไขไฟล นั้ นๆแทน โปรแกรม nano ก็ จะถู กเป ดขึ้ นมาพร อมกั บสร างไฟล blink.c ขึ้ นมา (7.3.2) ให พิ มพ คํ าสัง่ ตั วอย างดั งต อไปนี้ #include <wiringPi.h> #include <stdio.h>

int main (void) { int pin = 7; printf(“Raspberry Pi wiringPi blink test\n”);

if (wiringPiSetup() == -1) exit (1);

pinMode(pin, OUTPUT);

while (1) { printf(“LED On\n”); digitalWrite(pin, 1); delay(250); printf(“LED Off\n”); digitalWrite(pin, 0); delay(250); }

}

เปนโปรแกรมขับ LED กะพริบ โดยกําหนดใหเปลี่ยนสถานะลอจิกทุกๆ 250 มิลลิวินาที และมี การแสดงขอความบนหนาจอดวย


  14Raspberry Pi 

(7.3.3) ตอ วงจรดั งนี้


    15 Raspberry Pi 

(7.3.4) ใหก ดคี ย  Ctrl + x เพื อ่ ออกจากโปรแกรม จะมี การสอบถามว า ตอ งการบั นทึ กไฟล ก อ น ป ดหรื อไม ให กด Y เพื่ อทํ าการบั นทึ ก

(7.3.5) โปรแกรมจะให ตงั้ ชื่ อที่ ตอ งการบั นทึ ก ให กํ าหนดเป นไฟล blink.c เหมื อนเดิ ม แล ว กดคี ย Enter เพื่ อบั นทึ ก แล วป ดโปรแกรม


  16Raspberry Pi 

(7.3.6) ทํ าการคอมไพล ไฟล blink.c ด วยคํ าสัง่ cc –o blink blink.c –L/usr/local/lib –lwiringPi

โดยที่ blink คือชือไฟล ่ ทีทํ่ าการคอมไพลเรียบรอยแลว blink.c คือ ซอรสโปรแกรมทีต่ องการคอมไพล

(7.3.7) ถ าไม มี ข อผิ ดพลาดใดๆ ก็ จะคอมไพล ได โดยอาจมี ข อความแจ งเตื อนเกิ ดขึ้ น (7.3.8) เมื่ อต องการให โปรแกรมทํ างาน ใชค ํ าสัง่ sudo ./blink

(7.3.9) โปรแกรมก็ จะเริ่ มทํ างาน ถ าตอ งการหยุ ดโปรแกรมใหก ดคี ย Ctrl+z


    17 Raspberry Pi 

7.4 ตัวอยางการรับคาสวิตชจากภายนอก (7.4.1) ขั้ นตอนทั้ งหมดทางซอฟต แวร จะเหมื อนกั บตั วอย างก อนหน า แตใ ห เปลี่ ยนคํ าสัง่ โปรแกรมเป นดั งนี ้ #include <wiringPi.h> #include <stdio.h> void main (void) { int pin_switch = 14;

printf (“Raspberry Pi wiringPi button LED test\n”);

if (wiringPiSetup() == -1) exit (1);

pinMode(pin_switch, INPUT);

while (1) { if (digitalRead (14) == 0){ // button pressed printf (“Button Pressed\n”); delay(500); }

}

(7.4.2) สํ าหรับ วงจรให ตอ ดั งนี้


  18Raspberry Pi 

(7.4.3) เมื่ อมี การกดสวิ ตช บอร ด Raspberry Pi จะส งข อความแสดงหน าจอดั งรู ป

8. การนํา SD การดที่ติดตั้งระบบปฏิบัติการแลวกลับไปใชงานปกติ เนื อ่ งจากการติ ดตั ง้ ระบบปฏิ บ ตั กิ าร Raspbian “wheezy” จะมี การแบ งพื น้ ที ่ SD การ ดออกเป น หลายส วน เมื่ อผู อ านจะนํ า SD การ ดกลั บไปใชง านปกติ เหมื อนเดิ ม จะพบว าพืน้ ที่ SD การ ดลดลง จึ งต องทํ าการฟอร แมต SD การด ใหม ก อน หากทํ าการการฟอร แมตด วย Windows Explorer จะไม ส ามารถคื นพื้ นที่ ทั้ งหมดมาได จึ งต องใชโ ปรแกรมที่ มี ชอื่ ว า SD Formatter ดาวน โหลดมาใช งานได ฟรี จาก https://www.sdcard.org/downloads/formatter_3/


    19 Raspberry Pi 

จะเห็ นว าพืน้ ที่ ของ SD การด ในภาพตัว อย างมี พื้ นที่ เหลื อเพี ยง 56MB เท านั้ น ให คลิ กที่ ปุ ม Option แล วเลื อก FORMAT SIZE ADJUSTMENT เป น ON แล วคลิ กปุ ม OK จากนั้ นคลิ กปุ ม Format โปรแกรมก็ จะฟอร แมตการด ใหม แล วคื นพื้ นที่ ทั้ งหมดของ SD การ ดให กลั บมาเหมื อนดิ ม

สํ าหรั บกรณี ที่ ตอ งการลงระบบปฏิ บั ตกิ ารแทนของเดิ มใน SD การ ดเพื่ อนํ าไปใชก ั บบอร ด Raspberry Pi อี กครั้ ง ไม จํ าเป นต องทํ าการฟอร แมตแต อย างใด ใหใ ชโ ปรแกรม Win32 Disk Imager เขี ยนขอ มู ลทั บลงไปไดเ ลย



Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.