[แชร์เทคนิค] ติดตั้ง Raspberry Pi แบบ Headless — Headless Raspberry Pi Installation
รู้จัก Raspberry Pi: Raspberry Pi คือคอมพิวเตอร์บอร์ดเดี่ยวที่ทำงานบน Linux ตัวเล็กนิดเดียว แต่มีพอร์ตในตัวมากมาย เช่น USB, HDMI, กล้อง และโมดูล Wi-Fi ระบบนิเวศสำหรับการพัฒนาก็ครบครัน เอาไปทำอะไรได้หลายอย่าง รอบนี้ผมซื้อ Echo Dot มา และวางแผนจะเชื่อมกับอุปกรณ์อินฟราเรดในบ้าน เลยหยิบ Raspberry Pi 3 ที่ซื้อไว้ก่อนหน้านี้ออกมาเล่น

ขอโทษจริงๆ ที่บทความก่อนหน้านี้ไม่ค่อยได้เรื่อง บทความนี้มีสาระขึ้นมาหน่อย หวังว่าจะช่วยเพื่อนๆ ที่เพิ่งเข้าวงการ Raspberry Pi ได้
บทความนี้จะบันทึกวิธีติดตั้ง Raspberry Pi แบบไม่ต่อจอ (Headless) และเชื่อมต่อผ่าน ssh เป้าหมายคือใช้มือถือเชื่อมต่อ Raspberry Pi ที่บ้านได้แม้อยู่ข้างนอก Raspberry Pi สนุกจริงๆ รีบไปซื้อมาสักเครื่องเพื่อทำเป็นเซิร์ฟเวอร์ส่วนตัวเล็กๆ กันเถอะ
1. รู้จัก Raspberry Pi
Raspberry Pi คือคอมพิวเตอร์บอร์ดเดี่ยวที่ทำงานบน Linux ตัวเล็กนิดเดียว แต่มีพอร์ตเชื่อมต่อในตัวมากมาย

เช่น USB, HDMI, กล้อง, GPIO ที่ใช้ร่วมกับเซนเซอร์ได้ รวมถึงโมดูลบลูทูธและ Wi-Fi
ระบบนิเวศสำหรับการพัฒนาก็ครบครัน เอาไปทำอะไรได้หลายอย่าง
รอบนี้ผมซื้อ Echo Dot มา และวางแผนจะเชื่อมกับอุปกรณ์อินฟราเรดในบ้าน เลยหยิบ Raspberry Pi 3 ที่ซื้อไว้ก่อนหน้านี้ออกมาเล่น
ข้อมูลแนะนำและตัวอย่างการใช้งาน ดูได้ที่นี่ ผมเองเจอไอเดียสนุกๆ อยู่หลายอย่าง เช่น สร้างซูเปอร์คอมพิวเตอร์ หรือ Echo Dot
นอกจากนี้ยังมีอีกเยอะมาก ค้นหานิดเดียวก็เจอ เพราะฉะนั้นสนุกมากๆ จริงๆ
2. เตรียมตัวก่อนติดตั้ง Raspberry Pi
ถ้ายังไม่ได้ซื้อ Raspberry Pi แนะนำให้ซื้อ Pi 3 จะได้ไม่ต้องซื้อการ์ดไวไฟเพิ่ม! และบทความนี้ก็อิง Pi 3 เป็นหลักด้วย
อีกอย่าง แนะนำอย่างยิ่งให้ซื้อจาก Taobao ถูกกว่ากันเยอะ บอร์ดละไม่ถึง NT$1,000
ซื้อมาแล้ว การติดตั้งก็ยังยุ่งยากอยู่บ้าง เพราะต้องเตรียมอุปกรณ์จุกจิกเพียบ ทั้งคีย์บอร์ด เมาส์ จอ และสาย LAN
แต่! ตอนนี้เราจะติดตั้งแบบ Headless คือข้ามอุปกรณ์วุ่นวายพวกนี้ไป แล้วสั่งให้ Raspberry Pi รันขึ้นมาเลย!
ถึงจะง่ายขึ้นเยอะ แต่ก็ยังต้องเตรียมของอยู่บ้าง lol
รายการอุปกรณ์ที่ต้องใช้มีดังนี้

