# 使用樹莓派所需 1. 樹莓派本體(4B 8G) 2. 樹莓派電供(5V 3A) 3. SD卡 U1/A1 (128G) 4. mirco HDMI 轉接頭 5. 鍵盤滑鼠 ## 安裝ubuntu 系統 https://www.raspberrypi.com/software/ 下載燒錄器 選擇 Other OS ubuntu 22.04 設置主機名 ubuntu.local 開啟SSH 密碼登入 可遠端輸入密碼登入 預先配置WiFi 時區選擇taipei 鍵盤佈局us 燒入完成後即可插入樹莓派進行開機 ## 系統設置 開機輸入帳密 先將系統設定更新 ```= sudo apt-get update sudo apt-get upgrade ``` ## SSH登入設定 ```= sudo apt install net-tools ifconfig ``` 如下圖,黃色底線的是派的 IP 位址,每個派的 IP 都不一樣 ![image](https://hackmd.io/_uploads/H1EuEowg0.png) 安裝ssh ```= sudo apt-get install ssh sudo apt-get install openssh-server ``` 接者遠端自己ip ```= ssh ubuntu@192.168.0.146 ``` ## FileZilla 資料傳輸 1. 設定新站台 2. 協定選擇: SFTP 3. 輸入主機IP 192.168.0.146 port預設(22) 4. 登入選擇一般 5. 輸入使用者 ubuntu 密碼 可在pi 上 mdkir 建立一個新資料夾後傳輸 filezilla 需斷線重連才可看到新創資料夾 ## 遠端連線 看到一篇 利用`ngrok` 讓只能在內部網路連線的樹莓派 外部連線 https://learningsky.io/access-raspberry-pi-from-outside-network/ ### 1. ngrok 安裝 1. 開啟終端機 2. 下載 ngrok `sudo wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-arm.zip` 3. 將 ngrok 解壓縮 `sudo unzip ngrok-stable-linux-arm.zip ` ### 2. ngrok 設定 1. 在瀏覽器輸入 https://dashboard.ngrok.com/login 登入 2. 點選左邊的 Auth ![image](https://hackmd.io/_uploads/rySSrMaxA.png) 3. 取得 Authtoken 指令 ![image](https://hackmd.io/_uploads/BJVuSGpeA.png) 4. 在 Raspberry Pi 端輸入上步驟取得的 Authtoken 指令 ![image](https://hackmd.io/_uploads/HkpFSG6eR.png) ### 3. 遠端登入測試 1. 在 Raspberry Pi 端輸入下方指令 `./ngrok tcp 22` 2. 取得登入 Raspberry Pi 的 IP 與 Port ![image](https://hackmd.io/_uploads/SkYCrMaeC.png) 3. 登入到虛擬機器 ( 請在終端機輸入下方指令 ) ㊟ 下方的 IP 請改為上步驟取得的 IP ㊟ 下方的 Port 請改為上步驟取得的 Port sudo ssh pi@IP -pPort 本範例為 ssh pi@0.tcp.ngrok.io -p16171 ![image](https://hackmd.io/_uploads/SkoGLGTxR.png) 還有這影片 https://www.youtube.com/watch?v=-dqK2XKaZTc&ab_channel=Stonez56%28KevinChen%29 ## 使用 tmux 開啟ngrok 1. 啟動 ngrok 對話 `tmux new -s ngrok` 2. 映射ngrok `ngrok tcp 22` 3. 要離開 tmux 會話而不終止運行中的程序,按下 Ctrl-B 然後按 d。這將「分離」你的 tmux 會話,讓 ngrok 在後台繼續運行。 4. 重新連線到 tmux 會話: 如果你想回到你的 ngrok 會話,可以使用以下命令重新連線: `tmux attach -t ngrok` ![截圖 2024-04-19 凌晨1.58.24](https://hackmd.io/_uploads/BkSPkJJ-C.png) 0.tcp.jp.ngrok.io:10764 `ssh -p 10764 ubuntu@0.tcp.jp.ngrok.io`