# 产品安装手册
本文档主要提供了和产品安装相关的信息以及步骤,能帮助用户更加顺畅的完成产品的安装部署工作。
## 1. 系统要求
### 1.1 操作系统
Windows |
Linux |
Windows 10 专业版 / 企业版 64bit |
Ubunut 20.04 |
### 1.2 浏览器
支持 Chrome 。
## 2. 硬件要求
### 2.1 最低配置
类别 |
精简可视化渲染 |
高精度可视化渲染 |
CPU |
Intel Core i7-8550U |
Intel Core i7-8550U |
内存 |
16GB RAM |
32GB RAM |
显卡 |
Nvidia GeForce 940MX |
Nvidia GTX 3070 |
硬盘 |
40GB 可用空间,建议 SSD |
40GB 可用空间,建议 SSD |
### 2.2 推荐配置
类别 |
配置 |
CPU |
Intel Core i9-12900K |
内存 |
64GB RAM |
显卡 |
Nvidia GTX 3090 |
硬盘 |
40GB 可用空间,建议 SSD |
```{admonition} 注意
:class: tip
如 **分布式架构**,配置传感器的机器**必须安装显卡**。
```
## 3. 产品安装
```{admonition} 注意
:class: tip
### [Windows 版本](https://nrwsxho0n9.feishu.cn/wiki/PDBaw5BcqiHuTyk8358cjFjJnUh?fromScene=spaceOverview#part-EJECdiPVcoHywHxFhUmczoKNn8b) | [**Linux 版本**](https://nrwsxho0n9.feishu.cn/wiki/PDBaw5BcqiHuTyk8358cjFjJnUh?fromScene=spaceOverview#part-OMrqdi031oNBqdxVP5RcjCeqnsu)
```
***
```{admonition} 注意
:class: tip
以下内容适用于 **协作版-客户端,企业版**
```
### 3.1 Windows
#### 3.1.1 运行安装包
将安装包和 UE 文件夹放置在同一目录内,运行安装包,根据提示先关闭系统防火墙,然后开始安装。


#### 3.1.2 选择安装版本
支持选择 **主控-master 端**(包括 master 和 agent)和 **分布式-Agent** 端。选择以 **管理员模式** 进行安装。选择后点击 **下一步** 。

```{admonition} 注意
:class: tip
如果✅ **勾选** **管理员模式** ,则系统将通过系统服务启动进程。
当后台进程由于某些未知原因挂掉后,由于管理员模式安装了系统服务,因此系统会调用管理员权限将后台进程**自动重启**。
如果🔲 **不勾选 管理员模式** ,则系统将通过脚本来启动进程。
一旦后台进程由于某些未知原因挂掉,系统将无法自动重启,只能**手动重启**进程。
```
#### 3.1.3 选择安装路径
在界面的安装路径窗口输入 **安装路径**,选中 **我已经阅读并认可《软件许可及服务协议》**,点击 **立即安装** 。
```{admonition} 注意
:class: tip
安装路径需提前手动检测**磁盘空间大小**是否满足安装的**最低要求 40G** 。
```

#### 3.1.4 等待安装完成
系统会自动为您安装渲染引擎,安装所需时间较长,需耐心等待。(如果此前已经勾选了 **管理员模式** ,那么在安装过程中可能会出现一次授权提示。)

#### 3.1.5 安装完成后并启动 SimOne 界面
安装完成后,点击开始使用即可启动 SimOne 界面,同时桌面会生成一个 SimOne 的快捷方式,方便用户打开或关闭应用。

#### 3.1.6 更改服务器地址(仅限协作版需要)
1. 打开 **SimOneLauncher**系统托盘,**更改**默认的服务器地址为 **自己的服务器地址。**
2. 点击 **停止** 和 **启动 ,**实现重启 SimOne 即可正常使用**。**

```{admonition} 注意
:class: tip
对于需要牵涉到算法对接、构建多车互动的分布式系统用户,请参考 [分布式系统](https://nrwsxho0n9.feishu.cn/wiki/TL43wXlKHipNrVkMDNzce5OFnON) 完成后续操作。
```
***
***
```{admonition} 注意
:class: tip
以下内容适用于**协作版-客户端(Linux),企业版**
```
### 3.2 Linux
SimOne 支持自动安装环境,也可以手动安装环境。
* **自动安装**环境会安装固定版本的软件。
* **手动安装**的显卡驱动版本和 Docker 版本可以根据自己的需要进行调整。
#### 3.2.1 手动安装所需环境
##### 3.2.1.1 安装 **Ubuntu 系统**
本文档描述的是在 Ubuntu20.04 的安装步骤,如果您的电脑使用的是 CentOS 或者其他 Linux 发行版本,请首先安装 Ubuntu20.04 版本。

