(1)英特尔工业边缘洞见平台(EII)安装指南
1. 簡介
EII全稱Open Edge Insights for Industrial,開源工業(yè)邊緣洞見平臺(tái)。該平臺(tái)由Intel公司研發(fā)并開源,開源倉庫位于Github(https://github.com/open-edge-insights)。EII通常部署在工業(yè)邊緣節(jié)點(diǎn),用于視頻數(shù)據(jù)/時(shí)序數(shù)據(jù)的采集,分析和可視化。EII采用Docker容器化的部署方式,具有很好的靈活性和可擴(kuò)展性。EII采用源碼發(fā)布的方式,用戶可以下載EII源代碼進(jìn)行二次開發(fā)。
EII的架構(gòu)圖如下,主要包含了機(jī)器視覺和時(shí)序數(shù)據(jù)相關(guān)的兩類功能模塊,各個(gè)模塊可以通過EII消息總線(EII Message Bus)進(jìn)行通訊。
EII目前有2種下載安裝方式。1) 通過Github下載EII源碼,2) 通過EII官方網(wǎng)站下載EII源碼包。
- EII官方網(wǎng)站:https://intel.com/edge-insights-industrial
- EII官方Github倉庫:https://github.com/open-edge-insights
- EII官方Docker Hub倉庫:https://hub.docker.com/u/openedgeinsights
- EII開發(fā)手冊(cè):https://open-edge-insights.github.io/
對(duì)于開發(fā)者而言,筆者更推薦使用Github下載EII源碼進(jìn)行安裝,這樣在二次開發(fā)過程中,方便用Git工具管理源碼。所以本文將介紹在Ubuntu 20.04系統(tǒng)上通過Github安裝EII 3.0的方法。
2. 預(yù)先步驟
-
在設(shè)備上安裝Ubuntu 20.04 LTS。
-
將設(shè)備連接互聯(lián)網(wǎng)。本文假設(shè)用戶是在國內(nèi)網(wǎng)絡(luò)(PRC網(wǎng)絡(luò))環(huán)境下進(jìn)行安裝,國內(nèi)網(wǎng)絡(luò)訪問國外資源時(shí),經(jīng)常會(huì)遇到訪問失敗的問題,導(dǎo)致安裝EII失敗。所以本文會(huì)介紹一些"換源"的操作來幫助國內(nèi)用戶解決安裝失敗的問題。若用戶有網(wǎng)絡(luò)代理(proxy)等服務(wù)能夠直接訪問國外資源,則本文很多"換源"操作可以跳過。
-
(For PRC網(wǎng)絡(luò)) 將apt源設(shè)置為國內(nèi)源(如阿里源),可加速apt依賴包的下載。
-
設(shè)置方法:點(diǎn)擊Ubuntu桌面左下角"九個(gè)點(diǎn)" -> 打開"Software & Updates"應(yīng)用程序 -> 在"Ubuntu Software"標(biāo)簽欄下的"Download from"選項(xiàng),選擇"Other…" : “China” : “mirrors.aliyun.com” -> 點(diǎn)擊"Choose Server" -> 點(diǎn)擊"Close" -> 在彈出的對(duì)話框中點(diǎn)擊"Close" -> 等待"Cache Refresh"結(jié)束(若Cache Refresh失敗可忽略)。
-
打開命令行,執(zhí)行如下命令更新apt源。
-
-
(For PRC網(wǎng)絡(luò)) 將pip源設(shè)置為國內(nèi)源(如清華源),可加速python依賴包的下載。
- 新建"pip.conf"文件
- 在"pip.conf"文件中添加如下內(nèi)容:
- 更新pip工具。
3. 開始安裝
3.1 安裝依賴工具
- 安裝預(yù)備工具。
- 配置git參數(shù)。
- 配置python軟鏈接(后續(xù)使用的"repo"工具需要這項(xiàng)配置)。
- 安裝repo工具。
- 執(zhí)行如下命令,若成功打印repo的版本信息,則說明repo安裝成功。
- (For PRC網(wǎng)絡(luò)) 設(shè)置repo url,國內(nèi)網(wǎng)絡(luò)可能無法訪問repo某些位于國外的源,可通過如下命令,將repo url修改為國內(nèi)的源。
3.2 拉取EII源碼
- 新建一個(gè)工作目錄(例如"~/eii"),并進(jìn)入。
- 拉取EII倉庫清單(以v3.0版本為例)。清單文件保存在目錄".repo/manifests"下。
若需要拉取EII其他版本,修改"-b"參考后的tag標(biāo)簽即可。
-
(For PRC網(wǎng)絡(luò)) 修改".repo/manifests/default.xml"文件,將Github地址修改為Gitee。repo工具在國內(nèi)網(wǎng)絡(luò)環(huán)境下拉取Github代碼時(shí)會(huì)超時(shí),故將代碼庫從Github修改為Gitee (EII在Gitee有一個(gè)與Github保持同步的鏡像倉庫)。
用編輯器(如gedit)打開".repo/manifests/default.xml"文件
$ gedit .repo/manifests/default.xml參考如下內(nèi)容進(jìn)行修改:
# 將"default.xml"的第3,4行 <remote name="origin" fetch="https://github.com/open-edge-insights" /> <remote name="github-origin" fetch="https://github.com/intel" /># 修改為如下內(nèi)容 <remote name="origin" fetch="https://gitee.com/open-edge-insights" /> <remote name="github-origin" fetch="https://gitee.com/mirrors_intel" /> -
拉取EII源碼。
- 拉取成功后,EII源碼即保存在目錄"~/eii/IEdgeInsights中。
3.3 安裝EII運(yùn)行環(huán)境
- 安裝docker和docker-compose
通過如下命令,安裝和設(shè)置docker,docker-compose
# 創(chuàng)建一個(gè)目錄用來存放安裝包,并進(jìn)入 $ mkdir -p ~/eii/installer && cd ~/eii/installer# 下載安裝包 (從docker官網(wǎng)下載安裝包速度較慢,故選擇從gitee上下載) $ wget https://gitee.com/open-edge-insights/eii-install-guide/attach_files/873577/download/docker-ce_20.10.9_3-0_ubuntu-focal_amd64.deb $ wget https://gitee.com/open-edge-insights/eii-install-guide/attach_files/873579/download/docker-ce-cli_20.10.9_3-0_ubuntu-focal_amd64.deb $ wget https://gitee.com/open-edge-insights/eii-install-guide/attach_files/873578/download/containerd.io_1.4.11-1_amd64.deb $ wget https://gitee.com/open-edge-insights/eii-install-guide/attach_files/873576/download/docker-compose-Linux-x86_64-v1.29.0# 安裝docker $ sudo dpkg -i docker-ce_*.deb docker-ce-cli_*.deb containerd.io_*.deb# 安裝docker-compose $ sudo cp docker-compose-Linux-x86_64-v1.29.0 /usr/local/bin/docker-compose $ sudo chmod +x /usr/local/bin/docker-compose $ sudo ln -sf /usr/local/bin/docker-compose /usr/bin/docker-compose# 將當(dāng)前用戶添加到"docker"用戶組,使得當(dāng)前用戶不加"sudo"也可以使用docker命令 $ sudo groupadd docker $ sudo usermod -aG docker $USER $ newgrp docker-
安裝EII依賴環(huán)境,安裝腳本位于"IEdgeInsights/build/pre_requisites.sh"。
- (For PRC網(wǎng)絡(luò)) 如果是國內(nèi)網(wǎng)絡(luò)環(huán)境下安裝,需要對(duì)"pre_requisites.sh"腳本做一些修改:該腳本會(huì)通過嘗試連接google官方來測試網(wǎng)絡(luò)是否暢通,這個(gè)步驟在國內(nèi)網(wǎng)絡(luò)環(huán)境會(huì)失敗,導(dǎo)致腳本退出,估將google修改為baidu。
用編輯器(如gedit)打開"IEdgeInsights/build/pre_requisites.sh"文件
$ cd ~/eii/IEdgeInsights/build $ gedit pre_requisites.sh參考如下內(nèi)容進(jìn)行修改:
# 將"pre_requisites.sh"的第161行 wget http://www.google.com > /dev/null 2>&1 # 修改為如下內(nèi)容 wget http://www.baidu.com > /dev/null 2>&1# 將"pre_requisites.sh"的第196行 pip3 install -r requirements.txt # 修改為如下內(nèi)容 pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/- 執(zhí)行腳本,安裝EII所需依賴環(huán)境。
-
修改EII配置文件"IEdgeInsights/build/.env".
參考如下內(nèi)容進(jìn)行修改:
# 第36行, 開發(fā)階段建議將dev_mode設(shè)置為true DEV_MODE=true# 第106-110行, 設(shè)置相關(guān)服務(wù)模塊的用戶名和密碼 (具體的用戶名和密碼用戶可自行調(diào)整) # Service credentials # These are required to be updated in both DEV mode & PROD mode ETCDROOT_PASSWORD=admin123 INFLUXDB_USERNAME=admin INFLUXDB_PASSWORD=admin123 MINIO_ACCESS_KEY=admin@123 MINIO_SECRET_KEY=admin@123- 重啟機(jī)器使得docker相關(guān)的配置生效。
3.4 運(yùn)行PCBA缺陷檢測案例
- 查看“video-streaming.yml”文件,檢查PCBA案例中包含哪些服務(wù)模塊。
- 執(zhí)行編譯腳本。該腳本會(huì)在當(dāng)前目錄生成一系列配置文件,如docker-compose.yml等(docker-compose.yml用于后續(xù)啟動(dòng)PCBA案例,其中包含了該案例包含的服務(wù)模塊信息)。
- 通過如下命令,從docker hub倉庫拉取PCBA案例所需的docker鏡像。(用戶也可以通過EII提供命令自行build所需的docker鏡像,不過耗時(shí)較久,故這里選擇從docker hub倉庫直接下載)
創(chuàng)建一個(gè)腳本"pull_vision_image.sh",拷貝如上命令行,然后修改權(quán)限并執(zhí)行,拉取EII docker鏡像。
$ mkdir -p ~/eii/script && cd ~/eii/script $ gedit pull_vision_image.sh# 拷貝上述命令行,保存并退出$ chmod a+x pull_vision_image.sh $ ./pull_vision_image.sh- 打開圖形界面訪問權(quán)限
- 啟動(dòng)EII服務(wù)。
- 啟動(dòng)成功后,可通過"docker ps"命令查看容器運(yùn)行情況。
-
若啟動(dòng)成功,PCBA檢測案例運(yùn)行窗口會(huì)自動(dòng)彈出,如圖所示。
-
通過如下命令,可關(guān)閉EII服務(wù)。
3.5 運(yùn)行溫度監(jiān)控案例
- 查看“time-series.yml”文件,檢查溫度監(jiān)控案例中包含哪些服務(wù)模塊。
- 執(zhí)行編譯腳本。該腳本會(huì)在當(dāng)前目錄生成一系列配置文件,如docker-compose.yml等(docker-compose.yml用于后續(xù)啟動(dòng)溫度監(jiān)控案例,其中包含了該案例需要的服務(wù)模塊信息)。
- 通過如下命令,從docker hub倉庫拉取PCBA案例所需的docker鏡像。
創(chuàng)建一個(gè)腳本"pull_ts_image.sh",拷貝如上命令行,然后修改權(quán)限并執(zhí)行。
$ mkdir -p ~/eii/script && cd ~/eii/script $ gedit pull_ts_image.sh# 拷貝上述命令行,保存并退出$ chmod a+x pull_ts_image.sh $ ./pull_ts_image.sh- 修改ia_mqtt_publisher的Dockerfile文件,方便在國內(nèi)網(wǎng)絡(luò)環(huán)境下編譯。
參考如下信息進(jìn)行修改:
# 將"Dockerfile"的第30行 RUN pip3 install -r requirements.txt # 修改為如下內(nèi)容 RUN pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/- 編譯ia_mqtt_publisher鏡像。(由于docker hub倉庫不包含ia_mqtt_publisher的docker鏡像,故此處需要手動(dòng)編譯)
- 啟動(dòng)EII服務(wù)。
- 啟動(dòng)成功后,可通過"docker ps"命令查看容器運(yùn)行情況。
-
若啟動(dòng)成功,打開瀏覽器,輸入網(wǎng)址:localhost:3000,進(jìn)入Grafana界面。(默認(rèn)登錄賬號(hào):admin, 密碼:admin)
-
進(jìn)入Grafana主界面后,打開"EII Video and Time Series Dashboard"。
-
若看到如下溫度信息,即說明啟動(dòng)成功。
-
關(guān)閉EII服務(wù)。
后記
以上就是EII 3.0版本的完整安裝過程,大家參照以上安裝步驟若遇到問題,可留言。
筆者會(huì)在后續(xù)文章中,詳細(xì)分析EII的架構(gòu)設(shè)計(jì)和各個(gè)模塊的運(yùn)行原理,敬請(qǐng)關(guān)注。
總結(jié)
以上是生活随笔為你收集整理的(1)英特尔工业边缘洞见平台(EII)安装指南的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ubuntu20.04安装guacamo
- 下一篇: ThreadLocal介绍和源码解析