原由,因爲coolpy5核心轉換到go語言開發,因此目前超人正在進行相關的技術攻關,在程序編寫方面一切都相對順利。因爲coolpy5是一個真正的商業級性能的系統也考濾到coolpy以前的版本已經肯定的coolpy是支持以家庭路由器爲霧計算節點直接實現智能家居或智慧農業的離線解決方案,因此超人才進行了這一次技術預測試,也爲之後coolpy這環節的閉環做準備工做。如下文章關於openwrt相關的基礎將會略過,看不懂的朋友請自行查找相關知識點。linux
略過知識點:git
1.linux基礎(交叉編譯基礎)github
2.openwrt管理(openwrt基礎)golang
遊戲開始:vim
1.首先經過putty鏈接到路由器看看路由器cpu架構/這裏邊有一個錯誤,你看到的全部cpu相關的描述都是mips字眼,其實極1s路由器的這個cpu(mt7620a)是mipsel架構,即在交叉編譯時咱們所設置的goarch參數應該是mips32le才正確,若是你使用的cpu是用mips的其餘路由器請自行把這個參數設置爲mips32便可。bash
2.交叉編譯環境配置,go-mips32這個項目維護人數是400+人,我我的推測這多是 golang團隊牽頭的,但願之後能正式集成到golang的新版本中。架構
//下載go-mips32源
git clone https://github.com/gomini/go-mips32.git
cd go-mips32/src性能
//配置GO編譯參數
export GOOS=linux
export GOARCH=mips32le <== Change to mips32 if mips測試
//執行編譯ui
./make.bash
cd ..
//建立編譯後文件存放文件夾
sudo mkdir /opt/mipsgo
//複製
sudo cp -R * /opt/mipsgo
//go工程參數配置
export GOROOT=/opt/mipsgo
export PATH=/opt/mipsgo/bin:$PATH
3.編譯go程序做爲測試
mkdir /opt/slu
cd /opt/slu
vim main.go
//源代碼………………………………………………………….
package main
import "fmt"
func main() {
fmt.Println("hello icoolpy.com")
}
//源代碼…………………………………………………
//保存退出
因爲以上已經設置了path因此在編譯打包go源代碼時要直接在要打包的.go程序文件夾下直接執行go build指令便可go build main.go
在當前目錄下會生成編譯後的執行文件,這個文件就是咱們的程序,能夠直接在極路由1s的openwrt系統裏運行
把main文件經過WinSCP上傳到路由器文件系統
提權main文件,默認狀況下main文件是沒有執行權限的,因此經過指令提權讓它能夠被運行,修改爲功後能夠看到main文件顯示爲綠色。
執行main程序測試運行
hello icoolpy.com已被打印出來,說明程序已正常運行。
//補充…………………………………………………………………………
若是開發後的源代碼須要引用到其餘源,須要在go build 命令執行以前把這些包的源代碼放到目標目錄下(本例): /opt/mipsgo/src/
注意:若是你用的是虛擬機運行的編譯系統,在主系統拖放包到虛擬系統時要注意複製進去的文件是否都正常,最好先打包爲zip再拖進虛擬系統。
結束語:
Coolpy5將以上億級的物聯網運行設備爲設計開發目標的物聯網系統,將繼續支持hub節點離線運行於由路器做爲霧計算終端。