准备:

Centos7ministall的系统:

root权限下:

yum install -y epel-release

yum install -y git wget gcc gcc-c++ autoconf libtool libX11-devel  libXext-devel libnet-devel libpcap-devel libusbx-devel libusb-devel  intltool  glibmm24-devel procServ re2c

yum install -y ninja-build meson glib2-devel libxml2-devel gtk3-devel gstreamer1 gstreamer1-devel gstreamer1-plugins-base-devel libnotify-devel gtk-doc gobject-introspection-devel

##需要的包参考: https://docs.epics-controls.org/projects/how-tos/en/latest/getting-started/linux-packages.html

adduser ioc

mkdir /half          #以合肥先进光源为例

chown -R ioc:ioc /half

cd /half

su ioc

mkdir epics

cd epics

############下载和编译epics base#################################

git clone -b 3.15 https://git.launchpad.net/epics-base

cd epics-base

make

来自 <https://epics-controls.org/resources-and-support/base/series-3-15/>

或者:

git clone --recursive -b 7.0 https://git.launchpad.net/epics-base base-7.0
cd base-7.0

make

来自 <https://epics-controls.org/resources-and-support/base/epics-7/>

选择3.15或7编译,或者分别编译,再把某一个ln -s 到base

After compiling you should put the path into $HOME/.profile or into $HOME/.bashrc by adding the following to either one of those files:

export EPICS_BASE=${HOME}/EPICS/epics-base
export EPICS_HOST_ARCH=$(${EPICS_BASE}/startup/EpicsHostArch)
export PATH=${EPICS_BASE}/bin/${EPICS_HOST_ARCH}:${PATH}

EpicsHostArch is a program provided by EPICS that returns the architecture of your system. Thus the code above should be fine for every architecture.

来自 <https://docs.epics-controls.org/projects/how-tos/en/latest/getting-started/installation.html>

之后按上面配好环境变量

############上面是下载和编译base##########################

没有意外的话,上面应该把base编译通过了。

############下载和编译synApps(当前最新版是6.1 --2020.7.15)#############

# 1. download the installer script
wget https://raw.githubusercontent.com/EPICS-synApps/support/master/assemble_synApps.sh

# 2. edit assemble_synApps.sh for your version of EPICS base and local directory paths

# 3. (optional) Specify the (new) directory name where synApps will be installed.
#    This is the default:
#    export SYNAPPS_DIR=synApps
#    This directory will be created when assemble_synApps.sh is run.

# 4. download & install the synApps source files:
bash ./assemble_synApps.sh           #一次可能不能把所有的包抓下来,多运行几次

之后进入support目录:

make release

make

来自 <https://github.com/EPICS-synApps/support>

之后下载aravisGigE:

wget https://github.com/areaDetector/aravisGigE/archive/R3-0.tar.gz

解压到areadetector 目录下

之后进入aravisGigE:

./install.sh

make

至此aravisGigE应该编译通过了,下面就可以添加摄像头了:

Adding a new camera

  • Run bin/linux-x86/arv-tool-0.2 -n "<device_name>" genicam > "<camera_model>.xml" to download the genicam xml data from the selected device cameras

    • E.g. bin/linux-x86/arv-tool-0.2 -n "Allied Vision Technologies-50-0503318719" genicam > AVT_Manta_G125B.xml
  • Make sure the generated file doesn't have a space at the start of it
  • Run aravisGigEApp/src/makeDbAndEdl.py <genicam_xml> <camera_name>
    • E.g. aravisGigEApp/src/makeDbAndEdl.py AVT_Manta_G125B.xml AVT_Manta
  • This should then create:
    • aravisGigEApp/Db/<camera_name>.template
    • aravisGigEApp/opi/edl/<camera_name>.edl
    • aravisGigEApp/opi/edl/<camera_name>-features.edl
  • Once you have decided on the most useful features, copy them from <camera_name>-features.edl and paste them into <camera_name>.edl in order to create a useful summary screen
  • If you are using medm, or want to generate CSS-Boy or caQtDM screens from medm screens then run aravisGigEApp/src/makeAdl.py <genicam_xml> <camera_name>. This will generate <camera_name>-features_1.adl through <camera_name>-features_N.adl, where N depends on the number of features and the maximum screen width and height set in makeAdl.py.
  • Once you have decided on the most useful features, copy them from <camera_name>-features_*.adl into a new file called <camera_name>-features.adl in order to create a useful summary screen.

