pyftdiをテスト

pyftdiを動かしてみました。環境はいつもの LinuxMint19 64bit です。

pyftdiのインストール

まずは、インストールドキュメントをベースに進めます。

$ sudo apt-get install libusb-1.0

引き続き、/etc/udev/rules.d/11-ftdi.rules に udev ルールを追加します。

# /etc/udev/rules.d/11-ftdi.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6001", GROUP="plugdev", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6011", GROUP="plugdev", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6010", GROUP="plugdev", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6014", GROUP="plugdev", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6015", GROUP="plugdev", MODE="0666"

以下の内容を実行して再認識させます・・・が、再認識したのかどうかよくわからなかったので、USBケーブルを抜き差ししました。

$ sudo udevadm control --reload-rules
$ sudo udevadm trigger

pyftdiを使うため、以下のコマンドを実行します。

$ sudo adduser $USER plugdev

・・・が、すでに、plugdevのメンバーになっている旨、表示されました。

テスト用環境の構築

以下のようにして Python3 の仮想環境を作ります。

$ mkdir ~/python3
$ cd ~/python3
$ sudo apt-get install python3-venv
$ python3 -m venv pyftdi-test
$ cd pyftdi-test
$ source ./bin/activate
(pyftdi-test) $ python -V
Python 3.6.8
(pyftdi-test) $ pip install --upgrade pip
(pyftdi-test) $ pip install pyusb pyserial pyftdi

GPIOテストの実施

テスト用のスクリプトがあったのでダウンロードしてきます。

$ wget https://github.com/eblot/pyftdi/raw/master/pyftdi/tests/gpio.py

107-108行目の以下の部分をコメントアウトします。
(コメントアウトしないと、ここで必ずテストエラーになるような気がするのですが??)

        else:
            self.assertTrue(bool((1 << gp) & mask))

で、

$ python gpio.y

としてテストを実行すると、AD7に接続したLEDが消灯⇒点灯しました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)