Raspberry Pi 3 — Day 1 — Setup Pi
ทำอะไรบ้าง
- ติดตั้ง Rasbian ให้พร้อมใช้งาน
- Set Wifi
- Set ssh server
สิ่งที่ต้องเตรียม
- Raspberry Pi 3
- USB Mouse + Keyboard
- Monitor with HDMI connection
- Power Supply for mini usb
- Micro SD Card
Setup Raspbian
Download OS file
Download image เพื่อติดตั้ง os ใน rpi
https://www.raspberrypi.org/downloads/
Format Image to SD
วิธีการจะต่างกันไปแต่ละ OS ดูได้จาก https://www.raspberrypi.org/documentation/installation/installing-images/README.md
ยกตัวอย่างสำหรับ Mac เริ่มต้นด้วยการ unmount SD card ก่อนจากนั้นรันคำสั่ง
$ sudo dd bs=1m if=path_of_your_image.img of=/dev/rdiskn
Run Raspbian
หลังจากได้ติดตั้ง raspbian ลงบน sd card เสร็จแล้วจากนั้นทำการใส่ sd card และเสียบสายต่างๆให้เรียบร้อย
เสียบสาย power เป็นสายสุดท้ายนะครับ เพราะว่าพอเสียบแล้วมันจะทำการเปิดตัวเองทันทีเลย พอเสียบสาย power เสร็จ ระบบก็จะเริ่ม boot ขึ้นมา ก็รอจนกระทั่งถึงหน้าให้ login
Login and change password
การ login ครั้งแรก จะใช้ user [pi] password [raspberry]
รายละเอียดเพิ่มเติมดูตามนี้นะครับ https://www.raspberrypi.org/documentation/linux/usage/users.md
ตั้งค่า keyboard
ตรงนี้แอบเพิ่มนิดหนึ่งครับ บาง keyboard จะไม่สามารถพิมพ์ “|” ได้ ต้อง set keyboard ใหม่ก่อน เพราะว่า default ของ Raspbian มันจะเป็น keyboard en_GB ทำให้ key อาจจะไม่ตรงกับที่เราใช้ เลยต้องแก้ก่อนโดยใช้คำสั่ง
$ sudo raspi-config
เพื่อทำการตั้งค่า locale ก่อน โดยเลือกที่ข้อ 4. Internationalization Options
จากนั้นเลือก I1 Change Locale ซึ่งโดย Default น่าจะเลือกเป็น en_GB อยู่ ทำให้ keyboard เราพิมพ์ “|” ไม่ได้ ให้กด space bar เพื่อเอา “*” ที่เลือกหัวข้อนี้อยู่ออก ไปเลือก en_US.UTF-8 แทน และเปลี่ยน environment เป็น en_US.UTF-8 เช่นกัน
$ sudo dpkg-reconfigure keyboard-configuration
แล้วเลือก Keyboard รุ่นที่ใช้ อย่างของผมใช้ Generic 105–Key (Intl) PC จากนั้นเลือก layout เป็น thai
เสร็จแล้วลอง reboot ดู
$ sudo reboot
แล้วรันคำสั่งดูว่า locale เป็น en_US.UTF-8 หรือยัง
$ sudo locale
และลองพิม | หรือ # ดูว่าพิมได้หรือยัง
เปลี่ยน password ของ user
เมื่อทำการเปลียน keyboard แล้วค่อยทำการเปลี่ยน password เพื่อความปลอดภัย (ถ้าเปลี่ยน password ก่อน เปลี่ยน keyboard อาจจะมีบางตัวที่เราพิมพ์ไม่ได้ขึ้นมาใน password เช่น € จะอยู่แทน # ถ้ามีการใช้ปุ่มนี้ใน password ก็จะ login ไม่ได้นะ) ด้วยคำสั่ง
$ sudo passwd
และเปลี่ยน password ของ root
$ sudo passwd root
Setup network connection
ถ้าหากใช้สายแลนต่อแบบ DHCP สามารถเช็คดูว่าได้ IP หรือยังด้วยคำสั่ง
$ ifconfig
แต่ว่าถ้าหากต้องการเซ็ตให้เชื่อมต่อกับ wifi สามารถทำได้โดย ทำการ scan ดูว่าตอนนี้มี AP ชื่ออะไรบ้าง ด้วยคำสั่ง
$ sudo iwlist wlan0 scan
แต่ถ้าผลลัพธ์แสดงผลออกมาจำนวนมากเกินไป ทำการแสดงเฉพาะชื่อ AP ด้วยคำสั่ง
$ sudo iwlist wlan0 scan | grep ESSID
พอเจอ ESSID ที่เราต้องการเชื่อมต่อแล้ว ต่อไปจะทำการตั้งค่า config file สำหรับ network ลองเช็คดูไฟล์ interfaces ก่อน
$ cat /etc/network/interfaces
source-directory /etc/network/interfaces.dauto lo
iface lo inet loopbackiface eth0 inet manualallow-hotplug wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.confallow-hotplug wlan1
iface wlan1 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
จะเห็นว่าในส่วนของ wifi (wlan0) ส่วนของ wpa-conf จะมี config อยู่ในไฟล์ /etc/wpa_supplicant/wpa_supplicant.conf เราก็ตามไปแก้ไขไฟล์นั้นเพื่อทำการตั้งค่า ESSID ที่เราจะเชื่อมต่อ ตัวอย่างผมจะเชื่อมต่อ AP ชื่อ PJAP
$ sudo cat /etc/wpa_supplicant/wpa_supplicant.conf
country=TH
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1network={
ssid="PJAP"
psk="muRFADsndsecihhSertgK9IaNq3UWznpxaBH8B9ixk"
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP
auth_alg=OPEN
}
ssid : คือชื่อ AP name
psk : คือ password
proto : RSN (WPA2) หรือ WPA (WPA1).
key_mgmt : WPA-PSK (ในกรณีส่วนมาก)
pairwise : CCMP (WPA2) หรือ TKIP (WPA1)
auth_alg : ทั่วไปตั้ง OPEN น่าจะใช้ได้
รายละเอียดเพิ่มเติมว่าตั้งค่าอะไรได้บ้าง หรือแต่ละค่าที่ตั้งคืออะไร ดูเพิ่มเติมใน https://www.freebsd.org/cgi/man.cgi?query=wpa_supplicant.conf&sektion=5&apropos=0&manpath=NetBSD+6.1.5
หรือถ้าปกติเราไม่ได้ตั้ง AP ท่ายากไว้ ใส่แค่แบบสั้นก็พอ คือใส่แค่ ssid กับ password
$ sudo cat /etc/wpa_supplicant/wpa_supplicant.conf
country=TH
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1network={
ssid="PJAP"
psk="muRFADsndsecihhSertgK9IaNq3UWznpxaBH8B9ixk"
}
ส่วน config นี้ต้องระวังด้วยนะ ตอนหาข้อมูลเจอคนถามเยอะว่าทำอะไรไม่ได้ ส่วนมากปัญหาที่เจอคือ ชอบใส่เป็น network = {..} มีช่องว่างระหว่างเครื่องหมาย = แบบนี้ไม่ได้นะครับ ไม่ต้องสนใจเรื่องความสวยงาม ต้องพิมพ์ติดกันเท่านั้นนะ
ถ้าเราต้องการ IP แบบ DHCP ถึงส่วนนี้สั่ง reboot pi ก็จะได้ IP มาพร้อมใช้งานแล้ว
ตั้งค่า Static IP
หรือในกรณีนี้ผมต้องการตั้งค่า ip เอง การตั้งค่า IP จะทำที่ไฟล์ /etc/dhcpcd.conf
$ sudo nano /etc/dhcpcd.conf
จากนั้น เติมการ config เรื่อง ip ลงไปที่ด้านล่างสุดของไฟล์ (ต่อท้ายบรรทัด nohook lookup-hostname) เช่นจะตั้ง IP เป็น 192.168.1.2
interface wlan0
static ip_address=192.168.1.2/24
static routers=192.168.1.1
static domain_name_servers=8.8.8.8 8.8.4.4
เสร็จแล้วลอง reboot ดู
$ sudo reboot
เช็คว่าได้ ip ถูกต้องด้วย
$ ifconfig
$ ping www.google.com
Update raspbian
เมื่อต่อเน็ตได้แล้วทำการอัพเดทระบบด้วยคำสั่ง
$ sudo apt-get update
$ sudo apt-get upgrade
Enable SSH
ตั้งแต่ พฤศจิกายน 2016 เป็นต้นมา Raspbian ตั้งค่า SSH server เป็น disabled มาโดย default เพราะงั้นต้องทำการเปิดก่อนถึงจะสามารถเชื่อมต่อผ่าน ssh ได้
$ sudo raspi-config
เลือก 5. interfacing options แล้วเลือก ssh กด Enter แล้วเลือก Yes เพื่อ Enable ssh server.
ถึงตรงนี้ เราก็จะสามารถใช้งาน และ remote เข้าไปที่เครื่อง Raspberry Pi ของเราได้แล้ว