来自 <https://github.com/areaDetector/aravisGigE>

cd /half/epics/synApps/support/areaDetector-master/aravisGigE/bin/linux-x86_64

没发现设备,需要关闭防火墙:

systemctl disable firewalld

systemctl stop firewalld 之后:

之后:

[ioc@localhost linux-x86_64]$ pwd

/half/epics/synApps/support/areaDetector-master/aravisGigE/bin/linux-x86_64

[ioc@localhost linux-x86_64]$ ../../aravisGigEApp/src/makeDbAndEdl.py HIK-MV-CA004-10GM.xml HIK720

More than 16 enum entries for PixelFormat mbbi record, discarding additional options.

If needed, edit the Enumeration tag for PixelFormat to select the 16 you want.

More than 16 enum entries for TestPattern mbbi record, discarding additional options.

If needed, edit the Enumeration tag for TestPattern to select the 16 you want.

Don't know what to do with Register

More than 16 enum entries for GevSupportedOptionSelector mbbi record, discarding additional options.

If needed, edit the Enumeration tag for GevSupportedOptionSelector to select the 16 you want.

More than 16 enum entries for ISPawbDebugSelector mbbi record, discarding additional options.

If needed, edit the Enumeration tag for ISPawbDebugSelector to select the 16 you want.

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

[ioc@localhost linux-x86_64]$ ../../aravisGigEApp/src/makeAdl.py HIK-MV-CA004-10GM.xml HIK720

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

[ioc@localhost linux-x86_64]$

会在/half/epics/synApps/support/areaDetector-master/aravisGigE/aravisGigEApp/Db生成template文件,copy至/half/epics/synApps/support/areaDetector-master/aravisGigE/db

之后修改:/half/epics/synApps/support/areaDetector-master/aravisGigE/iocs/aravisGigEIOC/iocBoot/iocAravisGigE/st.cmd:

aravisCameraConfig("$(PORT)", "Hikvision-00D22036189")

dbLoadRecords("$(ARAVISGIGE)/db/HIK720.template","P=$(PREFIX),R=cam1:,PORT=$(PORT),ADDR=0,TIMEOUT=1")

load相应摄像头的template和摄像头代号,之后./start_epics就可以运行起IOC了。

以上过程在Centos7下都通过了。尝试过在centos8下做,但是在tirpc那卡住了,有空的可以在8上试试。

