前言
????????最近有幸收到一份新款 OrangePi AIpro 開發板,之前手里也搗鼓過一些板子,這次嘗試從零開始部署一個簡單的后端服務。OrangePi AIpro 采用昇騰AI技術路線,具體為4核64位處理器+AI處理器,可配16GB內存容量,各種復雜應用都能流暢運行,板載1000Mbps以太網,傳輸更快更穩定,配置了各種豐富的接口,應用場景廣泛。
開發板簡介
- OrangePi AIpro 開發板配備4核64位處理器+ AI處理器, 8GB/16GB的LPDDR4X內存,足以滿足大部分的AI推理應用場景和其他大內存的產品應用場景,速度更快,功耗更低。
- 支持雙HDMI視頻輸出,支持雙4K高清輸出,支持一個MIPI DSI屏輸出,支持兩個MIPI接口攝像頭輸入,足夠滿足在有視頻源輸入場景的需求。
- 板載支持1000Mbps以太網,擁有wifi 2.5G/5G和有線兩種接入方式,網絡連接更大、更穩定,傳輸更高速。
- 板載M.2接口,支持接入SATA/NVMe SSD 2280硬盤,增加海量數據存儲空間,滿足快速讀寫和大容量存儲的需求。
- 匯聚了MIPI DSI、MIPI CSI、USB 3.0、Type-C 3.0、HDMI 2.0、千兆以太網、支持SATA/NVMe SSD 2280的M.2插槽等各類流行的接口,可應用于外部設備控制和擴展。
配圖:



開發版資料
? ? ? ? 在體驗的過程中, OrangePi AIpro 開發板的資料是非常全面,這也是我完全沒有想到的,這也讓我在后面的配置中少走了很多彎路。不過這里也稍微提一點建議,可以將資料分發在不同的平臺進行下載,畢竟“云盤限速”很煩人。
? ? ? ? 開發版資料:訪問鏈接

系統安裝
1、前期準備
必需品:
????????Orange Ai Pro開發版一塊、TF卡(建議32GB或以上)、TF讀卡器、一臺電腦、有線網絡或WIFI
非必需品:
????????HDMI顯示器連接線、串口線、顯示器、外接鼠標、外接鍵盤等
電腦所需安裝軟件:
????????balenaEtcher(燒錄鏡像軟件)、MobaXterm(或其他遠程軟件,如xShell等)
鏡像準備:
? ? ? ? 下載官方鏡像中的 ubuntu 鏡像?
2、燒錄鏡像
????????將準備的TF卡插入TF讀卡器,并插入準備好的電腦中,確認TF卡中的數據已經備份(數據無價);
????????在電腦打開?balenaEtcher 軟件,將準備的鏡像燒錄到TF卡中,如圖1-2-1。建議使用 Portable 版本不需要安裝,打開即可使用。燒錄過程中出現了如圖1-2-2報錯,我是通過 7zip 解壓后重新燒錄,可以成功。

? ? ? ??

3、配置TF卡啟動
? ? ? ? 確認 OrangePi AIpro 開發板啟動設置是否配置為從 TF 卡啟動,如果不是,得按照文檔撥動開關到從 TF 卡啟動的配置下(撥動開關都撥到右邊)。撥動開關位置如圖1-3-1,撥動開關對應說明如圖1-3-2。注意:切換撥碼開關后,必須插拔電源重新上下電才能生效。開發板的復位按鍵是不會使新的撥動開關配置生效。


4、上電啟動
? ? ? ? 將TF卡插到?OrangePi AIpro 開發板上,如圖1-4-1,有條件可接入 HDMI 顯示器,重新下上電。等待1分鐘左右,屏幕上顯示系統登錄頁面,如圖1-4-2。登錄的賬號為HwHiAiUser,密碼為Mind@123。


5、遠程連接
????????在 OrangePi AIpro 開發板上輸入 ifconfig 獲取當前設備ip或者在路由器上獲取 ?OrangePi AIpro 開發板的ip地址。
????????打開 MobaXterm 或其他ssh工具(如xShell等),在工具中輸入ip地址、端口號、用戶名,點擊連接,端口號默認22,如圖1-5-1。輸入密碼后即可連接上,注意輸入密碼時不會顯示,直接輸入后回車即可。