##### 3.2.1.2 **安装显卡驱动**
###### 3.2.1.2.1 安装方法一
1. 查看显卡硬件型号:在终端输入
```plain text
ubuntu-drivers devices
```
可以看到本机所安装的显卡型号和推荐安装的版本号。
2. 如果同意安装推荐的驱动版本,只需在终端输入:
```plain text
sudo ubuntu-drivers autoinstall
```
就可以自动安装了,也可以使用 apt 命令安装自己想要安装的版本,终端输入:
```plain text
sudo apt install nvidia-xxx
```
就可以自动安装了,安装过程中提示都选择默认即可。
3. 安装完成后重启系统,NVIDIA 显卡就可以正常工作了。
###### 3.2.1.2.2 安装方法二
1. 打开 **软件和更新**(software & updates) 软件,如下图所示:

2. 选择 Additional Drivers 选项卡,如果已安装驱动,系统会提示已使用(如图),如果未安装,系统会自动检测电脑的显卡驱动,点击显示对应的显卡驱动就可以了。 同样,安装完成后重启电脑即可。

##### 3.2.1.3 安装 **Docker CE 社区版本**
1. 更新现有包列表:
```plain text
sudo apt update
```
安装几个依赖包,让 apt 可以支持 HTTPS:
```plain text
sudo apt install apt-transport-https ca-certificates curl software-properties-common
```
2. 将官方 Docker 库的 GPG 公钥添加到系统中:
```plain text
curl -fsSL https://download.Docker.com/linux/ubuntu/gpg | sudo apt-key add -
```
将 Docker 库添加到 APT 里:
```plain text
sudo add-apt-repository "deb [arch=amd64] https://download.Docker.com/linux/ubuntu focal stable"
```
再次更新现有包列表
```plain text
sudo apt update
```
3. 为了确保修改生效,让新的安装从 Docker 库里获取,而不是从 Ubuntu 自己的库里获取,执行:
```plain text
apt-cache policy Docker-ce
```
可能会看到如下图的输出,各个系统的情况可能略有不同。
```plain text
Docker-ce:
Installed: (none)
Candidate: 5:19.03.9~3-0~ubuntu-focal
Version table:
5:19.03.9~3-0~ubuntu-focal 500
500 Index of linux/ubuntu/ focal/stable amd64 Packages
```
输出显示,Docker-ce(ce 是社区版的意思)还没有安装。
4. 开始安装
```plain text
sudo apt install Docker.io
```
Docker 应该已经安装好了,守护进程也开启了,开机启动也开启了。我们看看 Docker 的运行状态吧。
```plain text
sudo systemctl status Docker
```
输出如下:
```plain text
Output
● Docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/Docker.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2020-05-19 17:00:41 UTC; 17s ago
TriggeredBy: ● Docker.socket
Docs: https://docs.Docker.com
Main PID: 24321 (Dockerd)
Tasks: 8
Memory: 46.4M
CGroup: /system.slice/Docker.service
└─24321 /usr/bin/Dockerd -H fd:// --
containerd=/run/containerd/containerd.sock
```
##### 3.2.1.4 安装 nvidia-Docker2
```plain text
sudo curl -sk -L https://nvidia.github.io/nvidia-Docker/gpgkey | sudo apt-key add -distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
sudo curl -sk -L https://nvidia.github.io/nvidia-Docker/$distribution/nvidia-Docker.list
sudo tee /etc/apt/sources.list.d/nvidia-Docker.list
sudo apt-get update
sudo apt-get install -y nvidia-Docker2
sudo pkill -SIGHUP Dockerd
sudo systemctl daemon-reload
sudo systemctl restart Docker
```
##### 3.2.1.5 安装 UE 软件包
```{admonition} 注意
:class: tip
安装路径中不能包含 **双空格**和 **中文字符**。
```
1. 将安装包拷到指定目录并解压 *SimOne-ue-enterprise-release*。
2. 在解压的文件夹下选择 并进入 *SimOne-ue* 子目录,右键单击选择 **在终端打开** 。

2. 运行 *`sudo ./install-ue.sh`* 脚本文件,系统开始自动安装 UE 软件包,按照默认操作等待安装结束,如需 Web IP 输入本机 IP。

