Skip to content

Commit 6cee7db

Browse files
committed
feat: 添加 .NET SDK 9.0 安装脚本,并更新 README 说明
1 parent ce8da1d commit 6cee7db

File tree

3 files changed

+92
-2
lines changed

3 files changed

+92
-2
lines changed

doc/install_dotnet_sdk_9.sh

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
#!/bin/bash
2+
3+
# 定义变量
4+
DOTNET_VERSION="9.0.200"
5+
INSTALL_DIR="/opt/dotnet"
6+
DOTNET_ROOT="$INSTALL_DIR"
7+
DOTNET_BIN="$INSTALL_DIR"
8+
PROFILE_FILE="/etc/profile.d/dotnet.sh"
9+
10+
ARCHITECTURE=$(uname -m)
11+
12+
case $ARCHITECTURE in
13+
x86_64)
14+
RUNTIME="x64"
15+
;;
16+
aarch64)
17+
RUNTIME="arm64"
18+
;;
19+
arm*)
20+
RUNTIME="arm"
21+
;;
22+
*)
23+
echo "不支持的架构: $ARCHITECTURE"
24+
exit 1
25+
;;
26+
esac
27+
28+
DOTNET_TAR_URL="https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET_VERSION/dotnet-sdk-$DOTNET_VERSION-linux-$RUNTIME.tar.gz"
29+
30+
31+
# 检查是否已经安装了 .NET SDK 9.0.200
32+
if [ -d "$INSTALL_DIR" ] && [ -x "$INSTALL_DIR/dotnet" ]; then
33+
INSTALLED_VERSION=$("$INSTALL_DIR/dotnet" --version)
34+
if [ "$INSTALLED_VERSION" == "$DOTNET_VERSION" ]; then
35+
echo ".NET SDK $DOTNET_VERSION 已经安装。"
36+
exit 0
37+
fi
38+
fi
39+
40+
# 下载并解压 .NET SDK
41+
echo "正在下载 .NET SDK $DOTNET_VERSION..."
42+
wget -q $DOTNET_TAR_URL -O dotnet-sdk-$DOTNET_VERSION.tar.gz
43+
44+
if [ $? -ne 0 ]; then
45+
echo "下载 .NET SDK 失败。"
46+
exit 1
47+
fi
48+
49+
echo "正在解压 .NET SDK..."
50+
sudo mkdir -p $INSTALL_DIR
51+
sudo tar -zxf dotnet-sdk-$DOTNET_VERSION.tar.gz -C $INSTALL_DIR
52+
53+
if [ $? -ne 0 ]; then
54+
echo "解压 .NET SDK 失败。"
55+
exit 1
56+
fi
57+
58+
# 配置环境变量
59+
echo "正在配置环境变量..."
60+
sudo bash -c "cat > $PROFILE_FILE << EOL
61+
export DOTNET_ROOT=$DOTNET_ROOT
62+
export PATH=\$PATH:$DOTNET_BIN
63+
EOL"
64+
65+
# 确保环境变量立即生效
66+
source $PROFILE_FILE
67+
68+
# 验证安装
69+
echo "验证 .NET SDK 安装..."
70+
INSTALLED_VERSION=$("$INSTALL_DIR/dotnet" --version)
71+
if [ "$INSTALLED_VERSION" == "$DOTNET_VERSION" ]; then
72+
echo ".NET SDK $DOTNET_VERSION 安装成功。"
73+
else
74+
echo ".NET SDK 安装失败。"
75+
exit 1
76+
fi
77+
78+
# 清理临时文件
79+
rm dotnet-sdk-$DOTNET_VERSION.tar.gz
80+
81+
echo "所有操作完成。"

readme.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,13 @@ dotnet publish ./src/EdgeVoice.csproj -r linux-arm -p:PublishSingleFile=true -f
4343

4444
- 树莓派需要修改 `linux-arm``linux-arm64`
4545
- 如果需要框架依赖,删除 `--self-contained=false` 参数即可
46-
- 使用的库 Alsa 不支持 Windows,所以 Windows 下无法运行
46+
- 使用的库 Alsa 不支持 Windows,所以 Windows 下无法运行
47+
48+
本项目 Release 提供了框架依赖的版本,可以直接下载使用。需要安装 .NET 9.0 运行时。可使用 `doc\install_dotnet_sdk_9.sh` 脚本安装。
49+
50+
## 接入 Azure OpenAI Realtime API
51+
52+
- 前往[Azure AI Foundry](https://oai.azure.com/?wt.mc_id=DT-MVP-5005195)部署实时音视频资源
53+
- 配置 `appsettings.json` 中的 `AzureOpenAIRealtimeApi` 节点
54+
- 无显示屏则将 `LcdSettings` 节点的 `SpiBus` 设置为 `-1` 即可
55+
- 运行程序即可

src/Services/LcdService.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public LcdService(ILogger<LcdService> logger, IOptions<LcdSettings> settings)
4343
_logger = logger;
4444
_settings = settings.Value;
4545

46-
if(_settings == null || _settings.SpiBus == -1 || _settings.SpiChip == -1)
46+
if(_settings.SpiBus == -1 || _settings.SpiChip == -1)
4747
{
4848
_logger.LogWarning("未配置显示器,将禁用显示功能");
4949
return;

0 commit comments

Comments
 (0)