6、更新配置
????????在命令行中執行以下命令切換root賬號
sudo -i
????????在命令行執行以下命令創建對應文件夾備用
mkdir -p /data/software
mkdir -p /data/download
mkdir -p /data/project
????????在命令行執行以下命令更新 apt 包,確保后續能下載更新包
apt update
環境配置
1、安裝運維工具
? ? ? ? 進入下載文件夾/data/download
cd /data/download
? ? ? ? 輸入以下命令運行安裝運維工具 1panel,參考在線文檔:鏈接
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh
2、安裝JDK和maven環境
????????在命令行執行以下命令安裝jdk17和maven
apt install openjdk-17-jdk
apt install maven
????????系統默認存在git環境,可以不用安裝
3、編寫springboot測試用例
????????編寫 springboot 項目,在項目中編寫一個接口,返回字符串信息。代碼如下:
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/test")
public class TestController {@RequestMapping(value = "/get",method = RequestMethod.GET)public String get(){return "Hello World";}}
? ? ? ? 或者直接使用項目地址:gitee地址
4、一鍵發布
? ? ? ? ?通過ip和配置的端口進入運維頁面,登錄配置的用戶名和密碼。登錄后在左側菜單中點擊創建計劃任務,如圖2-4-1

? ? ? ? 創建 Shell 腳本的任務,腳本內容中輸入以下腳本,如圖2-4-2
#發布分支或tag
projectTag=master
#發布jar包版本
projectVersion=0.0.1-SNAPSHOT
#git名稱
gitName=springboot
#系統名稱
projectName=springboot
#基本路徑
basePath=/data/project
#git倉庫token
gitToken=token
#git倉庫地址
git=gitee.com/hufewzk/springboot.git
gitPathName=git
dockerPathName=docker
#系統clone路徑
projectPath=${basePath}/${projectName}
#docker發布系統路徑
dockerPath=${projectPath}/${dockerPathName}/${projectName}
# 移除項目文件夾
if [ -d "${projectPath}/" ];thenrm -rf ${projectPath}/
elseecho '不存在'${projectPath}'項目文件夾'
fi
#創建項目文件夾
mkdir -p ${projectPath}/${dockerPathName}/${projectName}
cd ${projectPath}
git clone --branch ${projectTag} https://oauth2:${gitToken}@${git}
mv ${gitName} ${gitPathName}
cd ${gitPathName}
mvn clean package -Dmaven.test.skip=true
mv ${projectPath}/${gitPathName}/target/${gitName}-${projectVersion}.jar /${projectPath}/${dockerPathName}/${projectName}.jar
mv ${projectPath}/${gitPathName}/workWXbin/linux /${projectPath}/${dockerPathName}/linux
mv ${projectPath}/${gitPathName}/Dockerfile ${projectPath}/${dockerPathName}/Dockerfile
mv ${projectPath}/${gitPathName}/docker-compose.yml ${dockerPath}/docker-compose.yml
cd ${projectPath}/${dockerPathName}
docker stop ${projectName}
docker rm ${projectName}
docker rmi ${projectName}/${projectName}:latest
docker rmi $(docker images -f "dangling=true" -q)
docker build --rm -t ${projectName}/${projectName}:latest .
cd ${dockerPath}
/usr/local/bin/docker-compose up -d

????????點擊執行,在報告中顯示輸出信息,沒有報錯則發布成功。在容器中也能看到發布的?springboot 項目
5、測試接口
? ? ? ? 在電腦瀏覽器中輸入 http://{ip}:8081/test/get 訪問,瀏覽器打印如下,則發布成功,如圖2-5-1

使用測評
? ? ? ? 這款?OrangePi AIpro 開發板除了能滿足普通應用程序的需求,如:自開發項目、Home Assistant、Halo等,也能部署 AI 項目,有強大 AI 處理器的性能支撐,如:Ollama、RAGFlow、官方示例等。它擁有的豐富的硬件接口、便捷的開發環境和完整的文檔支撐,能應對不同的使用場景。其功耗低,運行穩定,搭一個 nas 也是一個不錯的選擇。
????????資源消耗和運行時間如圖3-1-1、圖3-1-2:


結論
????????OrangePi AIpro 開發板滿足了我日常開發和生活使用,性價比高,完善的文檔支撐和豐富的樣例,會讓使用者少走很多彎路。建議的話,還是希望文檔等資料能夠提供不同途徑的下載方式,如阿里云盤、夸克云盤等;還有在扇熱風扇的聲音上還能夠減少一點。后續這塊板子我也將用來發布?Home Assistant ,將智能家居設備聯動起來,期待它能有更好的表現。
? ? ? ? 最后期待國產AI開發板能夠越做越好,在未來的項目中能夠發揮越來越重要的作用。