Blog

[แชร์เทคนิค] ติดตั้ง Raspberry Pi แบบ Headless — Headless Raspberry Pi Installation

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

ติดตั้ง Raspberry Pi แบบ Headless

ขอโทษจริงๆ ที่บทความก่อนหน้านี้ไม่ค่อยได้เรื่อง บทความนี้มีสาระขึ้นมาหน่อย หวังว่าจะช่วยเพื่อนๆ ที่เพิ่งเข้าวงการ Raspberry Pi ได้

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

1. รู้จัก Raspberry Pi

Raspberry Pi คือคอมพิวเตอร์บอร์ดเดี่ยวที่ทำงานบน Linux ตัวเล็กนิดเดียว แต่มีพอร์ตเชื่อมต่อในตัวมากมาย

คอมพิวเตอร์บอร์ดเดี่ยว Raspberry Pi ในเคสใสที่มีพัดลมด้านใน แสดงฮาร์ดแวร์ที่บทความนี้แนะนำ

เช่น 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

รายการอุปกรณ์ที่ต้องใช้มีดังนี้

ตัวอย่างการจัดวางอุปกรณ์ที่ต้องใช้สำหรับการติดตั้งแบบ Headless ได้แก่ Raspberry Pi การ์ดหน่วยความจำ แฟลชไดรฟ์ USB สาย LAN และอะแดปเตอร์จ่ายไฟ

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 แสดงเวอร์ชันเดสก์ท็อป เวอร์ชันพร้อมซอฟต์แวร์แนะนำ และเวอร์ชัน Lite เลือกอิมเมจแล้วดาวน์โหลดไปเขียนลงการ์ดหน่วยความจำได้

เอาล่ะ ไปที่เว็บไซต์ทางการ ดาวน์โหลด 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

ตัวจัดการไฟล์แสดงไดเรกทอรี boot ของการ์ดหน่วยความจำและไฟล์เปล่าชื่อ ssh ที่ใช้เปิด SSH ของ Raspberry Pi

ถึงตรงนี้ 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 ลองเช็กจากรุ่นเราเตอร์ที่บ้านดูอีกที

ของผมพอล็อกอินแล้วก็เจอแบบนี้

รายการอุปกรณ์ของเราเตอร์แสดงที่อยู่ของ Raspberry Pi คือ 192.168.0.14 ใช้ยืนยันการเชื่อมต่อเครือข่าย

ผมจึงพิมพ์คำสั่งนี้ในเทอร์มินัลของโน้ตบุ๊กที่ต่อเครือข่ายเดียวกัน

ssh pi@192.168.0.14

เชื่อมต่อสำเร็จจะมีให้ใส่รหัสผ่าน รหัสของผมคือ raspberry ของคุณก็เหมือนกัน

แล้วก็จะเห็นหน้านี้!!!

เทอร์มินัลแสดงการล็อกอินเข้าโฮสต์ Linux ของ Raspberry Pi สำเร็จ พร้อมพรอมต์ pi@homecontrol ตัวอย่างหน้าจอหลังเชื่อมต่อผ่าน SSH

พอเข้าเซิร์ฟเวอร์ 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

[แชร์เทคนิค] Python 101

พูดถึงการเขียนโปรแกรม หลายคนใช้ห้านาทีแรกเรียน print(“hello world!”) ดูเหมือนสนุก แต่จริงๆ แล้วไม่มีประโยชน์เลย แล้วทำไมวิศวกรซอฟต์แวร์ทุกคนถึงสอนแบบนี้? คำตอบง่ายมาก เพราะพวกเขาไม่อยากให้คุณเขียนโปรแกรมเป็นแล้วมาแย่งงาน แต่ผมไม่เหมือนใคร ผมจะเปิดเผยเคล็ดลับสุดยอดของการเป็นวิศวกรซอฟต์แวร์ให้รู้กันเลย

Khan LeeCTO
การแบ่งกลุ่มผู้ใช้ในแชทบอท LINE ของโคเหวินเจ๋อ
2019-03-11

[แชร์เทคนิค] เลือกตั้งจบแล้ว มาเล่าการแบ่งกลุ่มผู้ใช้ในแชทบอท LINE ของโคเหวินเจ๋อ

วิสกี้ยังแบ่งกลุ่มได้ แล้วทำไม KP จะแบ่งกลุ่มผู้ใช้บน LINE ไม่ได้!? เราจึงได้ลุงโคสไตล์ไอเลย์ นายกฯ โคสไตล์สเปย์ไซด์ และศาสตราจารย์โคสไตล์แคมป์เบลทาวน์ การทำแชทบอทนี้ต้องฝ่าโจทย์หลายข้อ ทั้งทราฟฟิกมหาศาลแบบฉับพลันที่ติดตัวนายกฯ มาแต่เกิด การสร้างโมดูลความหมายที่หลากหลาย และการบริหารแบบแบ่งกลุ่ม

Khan LeeCTO
อีเวนต์ออฟไลน์ฟรีที่มีผู้เข้าร่วม 80% ผ่านชุมชนแชต
2020-10-21

จัดอีเวนต์ออฟไลน์ฟรีให้มีผู้เข้าร่วม 80% ผ่านชุมชนแชตได้อย่างไร?

2020 TeleLens DemoDay จบลงอย่างราบรื่น! ขอบคุณทุกคนที่มาร่วมงาน วันนั้นฝนตกจนเรากังวลเรื่องอัตราการเข้าร่วมของอีเวนต์ฟรี แต่สุดท้ายอัตราเช็กอินอยู่ที่ 83% ในเมื่อเป็น TeleLens DemoDay ก็ต้องโชว์ว่า Telegram ทำอะไรได้บ้าง ทั้งการลงทะเบียนออนไลน์ การเช็กอินหน้างาน และเกมระหว่างงานจึงทำผ่าน Telegram bot ทั้งหมด แล้วเราทำอะไรไปบ้าง?

ILING WuProduct Marketing Manager
ติดต่อเรา

เริ่มทรานส์ฟอร์มธุรกิจด้วย AI ได้เลยวันนี้

พวกเขาเลือก OakMega