標籤:
起因,由於coolpy5核心轉換到go語言開發,所以目前超人進行中相關的技術攻關,在程式編寫方面一切都相對順利。由於coolpy5是一個真正的商業級效能的系統也考濾到coolpy之前的版本已經確定的coolpy是支援以家庭路由器為霧計算節點直接實現智能家居或智慧農業的離線解決方案,所以超人才進行了這一次技術預測試,也為以後coolpy這環節的閉環作準備工作。以下文章關於openwrt相關的基礎將會略過,看不懂的朋友請自行尋找相關知識點。
略過知識點:
1.linux基礎(交叉編譯基礎)
2.openwrt管理(openwrt基礎)
遊戲開始:
1.首先通過putty串連到路由器看看路由器cpu架構/這裡邊有一個錯誤,你看到的所有cpu相關的描述都是mips字眼,其實極1s路由器的這個cpu(mt7620a)是mipsel架構,即在交叉編譯時間我們所設定的goarch參數應該是mips32le才正確,如果你使用的cpu是用mips的其他路由器請自行把這個參數設定為mips32即可。
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
//執行編譯
./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已被列印出來,說明程式已正常運行。
結束語:
Coolpy5將以上億級的物聯網運行裝置為設計開發目標的物聯網系統,將繼續支援hub節點離線運行於由路器作為霧計算終端。
極路由1s(mt7620a)OpenWrt交叉編譯go程式