1. 简介

EII全称Open Edge Insights for Industrial,开源工业边缘洞见平台。该平台由Intel公司研发并开源,开源仓库位于Github(https://github.com/open-edge-insights)。EII通常部署在工业边缘节点,用于视频数据/时序数据的采集,分析和可视化。EII采用Docker容器化的部署方式,具有很好的灵活性和可扩展性。EII采用源码发布的方式,用户可以下载EII源代码进行二次开发。

EII的架构图如下,主要包含了机器视觉和时序数据相关的两类功能模块,各个模块可以通过EII消息总线(EII Message Bus)进行通讯。

EII目前有2种下载安装方式。1) 通过Github下载EII源码,2) 通过EII官方网站下载EII源码包。

  • EII官方网站:https://intel.com/edge-insights-industrial
  • EII官方Github仓库:https://github.com/open-edge-insights
  • EII官方Docker Hub仓库:https://hub.docker.com/u/openedgeinsights
  • EII开发手册:https://open-edge-insights.github.io/

对于开发者而言,笔者更推荐使用Github下载EII源码进行安装,这样在二次开发过程中,方便用Git工具管理源码。所以本文将介绍在Ubuntu 20.04系统上通过Github安装EII 3.0的方法。

2. 预先步骤

  • 在设备上安装Ubuntu 20.04 LTS。

  • 将设备连接互联网。本文假设用户是在国内网络(PRC网络)环境下进行安装,国内网络访问国外资源时,经常会遇到访问失败的问题,导致安装EII失败。所以本文会介绍一些"换源"的操作来帮助国内用户解决安装失败的问题。若用户有网络代理(proxy)等服务能够直接访问国外资源,则本文很多"换源"操作可以跳过。

  • (For PRC网络) 将apt源设置为国内源(如阿里源),可加速apt依赖包的下载。

    • 设置方法:点击Ubuntu桌面左下角"九个点" -> 打开"Software & Updates"应用程序 -> 在"Ubuntu Software"标签栏下的"Download from"选项,选择"Other…" : “China” : “mirrors.aliyun.com” -> 点击"Choose Server" -> 点击"Close" -> 在弹出的对话框中点击"Close" -> 等待"Cache Refresh"结束(若Cache Refresh失败可忽略)。

    • 打开命令行,执行如下命令更新apt源。

    $ sudo apt update
    
  • (For PRC网络) 将pip源设置为国内源(如清华源),可加速python依赖包的下载。

    • 新建"pip.conf"文件
    $ mkdir -p ~/.pip
    $ gedit ~/.pip/pip.conf
    
    • 在"pip.conf"文件中添加如下内容:
    [global]index-url=https://pypi.tuna.tsinghua.edu.cn/simple/
    [install]trusted-host=pypi.tuna.tsinghua.edu.cn
    
    • 更新pip工具。
    $ sudo apt install python3-pip
    $ pip3 install --upgrade pip
    

3. 开始安装

3.1 安装依赖工具

  • 安装预备工具。
$ sudo apt update && sudo apt install -y curl git
  • 配置git参数。
# Set email and name
$ git config --global user.email [Your Email]
$ git config --global user.name [Your Name]# Disable CA verify
$ git config --global http.sslverify false# Remember username and password
$ git config --global credential.helper store
  • 配置python软链接(后续使用的"repo"工具需要这项配置)。
$ sudo ln -s /usr/bin/python3 /usr/bin/python
  • 安装repo工具。
$ curl https://storage.googleapis.com/git-repo-downloads/repo > repo
$ sudo mv repo /bin/repo
$ sudo chmod a+x /bin/repo
  • 执行如下命令,若成功打印repo的版本信息,则说明repo安装成功。
$ repo --version
  • (For PRC网络) 设置repo url,国内网络可能无法访问repo某些位于国外的源,可通过如下命令,将repo url修改为国内的源。
$ export REPO_URL="https://gerrit-googlesource.lug.ustc.edu.cn/git-repo"

3.2 拉取EII源码

  • 新建一个工作目录(例如"~/eii"),并进入。
