いろいろあって Windows10 を初期化したので、ツルシからインストールした。
- Windows Store から PowerShell 7.4, Windows Terminal をインストール
- PowerShell を開けて
wsl --install -d Debian
wsl --set-default-version 2
- ここで Windwos Terminal に Debian エントリができていなかったのでスタートメニューから Debian を一度アンインストール
- 再起動
- wsl が自動的に異動して Debian をインストールした。username/password を聞かれるので入力。
以上が終了したら Windows Terminal にも Debian メニューができてた。先に WT 入れろということですかねえ。
来年の授業の仕込み。自分は VScode+WSL の python という環境に慣れているんだが、これは必修の「プログラミング基礎」で使っている環境なので。
Anaconda の Distribution
から、メアドを Submit して Windows 64bit 版を取得してインストール。
Just me で、その他設定は変更なし。
スタートメニューの "Jupyter Notebook" を起動し、サーバが立ち上がってアプリの選択になったら Google Chrome を選ぶ(これ VScode にしたらどうなるんだろ?)
Chrome の Jupyter Home タブから、"Upload" で以前作った学生実験用の jpynb ファイルを取得し、ダブルクリックで選択すると Chrome ブラウザの別タブでノートが開く。Run ボタンで実行できる。結果は Shift+右クリック で出てくるメニューからコピーして貼れる
(参考こちら)
@
pyvisa のインストール:
Home タブの File→New→Terminal
で Jupyter Notebook Terminal というタブが開くので、
conda install conda-forge::pyvisa
するとインストールされる。
(参考こちら)
これは Windows だとどうやら PowerShell なのね。
conda list
すると出てくるリストに
pyvisa 1.14.1 pyhd8ed1ab_1 conda-forge
があったから、たぶん入ったのかと。
でも Keysight の IO Libraries Suite を入れるステップが超重かったので、pyserial を入れる方針に変換。
@
pyserial のインストール:
こちらは
conda install anaconda::pyserial
で完了。
(参考こちら)
@
参考 anaconda のアップデート:
参考こちら。
本体は
conda update -n base conda
パッケージは
conda update --all
でいける模様。
USB で繋ぐとすぐに COM4 デバイスができた。CH430 のドライバは MS さんが自動的にインストールしてくれる。だが python の serial 使って *idn? を送ってもうんともすんとも言わない。
定番の確認作業として teraterm の serial COM4 でつないでコマンド送ってもうんともすんとも言わない。
でいろいろ試した結果、デバイスと teraterm の baudrate を 115200 にしたら *IDN? に返信が返った。そういうことなのか…
んでさらに紆余曲折あって、
import serial
ser = serial.Serial('COM4', 115200, timeout=None)
ser.write(b'*idn?\r\n')
line = ser.readline()
print(line)
ser.close()
したら
b'OWON,SPE6102,24251887,FV:5.1.0\r\n'
なる返答が戻ってきて第一ステップクリア。
嵌まったところは:
- ser.write() に食わせる文字列は byte じゃないといけないので b'...' か '...'.encode() してやらないとだめ。
- \r\n (CR+LF) を文字列の最後につけないとだめ
というあたり。めんどくさい。このへん pyvisa 使えば幸せになれるのかしら。
しかし Keysight IO libraries suite を学生の皆さんの PC にインストールさせるのはちょっとヘビーすぎるだろうなあ。
ところで SPE6102、背面のメインスイッチ切っても Windows のシリアル接続が消えないんだがこれは…
まあそんなわけで。