原来摄像头都是使用areaDetector下的aravisGigE那个包建起来的IOC在线跑,使用的过程中发现相机有些参数没法通过PV设置,比如触发模式、像素bit数之类的,每次都是用厂家的工具设置好了才开IOC看图像,很不方便。后来永良说使用ADAravis建的IOC没这个问题。

尝试弄了一下,总结个流程让新手搭建时能少花些时间:

准备:

Centos7ministall的系统:

root权限下:

yum install -y epel-release readline-devel

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 zlib-devel

##需要的包参考: Packages required for EPICS on Centos 8 — EPICS How-Tos documentation

adduser ioc

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

chown -R ioc:ioc /half

cd /half

su ioc

mkdir epics

cd epics

############下载和编译epics base7#################################

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

make

来自 <EPICS 7 - EPICS Controls/>

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

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

# 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

来自 <GitHub - EPICS-synApps/support: APS BCDA synApps module: support>
编译时碰到错误就注释掉相应的包不编译,在support/configure/RELEASE 文件里需注释的模块(前面加#号的):

我编译时需要注释掉上面的一些模块才能编译通过,后期synApps的bug修复的话也许不需要注释就能成功编译。不过如果为了ADAravis的话,实际上很多模块都不需要,都可以注释掉。

没有意外的话synApps就编译成功了

之后安装aravis驱动:

ADGenICam — areaDetector 3-11-2-gf866e7e documentation 里的这部分即可:

cd /usr/local

git clone https://github.com/AravisProject/aravis

cd aravis/

git checkout ARAVIS_0_8_1

meson build

cd build

ninja-build

ninja-build install

编译ADGenICam和ADAravis

cd /half/epics/synApps/support/areaDetector-R3-11/
git clone https://github.com/areaDetector/ADGenICam.git
cd ADGenICam/

make

cd ..

git clone https://github.com/areaDetector/ADAravis.git
cd ADAravis/
make

至此编译环节就都结束了,路过这里的有空的话去试试其他版本linux吧,比如Rocky、Debian之类的。。。

之后就是搭建ioc了,参照这里面的指导去尝试做做吧:

ADAravis — areaDetector 3-11-2-gf866e7e documentation

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