$ mkdir -p ~/eii && cd ~/eii
  • 拉取EII仓库清单(以v3.0版本为例)。清单文件保存在目录".repo/manifests"下。
$ repo init -u "https://github.com/open-edge-insights/eii-manifests.git" -b refs/tags/v3.0

若需要拉取EII其他版本,修改"-b"参考后的tag标签即可。

  • (For PRC网络) 修改".repo/manifests/default.xml"文件,将Github地址修改为Gitee。repo工具在国内网络环境下拉取Github代码时会超时,故将代码库从Github修改为Gitee (EII在Gitee有一个与Github保持同步的镜像仓库)。

    用编辑器(如gedit)打开".repo/manifests/default.xml"文件

    $ gedit .repo/manifests/default.xml
    

    参考如下内容进行修改:

    # 将"default.xml"的第3,4行
    <remote name="origin" fetch="https://github.com/open-edge-insights" />
    <remote name="github-origin" fetch="https://github.com/intel" /># 修改为如下内容
    <remote name="origin" fetch="https://gitee.com/open-edge-insights" />
    <remote name="github-origin" fetch="https://gitee.com/mirrors_intel" />
    
  • 拉取EII源码。

$ repo sync
  • 拉取成功后,EII源码即保存在目录"~/eii/IEdgeInsights中。

3.3 安装EII运行环境

  • 安装docker和docker-compose

通过如下命令,安装和设置docker,docker-compose

# 创建一个目录用来存放安装包,并进入
$ mkdir -p ~/eii/installer && cd ~/eii/installer# 下载安装包 (从docker官网下载安装包速度较慢,故选择从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# 将当前用户添加到"docker"用户组,使得当前用户不加"sudo"也可以使用docker命令
$ sudo groupadd docker
$ sudo usermod -aG docker $USER
$ newgrp docker
  • 安装EII依赖环境,安装脚本位于"IEdgeInsights/build/pre_requisites.sh"。

    • (For PRC网络) 如果是国内网络环境下安装,需要对"pre_requisites.sh"脚本做一些修改:该脚本会通过尝试连接google官方来测试网络是否畅通,这个步骤在国内网络环境会失败,导致脚本退出,估将google修改为baidu。

    用编辑器(如gedit)打开"IEdgeInsights/build/pre_requisites.sh"文件

    $ cd ~/eii/IEdgeInsights/build
    $ gedit pre_requisites.sh
    

    参考如下内容进行修改:

    # 将"pre_requisites.sh"的第161行
    wget http://www.google.com > /dev/null 2>&1
    # 修改为如下内容
    wget http://www.baidu.com > /dev/null 2>&1# 将"pre_requisites.sh"的第196行
    pip3 install -r requirements.txt
    # 修改为如下内容
    pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
    
    • 执行脚本,安装EII所需依赖环境。
    $ sudo ./pre_requisites.sh
    
  • 修改EII配置文件"IEdgeInsights/build/.env".

$ gedit .env

参考如下内容进行修改:

# 第36行, 开发阶段建议将dev_mode设置为true
DEV_MODE=true# 第106-110行, 设置相关服务模块的用户名和密码 (具体的用户名和密码用户可自行调整)
# 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
  • 重启机器使得docker相关的配置生效。
$ sudo reboot

3.4 运行PCBA缺陷检测案例

  • 查看“video-streaming.yml”文件,检查PCBA案例中包含哪些服务模块。
$ cd ~/eii/IEdgeInsights/build
$ cat usecases/video-streaming.yml
  • 执行编译脚本。该脚本会在当前目录生成一系列配置文件,如docker-compose.yml等(docker-compose.yml用于后续启动PCBA案例,其中包含了该案例包含的服务模块信息)。
$ sudo -E python3 builder.py -f usecases/video-streaming.yml
  • 通过如下命令,从docker hub仓库拉取PCBA案例所需的docker镜像。(用户也可以通过EII提供命令自行build所需的docker镜像,不过耗时较久,故这里选择从docker hub仓库直接下载)