1. เตรียม Raspberry Pi 3 ไว้หนึ่งเครื่อง
2. เตรียมการ์ดหน่วยความจำ 8G / 16G ไว้หนึ่งใบ (ผมซื้อ 16G)
3. เตรียมสายไฟม้วนเก็บไว้ (micro USB แบบสายชาร์จ Android รุ่นเก่า ราคาไม่ถึง NT$100)
4. เตรียมตัวแปลง SD card to USB หนึ่งอัน
5. เตรียมสาย LAN ไว้หนึ่งเส้น
เตรียมวัตถุดิบครบแล้ว อันดับแรกตั้งกระทะให้ร้อน ใส่น้ำมันหนึ่งช้อนใหญ่ แล้วเผาให้น้ำมันร้อนราวหกส่วน
3. เขียนไฟล์อิมเมจลงการ์ดหน่วยความจำ
Raspberry Pi มีระบบปฏิบัติการให้เลือกหลายแบบ ตอนเลือกผมลังเลระหว่าง Raspbian กับ Ubuntu MATE หลังจากอ่านข้อมูลมาบ้างก็เลือกตัวแรก เพราะมีเอกสารเยอะ เข้ากันได้ดีกว่า และเปิดปิดเครื่องได้เร็วกว่า
อีกอย่าง มือใหม่อย่างเราใช้ซอฟต์แวร์ทางการไปก่อนดีที่สุดแหละ

เอาล่ะ ไปที่เว็บไซต์ทางการ ดาวน์โหลด Raspbian Stretch with desktop แล้วคลิก Download ZIP มือใหม่ระวังนะ อย่าโหลดเวอร์ชัน Lite มา เพราะตัวนั้นไม่มีเดสก์ท็อป!
ระหว่างรอดาวน์โหลด เสียบการ์ดหน่วยความจำเข้าคอมพิวเตอร์ไว้ก่อนได้ พอดาวน์โหลดเสร็จก็แตกไฟล์ จะได้ไฟล์อิมเมจ (.img)
วิธีเขียนอิมเมจมีหลายแบบ ผมใช้ etcher ส่วนผู้ใช้ Mac ใช้ Apple Pi Baker ได้ แต่โปรแกรมนี้ไม่ได้อัปเดตมานานแล้ว ผมเลยใช้แค่ฟอร์แมตการ์ดหน่วยความจำ
Etcher ใช้ง่ายและเข้าใจได้ทันที ผมจะไม่ดูถูกสติปัญญาทุกคนด้วยการอธิบายละกัน QQ
ถึงตรงนี้ คุณน่าจะเขียนไฟล์อิมเมจลงการ์ดหน่วยความจำเรียบร้อยแล้ว
4. ตั้งค่า SSH ของ Raspberry Pi
ขั้นนี้เราจะเปิดสิทธิ์ SSH ใน Raspberry Pi เพื่อให้พอเปิดเครื่องและต่อเน็ตแล้ว เราจะเข้าไปผ่าน SSH ได้
เสียบการ์ดหน่วยความจำที่เขียนอิมเมจแล้วเข้าไปอีกครั้ง จะเห็นว่าชื่อการ์ดเปลี่ยนเป็น boot ให้เพิ่มไฟล์ชื่อ ssh ไว้ใน boot โดยไม่ต้องมีเนื้อหา แค่เปิด Sublime แล้วบันทึกไฟล์เปล่าชื่อ ssh ลงใน boot

ถึงตรงนี้ ssh เสร็จแล้ว ไปตั้งค่า Wi-Fi ต่อได้ ถ้าคุณใช้ Linux นอกจาก boot แล้วน่าจะเห็นอีกไดรฟ์หนึ่ง
ไดรฟ์นั้นคือที่ที่เราจะแก้ค่าเริ่มต้นของเครือข่าย
ถ้าไม่ได้ใช้ Linux ดาวน์โหลดตัวนี้ได้ มันช่วยให้ boot จาก USB ได้ แต่ผมว่ายุ่งยากไปหน่อย สู้หยิบสาย LAN ออกมา แล้วให้ Raspberry Pi ต่อเน็ตที่บ้านไปก่อนดีกว่า
5. ตั้งค่าการเชื่อมต่อเครือข่ายของ Raspberry Pi
อันดับแรก เสียบการ์ดหน่วยความจำที่เขียนอิมเมจแล้วเข้า Raspberry Pi ต่อสาย LAN และสายไฟ Raspberry Pi จะเปิดเครื่องเอง เราเตอร์ที่บ้านน่าจะแจก IP ให้ Raspberry Pi อัตโนมัติ ตรงนี้เราต้องเข้าหน้าจัดการเราเตอร์เพื่อหา IP นั้น
ปกติแค่พิมพ์ 192.168.0.1 หรือ 192.168.1.1 ในเบราว์เซอร์ก็จะเห็นหน้าจัดการแล้ว ชื่อบัญชีมักเป็น admin รหัสผ่านมักเป็น password หรือ 1234 ลองเช็กจากรุ่นเราเตอร์ที่บ้านดูอีกที
ของผมพอล็อกอินแล้วก็เจอแบบนี้

