I2C通信でデータを送受信するセンサーとのインターフェースを試みています。私はFT232H USBとI2Cコンバータのインタフェースを取って、それをPCに接続しました。Linux仮想マシンからI2CデバイスをFT232Hに接続できません
次のように私は、dmesgの出力を得る -
[ 518.172735] usb 1-3: new full-speed USB device number 4 using xhci_hcd
[ 518.306677] usb 1-3: New USB device found, idVendor=0403, idProduct=6001
[ 518.306686] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 518.306689] usb 1-3: Product: FT232R USB UART
[ 518.306692] usb 1-3: Manufacturer: FTDI
[ 518.306695] usb 1-3: SerialNumber: AK04P01W
[ 518.309382] ftdi_sio 1-3:1.0: FTDI USB Serial Device converter detected
[ 518.309442] usb 1-3: Detected FT232RL
[ 518.309445] usb 1-3: Number of endpoints 2
[ 518.309448] usb 1-3: Endpoint 1 MaxPacketSize 64
[ 518.309450] usb 1-3: Endpoint 2 MaxPacketSize 64
[ 518.309453] usb 1-3: Setting MaxPacketSize 64
[ 518.309771] usb 1-3: FTDI USB Serial Device converter now attached to ttyUSB0
と私はは/ dev/ttyUSB0デバイスを得ることができました。
私は次のリンクで与えられたサンプルのpythonベースのアプリケーションを実行している -
import Adafruit_GPIO.FT232H as FT232H
# Temporarily disable FTDI serial drivers.
FT232H.use_FT232H()
# Find the first FT232H device.
ft232h = FT232H.FT232H()
# Create an I2C device at address 0x70.
i2c = FT232H.I2CDevice(ft232h, 0x70)
しかし、それは常に取得 - 次のように私が使用したコードスニペットがある
https://learn.adafruit.com/adafruit-ft232h-breakout/i2c
を次の行に固執します。 -
ft232h = FT232H.FT232H()
私はこの機能から出ることができません。
Iは、以下のリンクでの手順に従っている - はリンク
https://unix.stackexchange.com/questions/340789/enabling-i2c-on-debian-i2cdetect-doesnt-show-device
次のように一例を示している -
したがって、例えば、バージョンを読み取ることレジスタ00から01バイトを読み取る必要があります。デフォルトのチップアドレスはE0、LSBはR/Wビットなので、代わりにE1をアドレスとして使用し、USB-I2Cアダプタの必要なコマンドは55です。シリアルで送信する完全なシーケンスは55 E1 00 01であり、答えとして1バイトを読みます。 USB用
- 必要なコマンド - - I2Cアダプタ
は、私は、次のデータの値を選択する方法を取得することはできませんよ。 「アダプターの必要なコマンド」については、どのように結論できますか?