#/bin/bashpre_name=openedgeinsights
tag=3.0
image_name=(
ia_configmgr_agent
ia_etcd_ui
ia_video_ingestion
ia_video_analytics
ia_visualizer
ia_web_visualizer
ia_grafana
)for i_name in ${image_name[@]}; dodocker pull $pre_name/$i_name:$tag
done

创建一个脚本"pull_vision_image.sh",拷贝如上命令行,然后修改权限并执行,拉取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
  • 打开图形界面访问权限
$ xhost +
  • 启动EII服务。
$ cd ~/eii/IEdgeInsights/build
$ ./eii_start.sh
  • 启动成功后,可通过"docker ps"命令查看容器运行情况。
$ docker ps
  • 若启动成功,PCBA检测案例运行窗口会自动弹出,如图所示。

  • 通过如下命令,可关闭EII服务。

$ docker-compose down

3.5 运行温度监控案例

  • 查看“time-series.yml”文件,检查温度监控案例中包含哪些服务模块。
$ cd ~/eii/IEdgeInsights/build
$ cat usecases/time-series.yml
  • 执行编译脚本。该脚本会在当前目录生成一系列配置文件,如docker-compose.yml等(docker-compose.yml用于后续启动温度监控案例,其中包含了该案例需要的服务模块信息)。
$ sudo -E python3 builder.py -f usecases/time-series.yml
  • 通过如下命令,从docker hub仓库拉取PCBA案例所需的docker镜像。
#/bin/bashpre_name=openedgeinsights
tag=3.0
image_name=(
ia_configmgr_agent
ia_etcd_ui
ia_telegraf
ia_influxdbconnector
ia_kapacitor
ia_grafana
ia_opcua_export
ia_rest_export
)for i_name in ${image_name[@]}; dodocker pull $pre_name/$i_name:$tag
done

创建一个脚本"pull_ts_image.sh",拷贝如上命令行,然后修改权限并执行。

$ 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文件,方便在国内网络环境下编译。
$ gedit ~/eii/IEdgeInsights/tools/mqtt/publisher/Dockerfile

参考如下信息进行修改:

# 将"Dockerfile"的第30行
RUN pip3 install -r requirements.txt
# 修改为如下内容
RUN pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
  • 编译ia_mqtt_publisher镜像。(由于docker hub仓库不包含ia_mqtt_publisher的docker镜像,故此处需要手动编译)
$ cd ~/eii/IEdgeInsights/build
$ docker-compose -f docker-compose-build.yml build ia_mqtt_publisher
  • 启动EII服务。
$ ./eii_start.sh
  • 启动成功后,可通过"docker ps"命令查看容器运行情况。
$ docker ps
  • 若启动成功,打开浏览器,输入网址:localhost:3000,进入Grafana界面。(默认登录账号:admin, 密码:admin)

  • 进入Grafana主界面后,打开"EII Video and Time Series Dashboard"。

  • 若看到如下温度信息,即说明启动成功。

  • 关闭EII服务。

$ docker-compose down

后记
以上就是EII 3.0版本的完整安装过程,大家参照以上安装步骤若遇到问题,可留言。
笔者会在后续文章中,详细分析EII的架构设计和各个模块的运行原理,敬请关注。

