« CircuitPythonに温度センサーLM61CIZ(analog)を接続する | トップページ | FT232Hボードに気圧センサーMPL115A2(i2c)を接続する »

2020年4月 1日 (水)

PCのpython3でCircuitPythonのAPIを使用する

2020/4/1++

FT232H adafruit_blinka install

FT232H adafruit_blinka install

概要

PCのpython3でCircuitPythonのAPIを使用する。 以下のFT232Hボードを接続し関連ソフトウェアをインストールすることにより、python3でCircuitPythonのAPIが使用可能となる。

FT232H使用USB⇔GPIO+SPI+I2C変換モジュール
Adafruit FT232H Breakout

事前準備

以下を実行する:

sudo apt-get install libusb-1.0 sudo nano /etc/udev/rules.d/11-ftdi.rules #以下を11-ftdi.rulesに追加する: # /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" sudo udevadm control --reload

インストール方法

使用しているpython3の環境では正常にインストールできなかったので 新しい環境blinkaを作り、その環境に必要なソフトウェアをインストールした。 FT232HボードはPCに接続しておく。

mkdir ft232h_ws cd ft232h_ws # setup venv blinka python3 -m venv blinka # activate venv blinka source blinka/bin/activate pip3 install pyftdi pip3 install adafruit-blinka export BLINKA_FT232H=1 # インストールの確認 python3に入り 出力が以下のようになればOKとなる: python3 >>> import os >>> os.environ["BLINKA_FT232H"] '1' >>> import board >>> 「import board」でエラーが出る場合 インストールが正常に行われていないことになる。 # 現在の環境から抜けるときは以下を実行する # do it when exit current venv deactivate

インストール後、再度、この環境を使用する場合は、以下を実行する:

cd ft232h_ws # activate venv blinka source blinka/bin/activate export BLINKA_FT232H=1

動作確認用テストスクリプト

blink.py
C0にLEDを接続する。

# blink.py # FT232H board from time import sleep import board import digitalio led = digitalio.DigitalInOut(board.C0) led.direction = digitalio.Direction.OUTPUT while True: led.value = True sleep(0.2) led.value = False sleep(0.2)

以下で実行する:

export BLINKA_FT232H=1 python3 blink.py

button_led.py
C0にLED,C1にボタンを接続する。

import board import digitalio led = digitalio.DigitalInOut(board.C0) led.direction = digitalio.Direction.OUTPUT button = digitalio.DigitalInOut(board.C1) button.direction = digitalio.Direction.INPUT while True: led.value = button.value

以下で実行する:

export BLINKA_FT232H=1 python3 button_led.py

Adafruit_CircuitPython_Bundleのモジュールのインストール方法

# MODULEというモジュールをインストールする場合、以下を実行する: pip3 install adafruit-circuitpython-MODULE # python3でimportする場合のスクリプト import adafruit_MODULE # ダッシュ(-)とアンダースコア(_)の使い分けに注意すること # 実例: pip3 install adafruit-circuitpython-neopixel_spi # スクリプト例: import adafruit_neopixel_spi

該当モジュールのCircuitPythonボードへのコピー方法

仮想環境blinkaを使用している場合は、以下のようになる:
CircuitPythonボードへのインストール

# ホストPC上(CircuitPythonボードが接続されている前提) # ライブラリーのパス設定 export CPY_LIB=$HOME/ft232h_ws/blinka/lib/python3.6/site-packages # 上の「python3.6」の部分は、自分の使用している(ホストPCの)の # 仮想環境blinkaのpython3のバージョンに合わせる # CircutPythonのストレージのパス設定 export CPY=/media/$USER/CIRCUITPY # モジュールのCircuitPythonボードへのインストール pip3 install adafruit-circuitpython-MODULE cp $CPY_LIB/adafruit_MODULE.py $CPY/lib/ # 具体例: pip3 install adafruit-circuitpython-mpl115a2 cp $CPY_LIB/adafruit_mpl115a2.py $CPY/lib/

export関係は、. bashrcに設定することを勧める。

参照情報

FT232H Blinka PINOUT

CircuitPython Libraries on any Computer with FT232H

FT232H使用USB⇔GPIO+SPI+I2C変換モジュール
Adafruit FT232H Breakout

CircuitPython on Linux and Raspberry Pi
CircuitPython 5.0.x - I2C

以上

|

« CircuitPythonに温度センサーLM61CIZ(analog)を接続する | トップページ | FT232Hボードに気圧センサーMPL115A2(i2c)を接続する »

linux」カテゴリの記事

CircuitPython」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




« CircuitPythonに温度センサーLM61CIZ(analog)を接続する | トップページ | FT232Hボードに気圧センサーMPL115A2(i2c)を接続する »