最近翻起了自己之前購買的樹莓派,決定拿起樹莓派結合自己正在學習的Go 語言搞搞事情。這里第一先搭建環境配合運行Go 程序。
一、樹莓派的安裝
環境介紹: 樹莓派3B、WIN10、16G CLASS10 TF卡、讀卡器、Advanced IP Scanner、MobaXterm、go1.8.3.linux-armv6l.tar.gz
樹莓派是直接啟動SD卡上的系統,這里有一個16GB的TF卡,一個讀卡器,連接到電腦。在電腦上下載一個軟件 win32DiskImager 。并且到樹莓派官網下載一個最新的鏡像文件,RASPBIAN STRETCH LITE。這里因為我沒有多余的顯示器,就直接用最新的鏡像文件了。
上面都準備好了過后就可以使用 win32DiskImager 燒錄上面的 IMG文件 文件到SD卡上了,這里要注意別選錯分區。燒錄好了打開 我的電腦 找到TF卡上的 BOOT 分區,并在里面新建一個以 ssh 為名字的文件(樹莓派默認不打開ssh了,使用這個方式可以讓其默認打開ssh)。
現在可以啟動樹莓派了,插上網線到路由器上,在路由器上就可以看到樹莓派的IP了。但是因為我這里是交換機,上次也有很多設備,所以我使用了IP掃描工具 Advanced IP Scanner。掃描后可以看到我的樹莓派的 IP 是 192.168.77.140
找到IP過后就可以使用 ssh 登錄上去了(默認帳號:pi 默認密碼:raspberry)。這里我的ssh軟件使用的是 mobaXterm 非常的強大,舉個列子就是:登錄ssh上去的時候默認也會在旁邊開啟sftp,可以直接拖文件,非常的方便。
二、樹莓派的配置
樹莓派使用ssh登錄進去過后需要先配置一下,這里就介紹下最基本的配置:
2.1 密碼修改
使用下面命令,修改初始密碼。這里需要按照提示先輸入原始密碼,然后兩次輸入新密碼。
passwd
2.2 修改默認源
樹莓派的默認源是在國外,國內使用時可能會出現比較慢的情況,這里將源修改為 aliyun 提供的源。為了方便我先安裝了 vim 軟件,因為實在用不慣樹莓派自帶的 vi 軟件。
sudo apt-get update
sudo apt-get install vim -y
然后進行修改源的操作:
sudo vim /etc/apt/sources.list
//注釋掉原來的源
//然后添加以下源
deb http://mirrors.aliyun.com/raspbian/raspbian/ stretch main non-free contrib rpi
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ stretch main non-free contrib rpi
//這里因為下載的系統是 RASPBIAN STRETCH LITE 所有我這里使用了 stretch 源。
保存過后就可以直接更新了:
sudo apt-get update
sudo apt-get upgrade -y
到此系統簡單配置上來說已經完成了。
三、Go 的安裝
書寫本文時候,golang 最新版本是 1.8.3 ,同時提供了arm版本的二進制包,可以在如下網站上下載 go1.8.3.linux-armv6l.tar.gz。
下載好了之后就可以進行安裝測試了,首先將壓縮包傳入樹莓派中。這里我使用的是 mobaxterm 的sftp端,非常便捷的拖入進去了。
進入相應目錄后:
sudo tar -C /usr/local -zvxf go1.8.3.linux-armv6l.tar.gz
然后修改下環境變量,這里我就偷懶直接修改系統的。
sudo vim /etc/profile
//在文件末尾添加如下內容
export PATH=$PATH:/usr/local/go/bin
然后重啟一下樹莓派就好了。
sudo reboot
//不重啟也行,使用source 命令應用修改
source /etc/profile
到這里可以試一下看看go是否安裝好了。在bash中輸入 go 回車,如果輸出一堆東西而不是找不到文件,那么就是安裝好了。
四、實驗
環境安裝好了過后就可以嘗試下運行go程序了,編寫如下代碼:
package main
import "fmt"
func main(){
fmt.Printf("hello world\n");
}
保存為 main.go 文件。敲入以下命令:
go build main.go
strip main -o main1
ls -al
最后我們看到目錄中出現了三個文件,main main1 main.go ,查看到文件過后發現編譯生成的文件是真的大,好家伙這樣子直接1M多。strip過后也有900K左右。下面運行下看看正確否。
./main
./main1
正常輸出,沒什么毛病。