LXDの中からホストのUSBデバイスを見えるようにする
前述の手順でPSLabを起動した場合,
これはLXDコンテナを作っただけだと,
まずはUSBデバイスのIDを調べます。PSLabをホスト上に接続することで,/dev
以下に新しいttyXXX
」/dev/
」
$ udevadm test-builtin usb_id /sys/class/tty/ttyACM0 calling: test-builtin Load module index Parsed configuration file /lib/systemd/network/99-default.link Created link configuration context. /sys/devices/pci0000:00/0000:00:14.0/usb1/1-9/1-9:1.0: if_class 2 protocol 0 ID_VENDOR=Microchip_Technology_Inc. ID_VENDOR_ENC=Microchip\x20Technology\x20Inc. ID_VENDOR_ID=04d8 ID_MODEL=MCP2200_USB_Serial_Port_Emulator ID_MODEL_ENC=MCP2200\x20USB\x20Serial\x20Port\x20Emulator ID_MODEL_ID=00df ID_REVISION=0101 ID_SERIAL=Microchip_Technology_Inc._MCP2200_USB_Serial_Port_Emulator_0003077351 ID_SERIAL_SHORT=0003077351 ID_TYPE=generic ID_BUS=usb ID_USB_INTERFACES=:020201:0a0000:030000: ID_USB_INTERFACE_NUM=00 ID_USB_DRIVER=cdc_acm Unload module index Unloaded link configuration context.
もしくはsudo udevadm monitor -e
」
今回必要なのはID_
です。この特定のデバイスが接続されたら,/dev/
」/dev/
」/dev/
」
$ cat <<EOF | sudo tee -a /etc/udev/rules.d/68-pslab.rules ## For PSLab ACTION=="add", SUBSYSTEM=="tty", \\ ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="00df", \\ ATTRS{serial}=="0003077351", MODE="666", SYMLINK+="ttyPSLab" EOF
PSLabを接続し直すと,
$ ls -l /dev/ttyPSLab lrwxrwxrwx 1 root root 7 2月 8 16:02 /dev/ttyPSLab -> ttyACM0
次にこのファイルをコンテナの中からアクセスできるようにします。
$ lxc config device add pslab ttyPSLab unix-char \ source=/dev/ttyPSLab path=/dev/ttyACM0 \ required=false uid=1000 gid=1000 Device ttyPSLab added to pslab
「require=false
」
コンテナの中を確認すると,
$ lxc exec pslab -- ls -l /dev/ttyACM0 crw-rw---- 1 ubuntu ubuntu 166, 0 Feb 6 07:07 /dev/ttyACM0
ちなみにPSLabはデバイスファイルがttyUSBx
」ttyACMx
」
PSLabの使い方
デスクトップアプリケーション版のPSLabの作りはとてもシンプルです。よっていろいろ触ってみればすぐに使い方がわかることでしょう。
PSLabには信号生成機とオシロスコープの両方が備わっているので,
まずピンの配置を確認します。PSLabのトップ画面の右上のハンバーガーメニューをクリックすると,
このうちBack Layoutの
とりあえずは
ちなみに
トップ画面に戻ったら
これはつまりCH1が
このようにPSLabを使えば安価にオシロスコープを含むさまざまな計測器を実現できます。もちろん値段相応の精度・