3. 安装成功后在使用高精渲染前需要启动 UE,则需要在相同目录下运行 *`sudo ./start-ue.sh`* ,如需停止使用则运行 *`sudo ./stop-ue.sh`* 。
##### 3.2.1.6 安装 Ubuntu 版本的 SimOne
```{admonition} 注意
:class: tip
安装路径中不能包含 **双空格** 和 **中文字符**。
```
1. 将安装包拷到指定目录并解压 *SimOne\_Linux\_Enterprise.zip* 。

2. 在解压后的文件夹下选择并进入 SimOne 子目录,右单击选择在终端打开。
3. 运行 *`sudo ./install.sh`* 脚本文件,系统开始自动安装 SimOne 仿真软件。
##### 3.2.1.7 配置云端服务器地址
1. 打开目录/var/lib/docker/volumes/simone-data/\_data/congfig.json; 打开config.json文件,修改云端服务器地址;

2. 修改完成后,如有加密狗可先插入加密狗(无加密狗,客户端只能编辑用例,但不能运行用例),在 SimOne 的安装目录下执行 *`sudo ./start.sh`* 脚本启动 SimOne 仿真软件,显示 SimOne(docker 名称),表示启动成功。
3. 打开浏览器:*www.localhost:30083*,即可看到仿真软件的使用界面。
4. 如需停止软件,则在相同目录下执行 *`sudo ./stop.sh`* ,关闭仿真软件。
```{admonition} 注意
:class: tip
后续使用中若需修改服务器地址或重新插入加密狗,需要重新启动 SimOne。
```
### 3.3 相关问题
#### 3.3.1 产品安装加密狗相关问题(客户端)
```{admonition} 注意
:class: tip
C-NCAP2021-CCRm-AEB-40km/h,加密狗验证失败
```
安装 SimOne 成功后,如果加密狗插入正确,即可正常操作软件,如果运行过程中将加密狗拔出,或者安装过程中没有插入加密狗,那么能正常进入界面。在选择案例运行后,页面右上角会弹出提示,告知用户未插入加密狗,案例无法运行。

#### 3.3.2 未安装正确路径导致的问题
```{admonition} 注意
:class: tip
* line 6: cd: too many arguments
* unable to find image '3.3:latest' locally
* docker:Error response from daemon: pull access denied for 3.3, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
* See 'docker run --help'.
* install SimOne-ue success.
```
```{admonition} 注意
:class: tip
* Failed to PreAllocate - reason: no work node ===>CybertronObserver
```
安装路径中不能包含 **双空格** 和 **中文字符** 。ue 安装失败,运行案例的时候找不到 ue 引擎,所以就会有以下截图中的错误提示。


## 4. 产品卸载
```{admonition} 注意
:class: tip
## [Windows 版本](https://nrwsxho0n9.feishu.cn/wiki/PDBaw5BcqiHuTyk8358cjFjJnUh?fromScene=spaceOverview#doxcnA8H6B4tSfW6OGfNI7pIwZg) | [**Linux 版本**](https://nrwsxho0n9.feishu.cn/wiki/PDBaw5BcqiHuTyk8358cjFjJnUh?fromScene=spaceOverview#doxcnglpxO9HmXzNmcmIoYo3iqr)
```
***
```{admonition} 注意
:class: tip
以下内容适用于**协作版-客户端(Windows),企业版**
```
### 4.1 Windows
1. 右键点击 **SimOneLauncher** 系统托盘,点击 **退出** ,确认关闭所有运行任务。

2. 打开 SimOne 安装的路径文件夹,点击 *uninst.exe* 应用,即可按照提示卸载 SimOne 应用。
```{admonition} 注意
:class: tip
在卸载已安装的版本的 SimOne 时,会询问用户数据是否保存:
**单机版**:数据包括创建的案例、新建的主车、导入的地图、创建的任务等。
**协作版-客户端**:数据包括客户端添加的算法、创建的任务。
```


3. 点击 **完成**,即可完成卸载的流程。
***
```{admonition} 注意
:class: tip
以下内容适用于**协作版-客户端(Linux),企业版**
```
### 4.2 Linux
1. 可以通过 *`sudo Docker ps -a`* 查看 container,通过 *`sudo Docker Docker images`* 查看镜像。
2. 查询到 SimOne 相关的 container 后,使用 *`sudo Docker rm XXX`* (查到的 container ID)删除 container,再使用 *`sudo Docker rmi XXX`* (查询到的 image 名称或 ID)删除镜像,卸载完成。