なかのにっき

最新版はこちら。 突っ込みは各日付の BBS エントリのほか、 メール (nakano@st.seikei.ac.jp) や フォーム からどうぞ。 なおスパム除けのため、BBS 機能には 緩い認証を入れて います。 検索エンジンから来た方は、エンジンの方のキャッシュを見るか、 下の簡易検索を試してみてください。


hns - 日記自動生成システム - Version 2.19.5

先月 2024年12月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Namazu for hns による簡易全文検索
詳しくは 詳細指定/ヘルプを参照して下さい
検索式:

2024年12月30日(月) [n年日記]

#2 OWON の SPE6102

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'OWN,SPE6102,24251887,FV:5.1.0\r\n'
なる返答が戻ってきて第一ステップクリア。

嵌まったところは: というあたり。めんどくさい。このへん pyvisa 使えば幸せになれるのかしら。 しかし Keysight IO libraries suite を学生の皆さんの PC にインストールさせるのはちょっとヘビーすぎるだろうなあ。

ところで SPE6102、背面のメインスイッチ切っても Windows のシリアル接続が消えないんだがこれは…

ChatGPT 4o さんにコンサルした記録:

まあそんなわけで。

#1 anaconda の jupyter notebook

来年の授業の仕込み。自分は 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
でいける模様。
コメント [全部読む/投稿する]

2024年12月22日() [n年日記]

#1 WSL2/Debian 環境構築

いろいろあって Windows10 を初期化したので、ツルシからインストールした。
  1. Windows Store から PowerShell 7.4, Windows Terminal をインストール
  2. PowerShell を開けて
    wsl --install -d Debian
    wsl --set-default-version 2
    
  3. ここで Windwos Terminal に Debian エントリができていなかったのでスタートメニューから Debian を一度アンインストール
  4. 再起動
  5. wsl が自動的に異動して Debian をインストールした。username/password を聞かれるので入力。
以上が終了したら Windows Terminal にも Debian メニューができてた。先に WT 入れろということですかねえ。
コメント [全部読む/投稿する]

2024年11月20日(水) [n年日記]

#1 Let’s Encrypt の証明書を失効・削除する手順

certbot revoke --cert-path ほげほげ.pem
でやる。UPKI のほうで証明書とったので、LE のは失効させたほうがいいかなと。
コメント [全部読む/投稿する]

2024年11月06日(水) [n年日記]

#1 python でリレー on/off

ちょっとした用途に USB/Serial の 2ch リレーモジュール X-RL2 を買ってみた。 これは COM / NO (normally open) / NC (normally close) があって、USB-Serial で A1 を送ると switched state, A0 を送ると normal state になる。

X-RL2 を USB ケーブルで接続したらデバイスマネージャで COM3 ができた。 python / Keysight visa 環境は 3 月に作ってあった ので、Connection Expert から「+Add」→Serial で ASRL3::INSTR が見えた。

あとはこんなコードで動作(11/7 書き換え)
# pyvisa library should be installed by pip or somethind
import pyvisa
import sys

# Class to control USB relay X-RL2
class InstRelay:
    def __init__(self, rm, visaId):
        try:
            self.instP = rm.open_resource(visaId)
        except:
            print("USB relay X-RL2  が認識できません")
            while True:
                key = input("Press Enter to exit.")
                if not key:
                    break
                sys.exit()
        self.normalA()
        self.normalB()
        print("Relay is ready, A, B channels are normal state.")

    def switchA(self):
        self.instP.write('A1')

    def switchB(self):
        self.instP.write('B1')

    def normalA(self):
        self.instP.write('A0')

    def normalB(self):
        self.instP.write("B0")

#==================MAIN ROUTINE FROM HERE==================
# visa device names. Check by Keysight Connection Expert.
visaIdrelay = "ASRL3::INSTR"      # X-RL2

# sleep time between meas. event

rm = pyvisa.ResourceManager()
RL2 = InstRelay(rm, visaIdrelay)

while True:
    ui = input("Press key: A(sw)/a(norm) B(sw)/b(nrom) Q(uit)")

    if ui == 'A':
        RL2.switchA()
        print("chA is now switched")
    elif ui == 'a':
        RL2.normalA()
        print("chA is now normal")
    elif ui == 'B':
        RL2.switchB()
        print("chB is now swithced")
    elif ui == 'b':
        RL2.normalB()
        print("chB is now normal")
    elif ui == 'Q':
        sys.exit("Quit program.")
コメント [全部読む/投稿する]

2024年11月04日(月) [n年日記]

#1 単三電池

べつにどこに頼んだところで大層な額にはならないが値段調べ。 ただしソロエルアリーナ・たのめーるは法人登録が必要。

そしてたのめーるにはさらに法人会員ディスカウントがあって最安となった。のでこちらで 20 本を発注。電池としての出来不出来はわかりませんが。
コメント [全部読む/投稿する]

以上、5 日分です。
タイトル一覧
カテゴリ分類
book
dept
issp
labo
paper
snap
stock
vsj
Powered by hns-2.19.5, HyperNikkiSystem Project

中野武雄 (NAKANO, Takeo) <nakano@st.seikei.ac.jp> Since 1999-10-07
RSS feed, 更新時刻, LIRS エントリ, アクセス制御 (解説)

中野のホームページへ