原由
netbeans是個很好用的IDE, 但在樹莓派上執行總是卡卡的, 再加上要在電腦跟樹莓派之間切來切去的, 超級煩人. 那可否在工作電腦上把程式寫一寫, 然後傳到樹莓派上去執行呢? 還好netbeans有支援此項功能, 且是透過ssh來連線
請注意, 雖說要改成在工作電腦上開發程式, 但Raspberry板子上還是需要安裝Pi4j的套件, 所以請先按上一篇文章 Raspberry Pi4j 的說明, 先設定好板子上的環境
樹莓派安裝ssh
樹莓派要能啟動ssh, 直接執行如下指令即可
sudo apt-get install ssh openssh-server
若需使用root登入, ssh就需進行設定. 請將/etc/ssh/sshd_config裏的PermitRootLogin prohibit-password 改為 PermitRootLogin yes, 然後重新啟ssh, 指令為
sudo /etc/init.d/ssh restart
然後更改Ubuntu root的登入密碼
sudo passwd root, 設定密碼. 如此就可以由ssh使用root登入了
不過強烈的建議, 上面的步驟不要作, 因為很容易被入侵
工作電腦設定
在工作電腦上, 打開netbeans. 進入Tools/Java Platforms/Add Platform/選取Remote Java Standard Editiion
相關設定如下
Platform name : 給個名字
Username : 登入樹莓派的密碼
Userpassword : 登入樹莓派的密碼
Remote JRE Path : /usr/lib/jvm/java-8-openjdk-armhs (openjdk-8的預設位置)
按下Finish後, 就會連線測試是否成功
設定
請注意, 上述雖然連線成功了, 但由於控制Raspberry的硬体設備需要root的權限. 所以需打開工作電腦netbeans中剛剛設定的Platform, 然後在Exec Prefix加入 : sudo
此時在程式傳入Raspberry板子後, 會以sudo 啟動root權限執行此程式, 然後板子上會要求輸入密碼. 為了不用輸入密碼, 請在Raspberry板子上輸入 : sudo visudo, 然後在最下面新增
skynet ALL=(ALL) NOPASSWD: ALL
接著按Ctrl+o儲存並離開
而在工作電腦開啟專案後, 於專案按右鍵/Properties/Run, 在Configuration按new, 建立一個名稱
Runtime platform : 選剛建立的Raspberry
設定好, 按下執行鍵後即會交由樹莓派執行了