HWP用のWSをk1ctr8,9,12からRevPi Core3+へ置き換えを行う。

RevPi Core3+のセットアップ

Debian10へのUpdate

[必要な機材]

DHCPでネットワークに接続できる環境とWindowsPCを用意する

[必要なソフト]

専用のDebian10をダウンロードして解凍しておく
https://revolution.kunbus.de/shop/en/buster

RPiBoot(Windows Installer)をダウンロードしてインストール
https://github.com//raspberrypi/usbboot/raw/master/win32/rpiboot_setup.exe

Win32 Disk Imagerをインストール
https://sourceforge.net/projects/win32diskimager/

[手順]

# 立ち上げ

RPiBootを起動
 "Second stage boot server done"が出たら
Win32 Disk Imagerを起動
 ImageFileを押下してDebian10を選択、Writeを押下してeMMCにイメージを書き込む

電源を再投入してRevPiを起動する
電源起動後
login:pi
Password:(マニュアル記載の初期パスワード)
PRODUCT TYPEの選択
RevPi Core / Core 3(+) / Core S
初期設定
シリアル(5桁)とMACアドレスを入力

SSHの有効化
$ sudo raspi-confifg 
[3.Interface Options]-[SSH]-[Yes]有効にする
 マニュアルに書いてあるVNCは有効にしない

# Applicationのインストール

emacs入れておこうかと、それ以外はなんとなく
初期状態でDHCPが有効になっているので適当なネットワークに接続してインストールする
$ sudo apt-get update
$ sudo apt-get install emacs nfs-common wmctrl cups lxshortcut make chrony gnome-terminal sqlite3 barrier subversion imagemagick autorandr festival rsync
$ sudo apt-get install dnsutils

# piアカウントのパスワードを変更

既存のpiアカウントのパスワードはraspberryではなく
CDSで使っているrootパスワードと同じにしておく

# Userアカウントの設定

$ sudo su -
# useradd -u 1001 -m controls
# passwd controls
 いつものやつを設定

# Network設定

Place

Name

IP address

RevPi S-Number

Splitter S-Number

Install

Rotater iSerial

Rebooter

PSL

k1hwp0

10.68.160.170

S2112795

S2113992

Installed

PSL:A66FJY38(Encoder)

-

IMC

k1hwp1

10.68.160.171

S2112796

S2113993

Installed

IMC_RELF:A66Y7T9N(Encoder)

IMC_REFL

OMC

k1hwp2

10.68.160.172

S2112797

S2113994

Installed

IFO_AS:FT3RYOUE

-

IFO_REFL

k1hwp3

10.68.160.173

S2214616

S2214619

Installed

IFO_REFL:A66Y7TCF(Encoder)

IFO_REFL

IFO_REFL_WFS

k1hwp4

10.68.160.174

S2214617

S2214620

Installed

IFO_REFL_WFS:FT1YHVBK

IFO_REFL_WFS

NetworkNamagerをインストールして設定する
$ sudo apt-get update
$ sudo apt-get install network-manager
nmcliを起動
$ sudo nmtui
Edit a connectopn - Add
Profile name: eno1
Device: XX:XX:XX:XX:XX:XX (eth0)ているものを選択する。出ない場合は再起動すると出ます。
IPv4 Showを押下して次の値を設定
 Address: 10.68.xx.xx/24 (10.68.150.は/16、10.68.160.は/24)
 Gatteway: 10.68.10.1 (Pico nwtworkの場合は、設定しない)
 DNS services: 10.68.10.1 (Pico networkの場合は、設定しない)
 Search domain: kagra.icrr.u-tokyo.ac.jp (Pico nwtworkの場合は、設定しない)
OKを選択して押下
Backを選択して押下
Activate a connectionを選択、eno1を選択、続いてActivateを選択して押下
エラーになるようならばコマンドラインからActiveしてしまう
sudo nmcli connection up eno1

# Hostname setting

/etc/hostname を変更
 k1hwp[0-4].kagra.icrr.u-tokyo.ac.jpになっているか確認
(Pico networkの場合は、k1hwp[0-2]のみとする)
/etc/hosts を変更
172.0.1.1 RevXXXをk1hwp{0,1,2}に変更

# NFS Setting (Pico networkの場合はIPアドレスが異なる)

/etc/fstab へ次の行を追加
’’’
#DGS network
#10.68.10.100:/opt/rtcds  /opt/rtcds  nfs nofail,rw,bg,soft 0 0
#10.68.10.100:/opt/rtapps /opt/rtapps nfs nofail,rw,bg,soft 0 0
10.68.10.10:/export/kagra  /kagra    nfs nofail,rw,bg,soft 0 0
10.68.10.10:/export/users  /users    nfs nofail,rw,bg,soft 0 0
# Pico Network
10.68.160.151:/export/kagra  /kagra    nfs nofail,rw,bg,soft 0 0
10.68.160.151:/export/users  /users    nfs nofail,rw,bg,soft 0 0

’’’

sudo mount -a

# NTP setting (Pico networkの場合はアクセスできないので不要)

/etc/chrony/chrony.conf
server 10.68.10.251 iburst
server 172.16.231.114 iburst
server 172.16.231.113 iburst

# sudo権限の追加

