您好,登錄后才能下訂單哦!
怎么在龍芯3B4000上部署基于.Net Core 開發(fā)的物聯(lián)網(wǎng)平臺(tái)IoTSharp,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。
今天很開心的拿到了龍芯的測試服務(wù)器賬號(hào), 先上圖show一下,
雙核, 8G內(nèi)存, 50G硬盤。
架構(gòu) mips64el
登錄后, 顯示為 uos 及其網(wǎng)址信息:
接下來, 二話不說, 我們開始下載龍芯版的.Net Core , 龍芯版.Net Core 近期剛移植完成, 前期國內(nèi)其他公眾號(hào)和開源中國均有報(bào)道, 現(xiàn)在, 相關(guān)工具鏈已完成,完全已經(jīng)達(dá)到了開箱即用, 并且已經(jīng)是.Net Core 3.1.7 是最新版本,相關(guān)下載鏈接如下:
.NET Core 3.1.7 MIPS64 Port Early Access Build 20200819
https://github.com/gsvm/loongson-dotnet/releases
由于IoTSharp 是 基于asp.net core , 因此我們首先下載 它的 安裝包, 后期如果嘗試在龍芯上開發(fā)其他內(nèi)容, 再嘗試sdk。 下載鏈接如下:
https://github.com/gsvm/loongson-dotnet/releases/download/ea-20200819/aspnetcore-runtime-3.1.7-ea-20200819-linux-loongson3a.tar.gz
github 的下載速度偶爾很快:
下載完成后, 開始解壓, 因?yàn)?nbsp;分配的賬號(hào)并沒有/usr/bin 的寫權(quán)限, 因此, 我們解壓在用戶目錄下,
tar -xzvf ./aspnetcore-runtime-3.1.7-ea-20200819-linux-loongson3a.tar.gz -C /dn/
cd dn 進(jìn)入dn目錄, 可以看到 相關(guān)內(nèi)容, 下面我們?yōu)榱朔奖悖?將他加到環(huán)境變量, 命令行輸入 vi .bashrc , 在末尾 加入下面內(nèi)容。
export PATH="$PATH://home/loongson/dn/"
現(xiàn)在, 可以直接在控制臺(tái)輸入 dotnet 方便操作。 當(dāng)然, 這些都是因?yàn)闄?quán)限問題, 無法修改系統(tǒng)文件導(dǎo)致的。 如果你有root權(quán)限, 完全不必這么做 放到/usr/bin 下面了事。
接下來, 我們發(fā)布一個(gè)IoTSharp 的版本, 發(fā)布配置如下:
記得, 一定要是 可移植的, 這樣.net 就不會(huì)針對(duì)平臺(tái)進(jìn)行特殊處理!
下面, 開始安裝postgresql .
寫到這里, 突然想起 su root , 然后輸入了龍芯給的普通用戶的密碼, 居然成功切換, 好吧, 這下我們就很順利了,
開始安裝pgsql
apt-get install postgresql-11
如圖:
安裝完成
按照說明, 我們輸入了
pg_ctlcluster 11 main start
啟動(dòng)了數(shù)據(jù)庫, 輸入下面的命令切換數(shù)據(jù)庫的系統(tǒng)用戶
su postgres
執(zhí)行 psql 修改數(shù)據(jù)庫密碼, 輸入下面的腳本
ALTER USER postgres WITH PASSWORD 'future';
如圖所示
現(xiàn)在我們開始啟動(dòng)程序, 由于我們擁有了root權(quán)限!將.net core 移動(dòng)到 /usr/bin 中, 將IoTSharp 發(fā)布的內(nèi)容上傳到 /var/iotsharp
接下來, 讓我們創(chuàng)建 系統(tǒng)服務(wù), 在當(dāng)前木目錄先創(chuàng)建文件使用命令vi iotsharp.service 編輯內(nèi)容如下:
[Unit]
Description=IoTSharp running on loongson
[Service]
WorkingDirectory=/var/iotsharp
ExecStart=/usr/bin/dotnet /var/iotsharp/IoTSharp.dll
Restart=always
# Restart service after 10 seconds if the IoTSharp service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=iotsharp
User=iotsharp
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
Environment=ASPNETCORE_URLS="http://0.0.0.0:8080"
[Install]
WantedBy=multi-user.target
復(fù)制服務(wù)文件:
cp iotsharp.service /etc/systemd/system/iotsharp.service
啟用服務(wù)
systemctl enable /etc/systemd/system/iotsharp.service
創(chuàng)建用戶
useradd iotsharp
啟動(dòng)服務(wù)
systemctl start iotsharp.service
由于當(dāng)前版本默認(rèn)啟動(dòng)了CapServer 和 ModBus 服務(wù), 由于ModBus的默認(rèn)502端口在linux下 低于1024 端口, 普通用戶使用時(shí)有權(quán)限問題, 因此 需要加入配置項(xiàng)修改一下appsettings.Production.json , 在尾部加入下面內(nèi)容, 會(huì)將默認(rèn)的ModBus 端口改為 5020
"ModBusServer": {
"Port": 5020,
"TimeOut": 120000
}
使用命令systemctl status iotsharp.service 查看IoTSharp 項(xiàng)目狀態(tài), 截圖如下:
至此, 我們搭建完成, 期間務(wù)必注意的是 pgsql一定要啟動(dòng), 一點(diǎn)iotsharp 自動(dòng)啟動(dòng), 則通過服務(wù)方式重啟或者ctl+c 的方式結(jié)束似乎都不能實(shí)現(xiàn), 系統(tǒng)重啟才行。
關(guān)于怎么在龍芯3B4000上部署基于.Net Core 開發(fā)的物聯(lián)網(wǎng)平臺(tái)IoTSharp問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。