Raspberry Pi Headless Setup
Tags: raspberrypi
Published: 2021-07-31 07:50:48

### Headless Setup ဆိုတာဘာလဲ
Monitor or Keyboard တို့မပါပဲ Raspberry Pi Setup လုပ်ခြင်းကိုဆိုလိုပါတယ်။ ဒါပေမဲ့ တစ်ခြား wireless network တို့ ssh သုံးဖို့ တစ်ခြား accessories တွေတော့လိုအပ်အုံးမှာဖြစ်ပါတယ်။

### Overview
Raspberry Pi Setup လုပ်ဖို့ဆိုရင် 
1. SD Card (minimum 8 GB, recommended 32 GB)
2. Raspberry Pi board (any Pi Model)
3. SD card reader
4. Wireless Network
စသည်တို့လိုအပ်ပါတယ်။

### Setup ပြုလုပ်ပုံ အဆင့်များ
1. Raspberry Pi OS (Raspbian) ကို SD card ထဲကို burn ဖို့လိုပါမယ်။
2. Monitor or Keyboard တို့မပါပဲ Raspberry Pi Setup လုပ်ဖို့ Wireless Network Configure လုပ်ပါမယ်။
3. SSH enable လုပ်ရပါမယ်။
4. Find Raspberry PI Ip Address 
5. VNC Viewer setup 
6. Accessing Raspberry PI Screen from PC/Phone

### 1. Raspberry Pi OS (Raspbian) ကို SD card ထဲကို burn ဖို့လိုပါမယ်။
ပထမဆုံး အဆင့်အနေနဲ့ SD Card ကို ဖတ်ဖို့ computer နဲ့ ချိတ်ဆက်ရပါမယ်။ SD card က အသုံးပြုပီးသားဆိုရင်တော့ format အရင်ချပေးပါ။ အသုံးမပြုရသေးတဲ့ SD card ဆိုရင်တော့ format ချဖို့မလိုပါဘူး။ ချိတ်ဆက်ထားတဲ့ SD card ကို စစ်ဆေးချင်တယ် ဆိုရင်တော့ Mac မှာဆိုရင် Disk Utility မှာ သွားပီးစစ်ဆေးလို့ရပါတယ်။

![Screen Shot 2021-07-31 at 10.59.46 AM](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fra8tvojnfw9trilnx6i.png)
 
သင့်အနေနဲ့ format ချချင်တယ်ဆိုရင်တော့ Right Click > Erase ကိုနှိပ်ပီး ဆောင်ရွက်နိုင်ပါတယ်။

![Screen Shot 2021-07-31 at 11.01.14 AM](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gwa1225qeyd77mc1231h.png)

ပြီးတော့ Raspberry Pi OS (Raspbian) ကို SD card ထဲကို ထည့်ရပါမယ်။ ဒီအဆင့်မှာတော့ open source image writer tools တွေအများကြီးရှိပါတယ်။ ကိုယ်ကြိုက်နှစ်သက်ရာကို အသုံးပြု့နိုင်ပါတယ်။

Image Writer Tools:
1. Etcher
2. Raspberry Pi Imager
3. ...

