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

RevPi Core3+のセットアップ

Debian10へのUpdate

[必要な機材]

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

[必要なソフト]

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

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

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

[手順]

# 立ち上げ

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

電源を再投入してRevPiを起動する

初期設定
シリアル(5桁)とMACアドレスを入力

仮ネットワーク設定を行いnmcliをインストールする。
$ sudo raspi-condif
 [1.Sysyem Options]-[Boot / Auto Login]-[Desktop Autologin]
 [Interface Options]-[SSH]-[Yes]有効にする
 マニュアルに書いてあるVNCは有効にしない

# Applicationのインストール

emacs入れておこうかと、それ以外はなんとなく
$ sudo apt-get update
$ sudo apt-get dist-upgrade
$ 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 -m controls
# passwd controls
 いつものやつを設定

# Network設定(Pico nwtworkの場合は、10.68.160.xになります)

IP address

S-Number

Install

10.68.150.150

S2112795

Not Install

10.68.150.151

S2112796

Not Install

10.68.150.152

S2112797

Not Install

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

# Hostname setting

/etc/hostname を変更
 k1hwp[0-2].kagra.icrr.u-tokyo.ac.jpになっているか確認

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

/etc/fstab へ次の行を追加
’’’
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
’’’
mkdir /opt/rtcds
mkdir /opt/trapps
mkdir /kagra
mkdir /users
sudo mount -a

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

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

# 以降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

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

# .sshディレクトリにシンボリックリンクを作成 (Pico networkの場合はアクセスできないので不要)

$ ln -s /users/DGS/authorized_keys_ctr authorized_keys
$ ln -s /users/DGS/ssh/config config

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

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

$ sudo visudo
一番最後の行に追加する。途中の行だと認識しないようです。
controls ALL=NOPASSWD: /opt/rtcds/userapps/release/cds/common/scripts/agilis/agilis_control.py
Pico networkの場合は、ファイルをローカルに保存する必要があるのでscpで上記からコピーしておくこと。
controls ALL=NOPASSWD: /home/controls/agilis/agilis_control.py

Encoder付きHWPインストール

[ファイル] /opt/rtcds/userapps/release/cds/common/scripts/agilis/agilis-p_controls.py

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

$ ssh-keygen -t ed25519
ファイル名を聞かれるのでid_ed25519_agilis_pを指定
公開鍵id_ed25519_agilis_p.pubをauthorized_keys(/users/DGS/ssh_authorized_keys_ctr)へ追加
秘密鍵id_ed25519_agilis_pをk1ctr*など使用するWSへコピー

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

$ ssh-keygen -t ed25519
ファイル名を聞かれるのでid_ed25519_k1script1を指定
公開鍵id_ed25519_k1script1.pubをauthorized_keys(/users/DGS/ssh_authorized_keys_ctr)へ追加
秘密鍵id_ed25519_k1script1をk1ctr*など使用するWSへコピー

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

$ sudo visudo
一番最後の行に追加する。
controls ALL=NOPASSWD: /opt/rtcds/userapps/release/cds/common/scripts/agilis/agilis-p_control.py

コマンド投入の流れ

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

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

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

k1ctr*[MEDM],k1grd0(gurdian script)
 => /opt/rtcds/userapps/release/sys/k1/scripts/medm_hwp_calib.sh or medm_hwp.sh
 => ssh多段ログインでk1script1へログイン後、k1hwp*へ続けてログイン.ssh/authorized_keysに記述したagilis-p_controls.pyを実行させる
k1script1
 => /opt/rtcds/userapps/release/sys/k1/scripts/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が動作することを確認する