ผมจึงพิมพ์คำสั่งนี้ในเทอร์มินัลของโน้ตบุ๊กที่ต่อเครือข่ายเดียวกัน
ssh pi@192.168.0.14
เชื่อมต่อสำเร็จจะมีให้ใส่รหัสผ่าน รหัสของผมคือ raspberry ของคุณก็เหมือนกัน
แล้วก็จะเห็นหน้านี้!!!

พอเข้าเซิร์ฟเวอร์ Raspberry Pi ได้แล้ว ก็แก้การตั้งค่าเครือข่ายได้ เริ่มจากพิมพ์
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
คุณจะเห็นครึ่งบนแบบนี้ ตั้งแต่ network ลงไปต้องเพิ่มเอง
ssid: ชื่อ Wi-Fi ที่บ้านคุณ
ขั้นนี้เท่ากับบอก Raspberry Pi ว่าต่อไปเปิดเครื่องเมื่อไรให้หา Wi-Fi นี้ แล้วเชื่อมต่อด้วยรหัสผ่านนี้
ต่อไปเราต้องให้ Raspberry Pi กำหนด IP ที่อยากได้เองแบบเผด็จการ พิมพ์ในเทอร์มินัลว่า
sudo nano /etc/dhcpcd.conf
เปิดแล้วเลื่อนลงไปล่างสุด เพิ่มข้อความต่อไปนี้
interface eth0
static ip_address=192.168.0.100/24
static routers=192.168.0.1
static domain_name_servers=8.8.8.8
interface wlan0
static ip_address=192.168.0.101/24
static routers=192.168.0.1
static domain_name_servers=8.8.8.8
eth0 คือ IP ที่กำหนดสำหรับการเชื่อมต่อผ่านสาย ส่วน wlan0 คือ IP ที่กำหนดสำหรับการเชื่อมต่อ Wi-Fi
static ip_address ให้ใส่ IP ที่อยากให้ Raspberry Pi ยึดไว้ ตั้งเลขไหนก็ได้ระหว่าง 10 ถึง 200 แต่ต้องระวังเลข 0 ตัวนั้น ต้องเช็กก่อนว่า Raspberry Pi อยู่ในเครือข่ายย่อย 0 ซึ่งโดยหลักก็คือเครือข่ายย่อยของ IP ที่คุณใช้เข้าเราเตอร์เมื่อกี้
static routers ต้องระวัง ต้องใส่ IP ที่คุณใช้เข้าเราเตอร์เมื่อกี้
ยกตัวอย่าง ถ้าเมื่อกี้คุณพิมพ์ 192.168.10.1 เพื่อเข้าเราเตอร์ คุณต้องใส่อะไร?
static ip_address=192.168.10.101/24
static routers=192.168.10.1
แค่นี้ก็เสร็จเรียบร้อย! จากนั้นพิมพ์
sudo reboot
ออกจาก Raspberry Pi แล้ว ครั้งหน้าที่เชื่อมต่ออย่าลืมใช้
ssh pi@192.168.0.100
6. ส่งท้าย
Raspberry Pi ทำอะไรได้เยอะมาก ทั้งสร้างบริการแชทบอท ทำเป็นตัวดึงข้อมูลเว็บ (crawler) ทำฐานข้อมูลขนาดจิ๋ว หรือควบคุมเครื่องใช้ไฟฟ้าในบ้าน ล้วนเป็นการใช้งานที่ใช้ได้จริง
ถ้าบทความนี้มีประโยชน์ ช่วยกดปรบมือให้หน่อยนะครับ ขอบคุณครับ
-






![[แชร์เทคนิค] Python 101](/assets/605852e084fb2346c3ea1559/60d97a7ac780931f83b3a365_60a5dbb5df894306f2930b52_manja-vitolic-gKXKBY-C-Dk-unsplash%20(1)-p-1080.jpeg)