Centos7下areaDetector IOC的编译的更多相关文章

  1. CentOS7下用jdk1.7编译hadoop-2.7.1全过程详解

    说实话,本人编译hadoop的过程比较曲折,但收获也很多,下面系统介绍一下CentOS7下编译hadoop-2.7.1的全过程吧. 先说明,32位Linux操作系统可以直接下载编译好的hadoop使用 ...

  2. centos7下vim8.1的编译安装教程

    之前安装YouCompleteMe的时候遇到vim版本不兼容的问题,看网上说是需要将vim版本提升到8.0及以上,然后就开始安装最新版本的vim,安装过程中的遇到了不少问题主要集中在配置方面和缺少插件 ...

  3. centos7下比特币源码编译安装

    今天我们介绍比特币的源码安装过程,是利用编译安装的 首先安装依赖 1 yum install -y boost-devel qt-devel protobuf-devel qrencode-devel ...

  4. centos7下使用n grok编译服务端和客户端穿透内网

    (发现博客园会屏蔽一些标题中的关键词,比如ngrok.内网穿透,原因不知,所以改了标题才能正常访问,) 有时候想在自己电脑.路由器或者树莓派上搭建一些web.vpn等服务让自己用,但是自己的电脑一般没 ...

  5. centos7下编译安装php-7.0.15(PHP-FPM)

    centos7下编译安装php-7.0.15(PHP-FPM) 一.下载php7源码包 http://php.net/downloads.php 如:php-7.0.15.tar.gz 二.安装所需依 ...

  6. Centos7 下编译 Openjdk8

    本文主要介绍如何在 Centos7 下编译 Openjdk8 源码,<深入理解java虚拟机>第二版网上好多 openjdk7 的帖子,编译 jdk8 和 7 还是有些差别的,比如大家经常 ...

  7. CentOS7下编译安装redis-5.0.9

    CentOS7下编译安装redis-5.0.9 本文地址http://yangjianyong.cn/?p=171转载无需经过作者本人授权 下载redis #code start wget https ...

  8. Linux CentOs7 下安装 redis

    Linux CentOs7 下安装 redis 请将以下命令放入linux命令行中运行 如果安装过程前没有安装GCC请先安装  命令如下 $ yum install gcc-c++ $ wget ht ...

  9. [转]Centos7下caffe的安装

    Centos7下caffe的安装 原文地址:http://blog.csdn.net/s2392735818/article/details/49796017   版权声明:本文为博主原创文章,未经博 ...

  10. Centos7下安装配置Redsocks

    Redsocks是一个开源的网络程序,代码依赖开源的libevent网络库.Redsocks允许你将所有TCP连接重定向到SOCKS或HTTPS代理,比如Shadowsocks(Centos7下安装配 ...

随机推荐

  1. fiddler提示"The system proxy was changed,click to reenable fiddler capture"的解决方法

    之前用fiddler 一直都是正常的,但是过了几个月再次使用的时候没几秒钟就提示:The system proxy was changed,click to reenable fiddler capt ...

  2. Java实现递归查询树结构

    我们在实际开发中,肯定会用到树结构,如部门树.菜单树等等.Java后台利用递归思路进行构建树形结构数据,返回给前端,能以下拉菜单等形式进行展示.今天,咱们就来说说怎么样将List集合转换成TreeLi ...

  3. 【翻译】rocksdb调试指引

    rocksdb调试指引 翻译自官方wiki:https://github.com/facebook/rocksdb/wiki/RocksDB-Tuning-Guide 转载请注明出处:https:// ...

  4. 【sqoop】简介、原理、安装配置测试、导入导出案例、脚本打包、常见命令及参数介绍、常用命令举例

    一.sqoop简介 用于在Hadoop(Hive)与传统的数据库(mysql.oracle...)之间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等 ...

  5. Semaphore信号量源码解析(基于jdk11)

    目录 1.Semaphore信号量源码解析(基于jdk11) 1.1 Semaphore概述 1.2 Semaphore的原理 1.2.1 基本结构(jdk11) 1.2.2 可中断获取信号量 1.2 ...

  6. 1_使用swiper数组对象循环图片遇到的问题

    今天在练习微信小程序的swiper组件时,想用列表循环出图片,发现图片一直没出来,控制台也没有报错,后来仔细一看,原来是语法格式写错了. 以下是我列表循环踩过的坑: 一:微信小程序的列表循环和vue的 ...

  7. Dubbo架构设计与源码解析(二) 服务注册

    作者:黄金 一.Dubbo简介 Dubbo是一款典型的高扩展.高性能.高可用的RPC微服务框架,用于解决微服务架构下的服务治理与通信问题.其核心模块包含 [RPC通信] 和 [服务治理] ,其中服务治 ...

  8. 原生js实现jsonp

    有时候用js封装个小工具需要一些已经被封装好的函数,比如jq的jsonp 但是原生小工具如果仅仅为了这个就导入一个上百kb的jQuery不划算 然后我去网上找,一大堆废文,还是自己发一篇记录一下吧 下 ...

  9. python进阶之路3之数据类型

    内容概要 pycharm下载与使用 python语法之注释 python语法之变量与常量 python基本数据类型(先大致了解有哪些) pycharm下载与使用 1.该软件分为收费版和免费版 免费版本 ...

  10. 让 Win8.1 微软拼音新体验模式支持 Metro 应用

    内容回顾: [1]十个步骤找回 Win8 中的微软拼音新体验模式 [2]发布个工具,一键恢复Win8/8.1中的微软拼音长句模式(新体验模式) 在 [1] 中,我们找回了 Win8 里的微软拼音新体验 ...