/ Tools

【 Tools 】外部網路存取 Raspberry Pi

內容

  • 學習目標
  • 前置準備作業
  • ngrok 安裝
  • ngrok 設定
  • 遠端登入測試

學習目標

  • 透過 ngrok 將只擁有內部網路的 Raspberry Pi 能夠讓外部網路的電腦存取

前置準備作業

  • 準備一台 Raspberry Pi 4
  • 準備一條 Raspberry Pi 4 專用的電源線
  • 準備一張 Micro SD Card
  • 準備 鍵盤 與 滑鼠
  • 準備一台 螢幕
  • 準備一條 HDMI 母 轉 Mini HDMI 公 的線
  • 準備一台 電腦 ( Windows 或 macOS )

ngrok 安裝

Step 1. 開啟終端機

  • 點選上方的 終端機
    -----2019-12-19---2.18.02

    • 終端機開啟畫面
      ---2020-01-02---2.11.09

Step 2. 下載 ngrok

  • 請在終端機輸入下方指令
    sudo wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-arm.zip
    
    ---2020-01-02---2.12.22

Step 3. 將 ngrok 解壓縮

  • 請在終端機輸入下方指令
    sudo unzip ngrok-stable-linux-arm.zip
    
    ---2020-01-02---2.13.05

ngrok 設定

Step 1. 相關設定

  • 請在 瀏覽器 輸入下方 URL

    https://dashboard.ngrok.com/login
    

    ---2020-01-02---2.13.54

  • 點選左邊的 Auth
    ---2020-01-02---2.14.46

  • 取得 Authtoken 指令
    ---2020-01-02---2.16.16

  • Raspberry Pi 端輸入上步驟取得的 Authtoken 指令
    ---2020-01-02---2.18.27


遠端登入測試

Step 1. 外部網路的電腦透過 ssh 連到 Raspberry Pi

  • Raspberry Pi 端輸入下方指令

    ./ngrok tcp 22
    
  • 取得登入 Raspberry PiIPPort
    ---2020-01-02---2.19.42


Step 2. macOS 遠端登入

  • 開啟 macOS 中的 終端機

    • 開啟位址為 應用程式工具程式終端機

    -----2019-12-02---11.24.02

    • 終端機 開啟狀態
      -----2019-12-02---11.17.10
  • 登入到虛擬機器 ( 請在終端機輸入下方指令 )

    • ㊟ 下方的 IP 請改為上步驟取得的 IP
    • ㊟ 下方的 Port 請改為上步驟取得的 Port
    sudo ssh [email protected] -pPort
    

    ---2020-01-02---2.26.17

  • 輸入 yes
    ---2020-01-02---2.27.07

  • 輸入所設定的登入密碼
    ---2020-01-02---2.27.43

  • 登入成功
    ---2020-01-02---2.28.27


Step 3. Windows 遠端登入

  • 開啟 Putty 官網

  • 點選 here

    -----2019-12-02---11.32.12

  • 選取合適的版本

    -----2019-12-02---11.36.09

  • 執行安裝步驟

    • 點選 Next
      -----2019-12-02---11.39.06

    • 點選 Next
      -----2019-12-02---11.39.24

    • 點選 Install
      -----2019-12-02---11.39.44

    • 點選
      -----2019-12-02---11.40.01

    • 點選 Finish
      -----2019-12-02---11.40.57

  • 開啟 Putty
    -----2019-12-02---11.43.04

  • 登入到虛擬機器 ( 請在終端機輸入下方指令 )

    • Host Name (or IP address) 欄位輸入 遠端登入測試 Step 1 中取得的 IP 位址,本範例為 0.tcp.ngrok.io,在 Port 欄位輸入 遠端登入測試 Step 1 中取得的 Port 號,本範例為 16171

    ---2020-01-02---2.31.11
    ---2020-01-02---2.33.55

  • 點選
    ---2020-01-02---2.34.15

  • 輸入所登入帳號 pi
    ---2020-01-02---2.34.56

  • 輸入所設定的登入密碼

    • ㊟ 輸入密碼時游標未移動是正常的現像

    ---2020-01-02---2.35.18

  • 登入成功
    ---2020-01-02---2.35.41


GitHub
List of blogs
Archer

Archer

Having being a software engineer. Experience with Python, JavaScript, Node.js, Objective-C, Micro:bit, Raspberry Pi, AWS, Azure, IoT. ❆ [email protected] https://oranwind.org/author/archer/

Read More