/etc/groupへsudo権限を追加
sudo:x:27:pi,controls

# 後処理(consoleモードで実施していたら不要)

最後にConsoleに戻す
$ sudo raspi-confifg
 [1.Sysyem Options]-[Boot / Auto Login]-[Console(Autologinなし)]

# 以降controlsにてログインして編集

#.bashrcの変更 (Pico networkの場合はアクセスできないので不要)

最小設定も可能だが手間なので共通にしておく。
if [ -f /kagra/apps/etc/client-user-env_deb10.sh ]; then
    source /kagra/apps/etc/client-user-env_deb10.sh
fi

# .sshディレクトリにシンボリックリンクを作成

$ ssh-keygen (.sshディレクトリがない場合に実行する。作成すると.sshが作成されます)
$ ln -s /kagra/apps/agilis/authorized_keys authorized_keys

Pico networkの場合はアクセスできないので不要だが、authorized_keysとconfigファイルは作成する。

・sudoでパスワードなしで実行できるように設定する。

$ sudo visudo
一番最後の行に追加する。途中の行だと認識しないようです。
controls ALL=NOPASSWD: /kagra/apps/agilis/agilis_control.py
controls ALL=NOPASSWD: /kagra/apps/agilis/agilis-p_control.py

PyUSB1.0をインストールする

$ sudo pip3 install pyusb

Encoder付きHWPインストール

[ファイル] /kagra/apps/agilis/agilis-p_controls.py

・新規の電子署名ファイルを作成する[1台分のみ作成あとは使い回し]

/kagra/apps/agilis/authorized_keys
電子署名サンプル

$ ssh-keygen -t ed25519
ファイル名を聞かれるのでid_ed25519_agilis_pを指定
公開鍵id_ed25519_agilis_p.pubをauthorized_keys(/kagra/apps/agilis/authorized_keys)へ追加
秘密鍵id_ed25519_agilis_pを/kagra/apps/agilis/へコピー

・ピコネットワークの場合は、k1script1経由で接続する為、k1script1接続用の電子署名を作成してそれをコピーする

$ ssh-keygen -t ed25519
ファイル名を聞かれるのでid_ed25519_k1script1を指定
公開鍵id_ed25519_k1script1.pubをauthorized_keys(k1script1の.ssh/authorized_keys)へ追加
秘密鍵id_ed25519_k1script1を/kagra/apps/agilis/へコピー

コマンド投入の流れ

(DGSネットワークで使用する場合の流れ)

k1ctr*[MEDM],k1grd0(gurdian script),k1script
 => /kagra/apps/agilis/medm_hwp_calib.sh or medm_hwp.sh
 => sshでk1hwp*へログイン.ssh/authorized_keysに記述したagilis-p_controls.pyを実行させる

(ピコネットワークで使用する場合の流れ)

k1ctr*[MEDM],k1grd0(gurdian script)
 =>/kagra/apps/agilis/medm_hwp_calib.sh or medm_hwp.sh
 => ssh多段ログインでk1script1へログイン後、k1hwp*へ続けてログイン.ssh/authorized_keysに記述したagilis-p_controls.pyを実行させる
k1script1
 => /kagra/apps/agilis/medm_hwp_calib.sh or medm_hwp.sh
 => ssh多段にする必要がないので、sshでk1hwp*へログイン.ssh/authorized_keysに記述したagilis-p_controls.pyを実行させる

Encoder付きHWPのセットアップ

必要機器

WindowsPC, CONEX-AG-PR100P

手順

1.最初にWindowsアプリケーションを使用して次のパラメータの設定と確認を行う。

CONEX-AG-PR100P のCONEX-AGP-2.0.0をダウンロードしてWindowsPCへインストールする。

2.インストール後、Newport CONEX-AGP appletを起動する。

3.Discoverを押してHWPを検索、見つかったら[launch Applet]押下して起動

4.コマンドから次の値を設定する。

Software Limitの設定変更
[Diagnostics]タブを選択して、Commandに次の値を入力して[SendX]を押下する。
1PW1
=> Enter CONFIGURATION state: CONFIGURATIONステートに遷移する
1HT1
=> Set HOME search type: 1 現在位置をHOMEとします.
 機械的にはデフォルト4がベストですが、電源起動時に原点検索を初めてしまう為、
 現在位置をHOMEとして、現在位置はEPICSの値と一致している前提で処理を構築する。
1SL-340
=> Set negative software limit: マイナス方向の移動量を-340まで可能に設定する
1SR340
=> Set positive software limit: プラス方向の移動量を340まで可能に設定する
1PW0
=> Enter CONFIGURATION state: NOT REFERENCEDステートに遷移する

注意: PWコマンドはストアメモリへ書き込みを行う為、繰り返し可能な上限は100回までです。
  余り何度も変更しないようにする必要があります。

5.WindowsPCからUSBケーブルを取り外してRavPiへUSB接続する。

6.RavPiの電源をONする(電源ボタンはないのでPoE給電の場合は電源ケーブルを接続する)

7.スクリプトからHWPが動作することを確認する

KAGRA/Subgroups/DGS/Projects/HalfWavePlate (last edited 2023-02-24 15:39:26 by satoru.ikeda)