最近翻起了自己之前购买的树莓派,决定拿起树莓派结合自己正在学习的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