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 ||[[https://gwwiki.icrr.u-tokyo.ac.jp/JGWwiki/KAGRA/Subgroups/VIS/OpsManual/PicomotorPowerControlSwitch|Rebooter]]|| ||PSL ||k1hwp0 ||10.68.160.170 ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=12795|S2112795]] ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=13992|S2113992]]||Installed ||PSL:A66FJY38(Encoder) ||- || ||IMC ||k1hwp1 ||10.68.160.171 ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=12796|S2112796]] ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=13993|S2113993]]||Installed ||IMC_RELF:A66Y7T9N(Encoder) ||IMC_REFL || ||OMC ||k1hwp2 ||10.68.160.172 ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=12797|S2112797]] ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=13994|S2113994]]||Installed ||IFO_AS:FT3RYOUE ||- || ||IFO_REFL ||k1hwp3 ||10.68.160.173 ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=14616|S2214616]] ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=14619|S2214619]]||Installed || IFO_REFL:A66Y7TCF(Encoder) || IFO_REFL || ||IFO_REFL_WFS ||k1hwp4 ||10.68.160.174 ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=14617|S2214617]] ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=14620|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アプリケーションを使用して次のパラメータの設定と確認を行う。 [[https://www.newport.com/f/agilis-piezo-rotation-stages-with-conex-controller?q=AG%20~PR100P:relevance:isObsolete:false:-excludeCountries:JP|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が動作することを確認する