ติดตั้ง Raspberry Pi แบบไม่ใช้จอ เมาส์ และ คีย์บอร์ด

ไม่ได้เล่น Raspberry Pi มานาน มาครั้งนี้ ถือโอกาสบันทึกการเริ่มต้นใช้งานกับ Raspberry Pi ไว้สักหน่อย โดยมีเป้าหมายคือ สามารถใช้งาน Raspberry Pi ได้โดยที่ไม่ต้องต่ออุปกรณ์ภายนอกเช่น จอภาพ คีย์บอร์ด หรือ เมาส์ เข้ากับ Raspberry Pi แต่สามารถ Remote เข้าไปทำงานได้เลยผ่านเครื่องคอมที่มีอยู่ ซึ่งโหมดที่ว่านี้ เรียกว่า Headless ซึ่งจริงๆ Official Site ได้มีเขียนอธิบายวิธีการทำเป็นภาษาอังกฤษไว้เรียบร้อยแล้ว

สำหรับบทความนี้จึงเหมาะสำหรับคนที่กะจะใช้ Raspberry Pi ผ่านเครื่องคอมที่มีอยู่แล้วเท่านั้นนะครับ ถ้าหากต้องการจะใช้แบบต่อจอภาพ ต่อคีย์บอร์ดและเมาส์อยู่แล้วก็ข้ามไปได้เลย

ขอตัดในส่วนที่เป็นการติดตั้ง OS ลงบน SD Card (OS Image to microSD Card) ไปเลยนะครับ น่าจะมีให้อ่านง่ายๆอยู่แล้ว

เมื่อทำการดาวโหลด OS และทำการ Burn ลง microSD เรียบร้อย ต้องถอด microSD ออกก่อนแล้วเสียบกลับเข้าไปที่คอมพิวเตอร์อีกครั้ง หลังจากนั้น จะมี drive “boot” โผล่มา

Raspberry Pi ต่อกับ Network ได้ทันที

สร้างไฟล์ชื่อ wpa_supplicant.conf แล้วนำไปไว้ใน drive “boot” หลังจากนั้น ใส่รายละเอียดลงในไฟล์ตามรายละเอียดข้างล่างนี้

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
network={
    ssid="<wifi SSID>"
    psk="<password>"
    key_mgmt=WPA-PSK
}

ตรง <wifi SSID> ก็แทนด้วยชื่อของ Wireless Network ของเรา ส่วน <password> ก็คือพาสเวิร์ดสำหรับเข้า Wireless Network หละครับ ไฟล์นี้เมื่อตอน Raspberry Pi บูตเข้าระบบ จะถูกก๊อปปี้ไปวางใน Path จริงๆ ของมันที่ /etc/wpa_supplicant ครับ

Secure Shell เข้าไปได้ทันที

สร้างไฟล์ ssh ไม่ต้องมีนามสกุลใดๆ ต่อท้าย และก็ไม่ต้องใส่เนื้อหาอะไรลงไฟล์ เป็นไฟล์ว่างๆ เปล่าๆ เรียบร้อยละ เท่านี้ ก็สามารถ Remote เข้าไปที่ Raspberry Pi ได้เลย โดยผ่าน SSH และใช้ Default Username / Password นั่นคือ pi กับ raspberry.

โน๊ตทิ้งไว้สำหรับคนที่ตั้งใจจะใช้ ssh-keygen ในการสร้าง Public key/Private key ทำให้ตอนที่เรา Remote เข้าไปนั้นไม่ต้องใช้พาสเวิร์ด ผมแนะนำให้ระบุเป็น ssh-keygen -t ed25519 แทนที่จะเป็นคีย์แบบ rsa ครับ <อ่านเพิ่ม>

ค้นหา IP Address ของ Raspberry Pi

ส่วนจะ SSH เข้าไปได้ ก็ต้องรู้ IP ก่อน วิธีการรู้ไอพีแอดเดรส เริ่มต้นให้ Raspberry Pi อยู่ในวง Wifi เดียวกัน จากนั้นใช้โปรแกรมเช่น Angry IP Scanner ซึ่งจะทำการ Scan ว่าใน Network เรามีอุปกรณ์อะไรอยู่บ้าง จากนั้น ก็เพียงแค่ดูอุปกรณ์ที่มีชื่อว่า raspberry ก็เป็นอันรู้ IP Address สามารถ SSH เข้าไปได้ละ (รายละเอียดการหา IP ด้วยวิธีการอื่นๆ ไปอ่านจากที่นี่นะ)

หลังจากเข้าไปได้แล้ว ถ้าต้องการ Configuration เพิ่ม สามารถทำได้ด้วยการใช้คำสั่ง sudo raspi-config

สามารถเปิด VNC Server และการติดตั้งค่าเช่น hostname หรือ Locale และอื่นๆ ได้อีก ถ้าเปิด VNC จากตรงนี้ ก็สามารถใช้ VNC Client connect ต่อได้เลย

แล้วถ้าหากมี Raspberry Pi หลายตัวละ จะทำยังไงดี แก้ไข IP address ให้เป็น Static IP ได้ โดยทำตามรายละเอียดนี้

ติดตั้งอะไรบน Raspberry Pi บ้าง

อันนี้ พอดีผมกำลังจะหัดเรียนเกี่ยวกับงานที่ต้องใช้ CPU เยอะ ซึ่งจะเกิดความร้อน จึงหาเครื่องมือที่มีขนาดไม่ใหญ่มาก ติดตั้งง่ายๆ และสามารถดูสถานะของ Raspberry Pi ได้โดยที่ไม่กินทรัพยากรมากนัก ก็ไปเจอตัวนี้

Linux Dash

Linux-dash สามารถใช้ Monitoring ดูสถานะของ Pi เราได้อย่างคร่าวๆ ตัวของมันเอง แสดงข้อมูลเป็น Realtime ณ ขณะนั้น ไม่ได้มีการเก็บข้อมูลใดๆ ไว้ แสดงได้ทั้งสถานะ CPU / Ram / CPU Temp / Network Transfer rate และข้อมูล Process คร่าวๆ

ผมลองพยายามรันโดยใช้ Python ซึ่งมีติดตั้งอยู่บน Raspbain อยู่แล้ว แต่ไม่สำเร็จ ค่าบางค่าขาดหายไป วิธีที่รันได้สมบูรณ์คือรันผ่าน NodeJS ซึ่งต้องติดตั้ง Node เพิ่ม เมื่อติดตั้งเสร็จแล้วสามารถ Monitoring ผ่าน Web Browser ได้เลย

ตรงนี้ผมต้องการให้มันรันทำงานอัตโนมัติ ก็สร้างเป็น System service ผ่าน systemctl ซึ่งจะรันทำงานอัตโนมัติเมื่อบูตทันที

Dynamic DNS Updater

คิดว่า อยากจะให้สามารถเข้าผ่านชื่อเช่น super-pi.warun.in.th ได้เลย จริงๆ มันจะมีพวกบริการ DynDNS อยู่ แต่ผมอยากได้เป็น Private IP กับเพราะว่ามีโดเมนอยู่บน Digital Ocean DNS เลยต้องใช้ DNS Updater ผ่าน Digital Ocean แทน

วิธีการก็ผมใช้สคริปต์เป็น Shell script ง่ายๆ ยิง cURL เข้าไปอัพเดทผ่าน DigitalOcean API

Leave a Reply

Your email address will not be published. Required fields are marked *