ယခုပြောပြသွားမှာကတော့ Raspberry Pi Imager ကို အသုံးပြု့သည့်နည်းဖြစ်ပါတယ်။ ဒီနေရာမှာ Raspberry Pi setup လုပ်ဖို့ ကိုယ်က ကိုယ်ပိုင် Laptop တစ်လုံး မရှိဘူးဆိုရင်လည်း ဖုန်တစ်လုံးနဲ့လည်းအဆင်ပြေနိုင်ပါတယ်။ ဖုန်းနဲ့ဆိုရင်တော့ 
[Pi SD Card Imager](https://play.google.com/store/apps/details?id=com.redrobe.raspicardimager) တို့သုံးလို့ရပါတယ်။ Play Store မှာ အလွယ်တကူ download လုပ်နိုင်ပါတယ်။

![Screen Shot 2021-07-31 at 11.12.31 AM](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fkyvhe0m3kyq1j2ovy5b.png) 

ကဲ ဆက်လိုက်ကြဉီးစို့။

ကိုယ်အသုံးပြု့မည့် OS ပေါ်မူတည်ပြီး Download လုပ်ပေးရပါမယ်။

1. For Window (https://downloads.raspberrypi.org/imager/imager_1.4.exe)
2. For Mac
(https://downloads.raspberrypi.org/imager/imager_1.4.dmg)
3. For Ubuntu (https://downloads.raspberrypi.org/imager/imager_1.4_amd64.deb)

Install လုပ်ပီးသွားတာနဲ့ အောက်ပါအတိုင်းမြင်တွေ့ရမှာ ဖြစ်ပါတယ်။

![Screen Shot 2021-07-31 at 11.19.00 AM](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lnbsfjicybwhbv1ekvkb.png)
 
Choose OS ကို ရွေးပီး Pi board နဲ့ သင့်တော့မည့် OS type ကို ရွေးချယ်ပါ။

![Screen Shot 2021-07-31 at 11.21.00 AM](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wr1dvu4gkkbp44sqvoof.png)

![Screen Shot 2021-07-31 at 11.22.44 AM](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ar9ip2shilhsjythtgfl.png)

ပြီးရင်တော့ မိ့မိ burn လို့သည့် SD card ရွေးဖို့ Choose Storage ကို နှိပ်ပါ။

![Screen Shot 2021-07-31 at 11.24.10 AM](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ibu5jr6wskqo4z8nwyd2.png)
  
ပြီးရင် Write ကို နှိပ်ပါ။

![Screen Shot 2021-07-31 at 11.25.15 AM](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/icn9s6a1xxe9lxf7sgk9.png)
 
![Screen Shot 2021-07-31 at 11.27.06 AM](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s6eyfndfeq23g6qoal9s.png)
 

### 2. Monitor or Keyboard တို့မပါပဲ Raspberry Pi Setup လုပ်ဖို့ Wireless Network Configure လုပ်ပါမယ်။

Headless Setup ရဲ့ အနှစ်သာရ ကအခုမှ စတာပါ။ ပုံမှန်အတိုင်ဆိုရင် Pi OS ကို SD card ထဲထည့်ပီးပီ ဆိုရင် Pi board မှာ keyboard, mouse, hdmi cable တွေတပ်ပြီး monitor တစ်ခုခုနဲ့ချိတ်ရပါမယ်။ Headless Setup ဆိုတာအဲတာတွေတပ်စရာမလို့ပဲ အသုံးပြု့တဲ့နည်းဖြစ်ပါတယ်။ 

တစ်နည်းအားဖြင့်ပြောရရင် boot files တွေထဲမှာ customize ဝင်ပြင်ပီးတော့ ssh နဲ့ VNC Viewer on ပြီး access လုပ်တဲ့နည်းဖြစ်ပါတယ်။

အရင်ဆုံးအနေနဲ့ Raspberry PI OS တက်လာတဲ့ အခါ မိ့မိ့ personal connect လုပ်ဖို့ network configuration file ထည့်ပေးရပါမယ်။ Raspberry Pi ဟာဆိုရင် network configuration file လေးကို `wpa_supplicant.conf` လို့ခေါ်တဲ့ နာမည်နဲ့ သိမ်းထားလေ့ရှိ့ပါတယ်။

`wpa_supplicant.conf` ရဲ့ format ကတော့ အောက်ပါအတိုင်းဖြစ်ပါတယ်။

```
country=MM
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev 
update_config=1
network={
       ssid="SSID Name"
       psk="Password"
       key_mgmt=WPA-PSK
    }
```
`SSID Name` နေရာမှာ Wifi Name ထည့်ပါ။
`Password` နေရာမှာ Wifi Password ထည့်ပါ။

ဒီနေရာမှာ ကိုယ့်မှာ wifi စက်တပ်ထားမှ မဟုတ်ပါဘူး။ ဖုန်းရဲ့ hostpot နဲ့လည်းလုပ်လို့ရပါတယ်။

`wpa_supplicant.conf` လို့ခေါ်တဲ့ ဖိုင်လေးကို SD card root ထဲမှာ ထည့်ပေးရပါမယ်။

![Screen Shot 2021-07-31 at 1.10.00 PM](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qorh9hnrdvxbhpsxue3a.png)
 
အဲဒီလိုထည့်လိုက်တဲ့ အတွက်ကြောင့် PI OS တက်လာတဲ့ အခါ မိ့မိရဲ့ network ကို auto connect လုပ်ပါလိမ့်မယ်။

### 3. SSH enable လုပ်ရပါမယ်။
နောက်တစ်ဆင့်ကတော့ wifi auto ချိတ်ပီးတဲ့ အခါ Raspberry PI ကို remote acccess လုပ်ဖို့ ssh enable လုပ်ရပါမယ်။

ဒီအဆင့်ကတော့ အရမ်းကို ရိုးရှင်းပါတယ်။
`ssh` file လေးကို SD card root ထဲမှာ ထည့်လိုက်ရုံပါပဲ။

Terminal မှာ `touch ssh` လို့ရိုက်လိုက်ရင် `ssh` ဆိုတဲ့ empty file လေးထွက်လာပါလိမ့်မယ်။
အဲဒီ `ssh` ဆိုတဲ့ file လေးကို SD card root ထဲမှာ ထည့်ပေးလိုက်ပါ။

![Screen Shot 2021-07-31 at 1.23.31 PM](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bsul4do6r6ffcrmzigpg.png)
 

> Note: `ssh` file မှာ ဘာ file extension မှ မပါပါဘူး။

ပြီးရင်တော့ မိ့မိ့ SD card ကို ဖြုတ်ပြီး Raspberry Pi board မှာ တပ်နိုင်ပါပြီ။

Raspberry PI ကို power on လိုက်ပါ။

Raspberry PI မှာ မီးအစိမ်းလေး လင်းလာတဲ့ အထိ့ ခဏစောင့်ပါ။

### 4. Find Raspberry PI Ip Address 

စတုတ္ထ အဆင့်အနေနဲ့ Raspberry PI boot တက်လာပြီ ဆိုရင် ssh ကနေဝင်နိုင်ဖို့ Raspberry PI ရဲ့ Ip Address သိ့ဖို့လိုပါတယ်။

ဒီအတွက် IP Scanner ကိုသုံးပါမယ်။
For Window, [Advance IP Scanner](https://www.advanced-ip-scanner.com/) သုံးနိုင်ပါတယ်။
For Mac, [IP Scanner](https://apps.apple.com/us/app/ip-scanner/id404167149?mt=12) ကိုသုံးနိုင်ပါတယ်။

IP Scanner ဖွင့်လိုက်တာနဲ့ အောက်ပါအတိုင်းမြင်တွေ့ရမှာ ဖြစ်ပါတယ်။

![Screen Shot 2021-07-31 at 1.37.07 PM](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vnm4uz0f9bbsgelb1gpp.png)

`192.168.100.26` ဆိုတာ Raspberry PI ရဲ့ IP address ဖြစ်ပါတယ်။ 
အဲဒါကိုအသုံးပြု့ပြီး ssh ကနေ login ဝင်နိုင်ပါပြီ။

SSH က Mac, Ubuntu တိုမှာ ပါပြီးသားဖြစ်ပြီး Window မှာဆိုရင်တော့ [Putty](https://www.putty.org/) စသော ssh client software တွေသုံးနိုင်ပါတယ်။

Terminal မှာ `ssh pi@<ip-address>` လို့ ရိုက်ပြီးဝင်ရပါမယ်။

![Screen Shot 2021-07-31 at 1.44.13 PM](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/73c7skstnrnn6kpewa4m.png)

ဘာလို့  `ssh pi@<ip-address>` သုံးတာလဲဆိုတော့ Raspberry Pi ရဲ့
```
Default User Name = pi
Default Password = raspberry
```
ဖြစ်လို့ပါပဲ။

### 5. VNC Viewer setup 
Raspberry PI Screen ကို remove access မြင်နိုင်ဖို့ Raspberry PI မှာ default အနေနဲ့ VNC Viewer Software ပါလာပြီးသားပါ။ Default အနေနဲ့တော့ သူက disabled လုပ်ထားတာပါ။ ဒါကို ဖွင့်ပေးဖို့လိုအပ်ပါတယ်။

SSH နဲ့ Raspberry PI ထဲ ဝင်ပြီးတာနဲ့ ဒါကို အလွယ်တကူ enable လုပ်လိုရပါပြီ။

`sudo raspi-config` ဆိုပြီး ရိုက်ရပါမယ်။

![Screen Shot 2021-07-31 at 1.52.37 PM](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/amzb46kabtn5npwjn8sd.png)

ရိုက်ပြီး Enter ခေါက်လိုက်တာနဲ အောက်ပါအတိုင်းမြင်တွေ့ရမှာ ဖြစ်ပါတယ်။

![Screen Shot 2021-07-31 at 1.53.38 PM](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/crsd32auokkfp8wopg2r.png)

`Arrow Key` ကို အသုံးပြု့ပြီး `Interface Option` ကိုရွေးပါ။

![Screen Shot 2021-07-31 at 1.54.06 PM](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sk9yt0hirdk238d5jvlb.png)
 
Enter ခေါက်လိုက်တာနဲ့ အောက်ပါအတိုင်းထပ်မံမြင်တွေ့ရမှာ ဖြစ်ပါတယ်။

![Screen Shot 2021-07-31 at 1.55.24 PM](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/15zcs5iosk62xqm381ox.png)

`VNC Enable/Disable` ကို arrow key နဲ့သွားပါ။ Enter ခေါက်ပါ။

![Screen Shot 2021-07-31 at 1.56.38 PM](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g03ffekwbwxlbhwxajxu.png)
  
ပြီး ရင် Yes ကို ရွေးပါ။ 
VNC Viewer Enable လုပ်လို့ပြီးပါပြီ။

### 6. Accessing Raspberry PI Screen from PC/Phone
နောက်ဆုံးအဆင့်အနေနဲ့ Raspberry PI Screen ကို မိ့မိ laptop/phone ကနေကြည့်နိုင်ပါပြီ။

VNC Viewer ကို [ဒီမှာ](https://www.realvnc.com/en/connect/download/viewer/) ဒေါင်းပါ။

Window, Mac, Ubuntu, Android အကုန် support ပေးပါတယ်။

VNC Viewer ဖွင့်ပါ။
Raspberry PI Ip address ရိုက်ထည့်ပါ။

![Screen Shot 2021-07-31 at 2.02.32 PM](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mzeoac1ch7di7gvtd3yl.png)
 

User Name နဲ့ Password ထည့်ပါ။

![Screen Shot 2021-07-31 at 2.03.00 PM](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/afj2efmvsvrnl3wko8o7.png)
 
ပြီးတာနဲ့ အောက်ပါအတိုင်း Raspberry PI Screen ကို မိ့မိ laptop/phone ကနေ ထိန်းချုပ်နိုင်ပါပြီ။

![Screen Shot 2021-07-31 at 2.08.41 PM](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r0g10uzzdqbwo5t1f53s.png)
 

### Troubleshoot Guides
1. [Cannot Currently Show the Desktop' Error](https://www.tomshardware.com/how-to/fix-cannot-currently-show-desktop-error-raspberry-pi)

> Note: ရေးသားသူသည့် Raspberry PI Professional တစ်ယောက်မဟုတ်ပါ။ မိ့မိ့ကိုယ်တိုင် setup လုပ်စဉ်က အတွေ့အကြုံကိုသာမျှဝေခြင်းဖြစ်ပါသည်။


<a href="https://ko-fi.com/ayarhlaine">
<img height="12" width="30%" src="https://res.cloudinary.com/practicaldev/image/fetch/s--KS7c42cU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.ko-fi.com/cdn/kofi1.png%3Fv%3D2" alt="Buy Me a Coffee at ko-fi.com" loading="lazy">
</a>

အားလုံးကိုကျေးဇူးတင်ပါတယ်။
ဆက်လက်ကြိုးစားပါအုံးမည်။

Ayar Hlaine