(1)英特尔工业边缘洞见平台(EII)安装指南相关推荐

  1. 英特尔发布边缘软件中心,抢滩 650 亿美元智能边缘市场!

    整理 | 夕颜 出品 | CSDN(ID:CSDNnews) 近日,英特尔重磅发布"英特尔®边缘软件中心"(Intel® Edge Software Hub,以下简称"边 ...

  2. 英特尔的边缘计算布局:不只有基础硬件,也不只有技术创新

    来源:财新网 地处北京东南的亦庄,半个世纪之前,还是大兴区的红星人民公社.自从1991年北京的唯一一个国家级经济开发区落户于此之后,30年间,亦庄新城"长大"了约60倍,从3.8平 ...

  3. 英特尔分布式深度学习平台Nauta-安装、配置与管理指南

    2019独角兽企业重金招聘Python工程师标准>>> 英特尔分布式深度学习平台Nauta-安装.配置与管理指南 随着人工智能的发展,深度学习的价值不断增长,但实现它可能是一个复杂耗 ...

  4. 边缘计算框架_黑科技 | 英特尔发布边缘计算加速框架最新版本 | OpenVINO 2019R02...

    点击上方↑↑↑"OpenCV学堂"关注我 最新版本OpenVINO特性黑科技 概述 英特尔自从发布OpenVINO开发框架以来,因为其强大的模型转换与模型推理加速性能,迅速得了广大 ...

  5. 英特尔® 硬件加速执行管理器安装指南 — Mac OS X*

    介绍 本文将指导您安装英特尔® 硬件加速执行管理器(英特尔® HAXM),这是一款可以使用英特尔® 虚拟化技术(VT)加快 Android* 开发速度的硬件辅助虚拟化引擎(管理程序). 前提条件 英特 ...

  6. 面向 Android* Jelly Bean 4.3 的英特尔® 凌动™ x86 映像安装指南 - 推荐

    介绍 本指南在安装面向 Android* Jelly Bean 的英特尔® 凌动™ x86 映像方面提供了相关指导,该映像可用于英特尔 x86 架构上的开发. 前提条件 Android x86 模拟器 ...

  7. 0227互联网新闻 | 腾讯与英特尔联合推出云游戏平台“腾讯即玩”;华为企业业务MWC现场发布数字平台...

    戳戳戳戳一下"好看",你最好看

  8. 英特尔边缘计算技术白皮书

    了解英特尔的软硬件技术与开发工具如何助力边缘计算解决方案的开发与部署 无与伦比的芯片产品组合 英特尔边缘计算概述 英特尔边缘 CPU 英特尔边缘加速器 英特尔网络组件 英特尔内存和存储 英特尔®边缘加 ...

  9. 云网融合 全栈赋能:英特尔加速网络转型 释放智能边缘价值

    5G正式商用两年来,在产业链共同努力下,中国5G发展成效显著.在建成全球规模最大.技术最为领先的5G基础网络的同时,在5G垂直行业应用方面也涌现了大批优秀案例. 作为领先的网络芯片提供商,英特尔始终携 ...

最新文章

  1. C# 在用户控件中添加自定义事件
  2. 喜报 | 安信证券签约神策数据!
  3. 【数据结构与算法】之深入解析“解码方法”的求解思路与算法示例
  4. 利用php-console和Chrome开发者工具实现PHP应用的printf
  5. 阿里25k招.NET,要求WPF!
  6. H5的Websocket基本使用
  7. 编程:休息片刻的好处
  8. 树形动规_(战略游戏)
  9. python2.7升级到python3.6注意事项
  10. iTunes是什么意思
  11. row_number()over函数的使用(转)
  12. Java实现冒泡排序及逆序冒泡排序
  13. laravel插入数据时报 502 Bad Gateway
  14. 【ZJOI 2018】 历史(lct)
  15. c语言程序最简单例子,简单C语言程序的例子
  16. 丁昊 北大计算机,北大、清华共17人!2018自主招生等类型入选名单公示,苏州333人!...
  17. 【最佳实践】瀚高数据库 Windows企业版v6.0.4 的安装
  18. 【机器视觉】二维码检测(QR 码)
  19. 解决Android打包Entry name ‘res/animator/linear_indeterminate_line1_head_interpolator.xml‘ collided
  20. 让图片动起来——Real_Time_Image_Animation

热门文章

  1. win10接USB设备(移动硬盘扫码枪之类)蓝屏问题处理
  2. 小学计算机的一些课题,小学信息技术课题申报题目参考
  3. html错误代码204,win10系统使用远程桌面出现0x204错误代码如何解决
  4. 图论-单源最短路径算法(拓扑,Dijkstra,Floyd,SPFA)
  5. 求解!!急急急!!!
  6. 一个大型虚拟项目包含位于不同地点的许多干系人_PLAN8T ART 丨在虚拟维度的拼贴现实中,漫游,想象。...
  7. Windows环境下安装pkg-config
  8. wireshark分析oracle报错,Linux下抓包工具tcpdump以及分析包的工具wireshark
  9. 单目相机提高标定精度的经验
  10. 计算机主机配置科普,一秒看懂电脑配置,组装电脑不求人