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に設定することを勧める。
参照情報
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
以上
| 固定リンク
「linux」カテゴリの記事
- platfomioを使ってnaitive(linux/windows)のプログラムをビルドする方法(2021.03.10)
- micro:bit Yotta開発ツール(linux版)(2021.01.09)
- PlatformIOをRaspberryPi4で動かしてみる(実験)(2020.10.20)
- headless RaspberryPiインストール方法(v2)(2020.10.20)
- wio-terminalのファームウェア・アップデートについて(linux版)(2020.10.15)
「CircuitPython」カテゴリの記事
- MicroPython/CircuitPython Performance Test(2021.02.07)
- PicoボードにMicropython/CircuitPythonをインストールする(2021.02.03)
- XIAOでMPL3115A2(気圧・高度・気温センサ)を使用する(CircuitPython版)(2020.07.02)
- XIAOでMCP9808(温度センサ)を使用する(CircuitPython版)(2020.07.02)
- XIAOにCircuitPythonをインストールする(2020.06.09)
コメント