

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
i2cdetectとは何か
i2cdetectは、Linux環境のi2c-toolsに含まれるコマンドです。I2Cバスに接続されたデバイスを「検出」するためのツールで、接続状態を見える化します。
I2Cは、複数の周辺機器を1本のバスでつなぐ通信規格です。i2cdetectを使うと、どのアドレスにデバイスがいるかを表形式の出力で確認できます。
使い方の基本
前提として、i2c-toolsがインストール済みで、I2Cが有効化されている必要があります。Raspberry PiやUbuntuなどのLinux機でよく使われます。
基本のコマンドは以下のとおりです。
<span>sudo i2cdetect -y 1 - 1はI2Cバス番号です。-yは「実行してよいか」を尋ねる確認を省略します。
実行すると、以下のような表の形でアドレスが表示されます(実際の出力は機器やバスによって異なります)。空欄はデバイスが見つからなかったアドレス、数字は検出されたデバイスのアドレスを示します。
出力の読み方
出力は0x00〜0x7fの範囲のアドレスをマス目状に表示します。行と列の交差点に表示の数字がある場合、それが検出されたデバイスのアドレスです。--と表示される場所は該当なしを意味します。
実用例と手順
Raspberry Piでの実用例を挙げます。まず、sudo apt-get updateとsudo apt-get install -y i2c-toolsを実行してツールを用意します。次に、i2cdetect -y 1を実行して接続デバイスを検索します。
ここで表示されるアドレスを基に、接続するセンサーや拡張ボードのドライバ設定を行います。デバイスによっては、アドレスが固定でない場合や、複数のアドレスを使う場合があるため、データシートの指示をよく確認しましょう。
安全性と注意点
I2Cバスは電源やグランドを共有する低電圧の配線です。誤接続や過電圧は機器を壊す原因になります。作業前に配線を確認し、電源を切った状態で行うのが基本です。sudo権限で動作するため、実行時には責任を持って操作してください。
よくある質問
Q: i2cdetectは全てのデバイスを検出しますか? A: いいえ。デバイスがI2Cバスに対応していない場合や、電源・接続状態が悪い場合、表示されないことがあります。
| 説明 | |
|---|---|
| sudo i2cdetect -y 1 | I2Cバス1をスキャンして、接続デバイスのアドレスをマス目状に表示します。 |
| sudo i2cdetect -y -r 1 | 読み取りモードでスキャンします。デバイスの応答を調べる用途に使いますが、バスに影響を与える場合があるため注意が必要です。 |
最後に、トラブルシューティングの基本として、デバイスが見えない場合は以下を順に確認します。電源、配線、I2Cの有効化、デバイスの動作状況、他のデバイスの干渉がないかをチェックします。
まとめ
i2cdetectは、I2Cバスに接続されたデバイスを簡単に見つけることができる強力なツールです。正しく使うことで、センサーや拡張ボードの設定をスムーズに進められます。初心者はまず環境を整え、基本コマンドを覚えることから始めましょう。
i2cdetectの同意語
- i2cdetect
- I2Cバス上のデバイスを検出するためのコマンド(i2c-toolsの一部)
- I2Cデバイス検出コマンド
- I2Cバス上の接続デバイスのアドレスを検出するためのコマンド
- I2Cアドレススキャナー
- I2Cバス上のデバイスアドレスを範囲でスキャンして検出するツール/機能
- I2Cバススキャンコマンド
- I2Cバスに接続されたデバイスを探索して見つけ出すコマンド
- I2Cデバイスアドレス検索
- デバイスのI2Cアドレスを検索・特定する操作
- I2Cスキャナ
- I2Cバス上のデバイスを検出する“スキャナ”のような役割を果たすツール/表現
- I2Cアドレス検出ツール
- I2Cバス上のアドレスを検出する機能の総称
- i2c-toolsのi2cdetect
- i2c-toolsパッケージに含まれるコマンド名そのもの
- I2Cデバイススキャン
- I2Cバス上のデバイスを探して検出する作業・機能
- I2Cノード検出
- I2Cバス上のデバイスを検出する表現・説明
- I2Cアドレス探索コマンド
- デバイスアドレスを探索/検出するコマンドという説明表現
- I2Cデバイス発見コマンド
- I2Cバス上のデバイスを発見するためのコマンド
- I2Cアドレス列挙機能
- I2Cバス上のデバイスのアドレスを列挙して表示する機能
- I2C機器検出ツール
- I2Cバス上の機器の有無を検出するツール
i2cdetectの対義語・反対語
- スキャン停止モード
- i2cdetectが行うI2Cバスのデバイス検出(スキャン)を実行しない状態。初心者には「スキャンを止める設定」と解釈すると分かりやすいです。
- 自動検出オフ
- I2Cデバイスを自動で検出する機能をOFFにする状態。手動でアドレスを設定したい場合の対義語的表現です。
- マニュアル設定モード
- アドレスは自動で検出せず、手動で設定するモード。自動検出の反対として使えます。
- アドレス一覧非表示
- I2Cデバイスのアドレス一覧を画面に表示しない設定。公開したくない場合の対義語的表現です。
- デバイス検出無効化
- I2Cバス上のデバイス検出機能を無効にすること。スキャンを実行しない状態の説明。
- スキャン結果空欄モード
- スキャンを実行しても結果を空欄として表示するモード。実務では現実的ではないが対義語として成立します。
- 自動アドレス割り当て無効化
- I2Cバス上のアドレスを自動で割り当てる機能を無効化する表現。自動検出の対義語として使えます。
i2cdetectの共起語
- i2c-tools
- Linux 上の I2C 操作ツール群。i2cdetect、i2cget、i2cset、i2cdump などを含むパッケージ名です。
- i2cdetect
- I2C バス上のデバイスを検出する、基本的なスキャンコマンドです。
- i2cget
- I2C デバイスのレジスタを読み出す/書くためのコマンドです。
- i2cset
- I2C デバイスのレジスタへ値を書き込むコマンドです。
- i2cdump
- I2C デバイスのメモリやレジスタのダンプを表示するコマンドです。
- i2c-dev
- Linux カーネルの I2C デバイス API を提供するモジュールです。
- /dev/i2c-X
- I2C バスを表すデバイスファイル。例: /dev/i2c-0、/dev/i2c-1 など。
- Raspberry Pi
- I2C の実践学習や実機デバッグに頻繁に用いられる小型ボードです。
- I2Cバス
- SDA と SCL の2本の信号線で構成される I2C の通信路です。
- I2Cアドレス
- I2C デバイスを一意に識別するアドレス。通常は7ビットか10ビットのうち7ビットが主流です。
- 7-bitアドレス
- I2C デバイスを識別するための主流の7ビット形式のアドレスです。
- バス番号
- 接続されている I2C バスの識別番号。i2cdetect で -y の後に続く数字で指定します。
- -yオプション
- 対話モードを回避して自動実行するオプション。確認を省略します。
- UU
- i2cdetect の出力で、該当アドレスのデバイスがカーネルドライバにより使用中であることを示すマークです。
- デバイスなし表記(--)
- i2cdetect の出力で、そのアドレスにデバイスが存在しないことを示す表記です。
- SDA
- I2C のデータ線。データの送受信を担う信号線です。
- SCL
- I2C のクロック線。データ転送のタイミングを決める信号線です。
- プルアップ抵抗
- I2C ライン上にある抵抗で、SDA/SCL を適切な電位に引き上げる役割を果たします。
- 電圧レベル(3.3V/5V)
- I2C の動作電圧。Raspberry Pi は通常 3.3V ロジックで、5V デバイスとは注意が必要です。
i2cdetectの関連用語
- i2cdetect
- I2C バス上の接続デバイスをアドレスの一覧として検出・表示するツール。コマンドを実行すると、バス上のデバイスがいるアドレスが格子状に表示されます。
- I2C
- Inter-Integrated Circuit の略。2本の信号線(SDAとSCL)を使い、マスターとスレーブが複数のデバイスを同じバス上で通信する低速なシリアル通信規格。
- I2Cバス
- I2C 通信を実際に行う配線・論理の集合。複数デバイスがSDAとSCLを共有して接続される。
- SDA
- データ線。I2C バスでデータの送受信を担当する双方向の信号線。
- SCL
- クロック線。マスターがデータ転送のタイミングを決定するための信号線。
- アドレス
- I2C デバイスを区別する識別子。7ビットまたは10ビットの形式で表現され、マスターが特定のデバイスに通信を行う際に用いる。
- 7ビットアドレス
- 多くのI2C デバイスで用いられる標準的なアドレス形式。アドレスは7ビット長で表現され、上位ビットが先頭に来ます。
- 10ビットアドレス
- 一部の機器で使われる長いアドレス形式。アドレス空間をより広く使える代替形式。
- アドレステーブル
- I2C バス上のデバイスのアドレス一覧表。i2cdetect の出力のような形でデバイスの存在を可視化します。
- i2c-tools
- Linux でI2Cデバイスを検出・操作するためのコマンド群の総称。i2cdetect, i2cdump, i2cget, i2cset などが含まれます。
- i2cdump
- I2C デバイスのレジスタ内容をダンプ表示するコマンド。内部状態を調査・デバッグに使います。
- i2cget
- I2C デバイスのレジスタの値を読み取るコマンド。
- i2cset
- I2C デバイスのレジスタへ値を書き込むコマンド。
- デバイスツリー
- Linux でハードウェアを階層構造で表現する仕組み。I2C デバイスの情報やドライバの紐付けにも使われます。
- DTB / Device Tree Blob
- デバイスツリーのコンパイル済みデータ。/proc/device-tree や /sys/firmware/devicetree などで参照できます。
- デバイスツリーバインディング
- デバイスツリーとカーネルドライバを結びつけ、特定のI2Cデバイスを正しいドライバに割り当てる設定。
- ドライバ
- OS がデバイスを制御するためのプログラム。I2Cデバイス向けにはカーネルモジュールやユーザー空間のライブラリがあります。
- スレーブデバイス
- I2C バス上の通信対象デバイス。センサや EEPROM、RTC などが典型例です。
- マスター
- I2C バスの制御側。通常はCPU/マイクロコントローラがマスタとしてデバイスと通信します。
- I2Cペリフェラル
- I2C バスに接続された周辺機器全般。センサー、メモリ、RTC などが該当します。
- バス衝突 / バス競合
- 複数のマスターが同時にバスを操作することで起こる信号の競合現象。適切な制御で回避します。
- スキャニング
- I2C バス上のデバイスを検出・確認する作業。i2cdetect などのツールを使います。
- オープンソース
- ツールやドライバのソースコードが公開され、誰でも利用・改変できるライセンス形態。
- アドレス空間
- I2C バスで使えるアドレスの総称。7ビットアドレス空間、10ビットアドレス空間など。
- 配線
- SDAとSCLの実装配線。長さ・ノイズ・プルアップ抵抗などが通信安定性に影響します。
- プルアップ抵抗
- SDA/SCL 線をデフォルトの高電位に保つための抵抗。I2C が正しく動作するために必要です。



















