2013年3月4日 星期一

與 Raspberry Pi 同步開發環境

要使用 Raspberry Pi (RPi)去控制或溝通周邊的應用裝置,最直接的方法就是在機器上撰寫程式,讓它透過接口去執行我們所需要的功能。

就一般而言,大多數人還是比較習慣微軟的視窗作業系統,即使是開發環境也相同,所以最直覺的方法就是,在 RPi 上安裝 VNC server 透過遠端連線來撰寫與測試程式,不過這樣做的效率並不好。

原因在於要完成一個應用,程式通常來回修改測試的次數非常多。因此建立一個便捷的開發環境是件重要的事,而 Sublime Text 2 (ST2)不僅提供一個方便而且優秀的前端開發環境,還可以透過 SFTP 同步遠端資料夾。

有關 Sublime Text 2 在「mrkt 的程式學習筆記」中寫了相當詳細的介紹,「在 Windows 設置 Raspberry Pi (樹莓派) 遠端編輯環境:ㄆㄜ ㄊㄧㄡ ㄙˋ」有圖文並茂的安裝步驟,而這邊就盡量精簡的記錄下安裝過程。

  1. 下載程式
    一進到 Sublime Text (ST)官方網頁,就可以看到一小段 ST 之所有與眾不同的動態演示。欣賞完後點選上方導覽列 Download 下載 ST2,Windows 系統另外提供 portable 的版本,而本篇也是使用 portable 版本做為示範。
  2. 安裝套件
    ST 2 擁有豐富的套件資源,相當多的功能都可以藉由外掛來提供,「ㄆㄜ ㄊㄧㄡ ㄙˋ」建議安裝下列前端開發環境所必須的套件。
    • Package Control:套件管理程式,必需先安裝。
      Sublime Package Control 網頁,下載 Package Control.sublime-package,並儲存到 ST2 portable 目錄:\Sublime Text 2.0.1 x64\Data\Installed Packages 底下,然後記得重啟 ST2。
    • EncodingHelper:提高文字編碼支援。
      在功能列上,點選 Preferences > Package Control,輸入 install package 接著點選出現的下拉式選單中的 Package Control: Install Package。稍後出現套件列表,在文字欄中輸入 EncondingHelper,在提示字元的幫助下,很快就可以找到這個套件。
        
      以下 SFTP、Termianl、WebEncoders 安裝步驟皆同前。
    • SFTP:提供同步遠端資料夾連線功能。
    • Termianl:於 ST2 中以快捷鍵開啟 putty ssh 連線。
    • Web Encoders:一些 Web 開發常用的字元提示。
  3. 快捷鍵呼叫 Terminal 設定
    這部份開始前,需要先把 putty 帳號、介面相關的設定儲存到 sessions 中。

        

    在 ST2 功能列上點選 Preferences > Package Setting > Terminal > Settings - Default,填入 putty.exe 所在的路徑與要載入的 session 名稱,儲存後複製全部程式碼,並開啟另一個設定檔 Package Setting > Terminal > Settings - User 貼上後存檔。這麼做的用意是避免程式更新時 Settings - Default 被還原
    Ctrl + Shift + t 就可以直接於 ST2 中呼叫 ssh 終端機。

  4. 設定資料夾同步-SFTP
    這裡的設定就是之後可以讓遠端與本地的資料夾裡的文件可以互相上傳與下載,甚至可以同步更新。先在 RPi 系統上開一個工作資料夾。
    • 設定 SSH server
      功能列 File > SFTP/FTP > Setup Server,在設定檔中編輯 "host", "user" 填入對應的資料,"remote_path" 則填入 RPi 上想同步的資料夾,存檔,接下來 ST2 會主動試著連接,如果沒有問題,則回應 Validating remote folder "/xxx/xx/...." .... success 的訊息。
    • 設定遠端資料夾到本地
      先在本地端 windows 系統下建立一個欲同步的資料夾(本例為 pythonpi),之後到 ST2 的功能列點選 File > Open Folder,就會看到剛剛建立的資料夾出現在 ST2 的側欄裡。
      在側欄裡的資料夾上點擊滑鼠右鍵,選擇 Map to Remote,開啟設定檔 sftp-config.json,填寫相關資料,不過不建議設定 password,密碼維持手動輸入,建議 "upload_on_save" 改為 true,讓程式存檔後自動上傳。完成設定之後,就可以試著與遠端的 RPi 建立通訊,上下載或是同步資料夾內容。

          
最後測試是否也可以同步新建資料夾的工作,在本地端建立一個資料夾,並且存入一個 helloworld.py,然後同步到遠端資料夾(SFTP/FTP \ Sync Local -> Remote),Ctrl + Shift + t 呼叫 putty 執行 helloworld.py,如果順利出現 helloworld,就這樣,完成了 Raspberry Pi 前端開發環境設置。


沒有留言:

張貼留言