・2019/05/01
NVIDIA Jetson Nanoの GPIO端子の I2C機能を使う方法
(NVIDIA Jetson Nanoの GPIO端子の I2Cに各種センサーを繋げる方法まとめ)
Tags: [Raspberry Pi], [電子工作], [ディープラーニング]
● NVIDIA Jetson Nanoで I2Cを使う方法
Jetson Nano GPIO table
please see this post from JetsonHacks
NVIDIA Jetson Nano J41 Header GPIO Pin layout
Interface signal pins.
All signals use 3.3V levels.
By default, all interface signal pins are configured as GPIOs,
except pins 3 and 5 and pins 27 and 28, which are I2C SDA and SCL,
and pins 8 and 10, which are UART TX and RX.
L4T provides a Python library, Jetson.GPIO, for controlling GPIOs.
The library has the same API as RPi.GPIO.
See
/opt/nvidia/jetson-gpio/doc/README.txt
on your Jetson system for details.
以下のピンは最初から I2Cや UART機能が有効になっています。
(つまり、GPIOとして使えない)
Pin 3 Pin 5 = I2C Bus 1
Pin 27 Pin 28 = I2C Bus 0
Pin 8 Pin 10 = UART TX and RX, Pin 8 = TXD0, Pin 10 = RXD0
NVIDIA Jetson Nanoの GPIOには内蔵プルアップ・内蔵プルダウンの指定が有りません。
なので外部回路側にプルアップ抵抗が必要です。
電源ピン +3.3V, +5V, GNDの配置は同じ。
GPIOの各種機能ピンの配置も同じ。I2C、SPI、UART、I2S、PWM等
一部の GPIOが Jetson Nano独自、Raspberry Pi独自となっている。
(下記の表で背景が白色の所が不一致と Pin 11、Pin 36)
・NVIDIA Jetson Nano J41 Header GPIO Pin layout

● Jetson Nanoの I2C
$ sudo i2cdetect -y 1で I2Cに接続している周辺機器(センサー)を確認する
※ ZS-042 DS3231の RTCモジュールを接続していると 0x57と 0x68に検出している事が分かる
0x57は AT24C32の 4KB不揮発メモリ
0x68は RTC DS3231のリアルタイムクロック
0x4fは LM75Aの温度センサ
※ ちなみに秋月の I2C接続キャラクタ液晶 AQM1602Aは I2Cデバイスとして認識しませんでした。やっぱり秋月の I2C LCDモジュール ST7032はクセが有るなあ。
user@user-desktop:~$ sudo i2cdetect -r -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 4f
50: -- -- -- -- -- -- -- 57 -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
# 0x4fは LM75Aの温度センサ
user@user-desktop:~$ i2cget -y 1 0x4f 0x00
Error: Could not open file `/dev/i2c-1': Permission denied
Run as root?
user@user-desktop:~$ sudo i2cget -y 1 0x4f 0x00
0x1a
user@user-desktop:~$ sudo i2cget -y 1 0x4f 0x01
0x00
user@user-desktop:~$ sudo i2cget -y 1 0x4f 0x02
0x4b
user@user-desktop:~$ sudo i2cget -y 1 0x4f 0x03
0x50
user@user-desktop:~$ sudo i2cget -y 1 0x4f 0x07
0xa1
user@user-desktop:~$ sudo i2cdump -y 1 0x4f
No size specified (using byte-data access)
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 1a 00 4b 50 ff ff ff a1 1a 00 4b 50 ff ff ff a1 ?.KP...??.KP...?
10: 1a 00 4b 50 ff ff ff a1 1a 00 4b 50 ff ff ff a1 ?.KP...??.KP...?
20: 1a 00 4b 50 ff ff ff a1 1a 00 4b 50 ff ff ff a1 ?.KP...??.KP...?
30: 1a 00 4b 50 ff ff ff a1 1a 00 4b 50 ff ff ff a1 ?.KP...??.KP...?
40: 1a 00 4b 50 ff ff ff a1 1a 00 4b 50 ff ff ff a1 ?.KP...??.KP...?
50: 1a 00 4b 50 ff ff ff a1 1a 00 4b 50 ff ff ff a1 ?.KP...??.KP...?
60: 1a 00 4b 50 ff ff ff a1 1a 00 4b 50 ff ff ff a1 ?.KP...??.KP...?
70: 1a 00 4b 50 ff ff ff a1 1a 00 4b 50 ff ff ff a1 ?.KP...??.KP...?
80: 1a 00 4b 50 ff ff ff a1 1a 00 4b 50 ff ff ff a1 ?.KP...??.KP...?
90: 1a 00 4b 50 ff ff ff a1 1a 00 4b 50 ff ff ff a1 ?.KP...??.KP...?
a0: 1a 00 4b 50 ff ff ff a1 1a 00 4b 50 ff ff ff a1 ?.KP...??.KP...?
b0: 1a 00 4b 50 ff ff ff a1 1a 00 4b 50 ff ff ff a1 ?.KP...??.KP...?
c0: 1a 00 4b 50 ff ff ff a1 1a 00 4b 50 ff ff ff a1 ?.KP...??.KP...?
d0: 1a 00 4b 50 ff ff ff a1 1a 00 4b 50 ff ff ff a1 ?.KP...??.KP...?
e0: 1a 00 4b 50 ff ff ff a1 1a 00 4b 50 ff ff ff a1 ?.KP...??.KP...?
f0: 1a 00 4b 50 ff ff ff a1 1a 00 4b 50 ff ff ff a1 ?.KP...??.KP...?
# 0x68は RTC DS3231のリアルタイムクロック
user@user-desktop:~$ sudo i2cget -y 1 0x68 0x00
0x21
user@user-desktop:~$ sudo i2cget -y 1 0x68 0x00
0x22
user@user-desktop:~$ sudo i2cget -y 1 0x68 0x00
0x23
user@user-desktop:~$ sudo i2cget -y 1 0x68 0x00
0x25
user@user-desktop:~$ sudo i2cget -y 1 0x68 0x00
0x26
user@user-desktop:~$ sudo i2cget -y 1 0x68 0x01
0x19
user@user-desktop:~$ sudo i2cget -y 1 0x68 0x02
0x10
user@user-desktop:~$ sudo i2cget -y 1 0x68 0x03
0x05
user@user-desktop:~$ sudo i2cget -y 1 0x68 0x00
0x58
user@user-desktop:~$ sudo i2cget -y 1 0x68 0x00
0x59
user@user-desktop:~$ sudo i2cget -y 1 0x68 0x00
0x00
user@user-desktop:~$ sudo i2cget -y 1 0x68 0x00
0x01
user@user-desktop:~$ sudo i2cget -y 1 0x68 0x00
0x02
user@user-desktop:~$ sudo i2cdump -y 1 0x68
No size specified (using byte-data access)
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 23 28 10 05 02 85 19 00 00 00 03 00 00 08 1c 8b #(?????...?..???
10: 00 19 c0 XX XX XX XX XX XX XX XX XX XX XX XX XX .??XXXXXXXXXXXXX
20: XX XX XX XX XX XX XX XX XX XX XX XX c0 c0 c0 c0 XXXXXXXXXXXX????
30: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
40: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
50: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
60: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
70: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
80: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
90: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
a0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
b0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
c0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
d0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
e0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
f0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
# 0x57は AT24C32の 4KB不揮発メモリ
user@user-desktop:~$ sudo i2cdump -y 1 0x57 i
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
user@user-desktop:~$ sudo i2cdump -y -r 0x00-0xFF 1 0x57
No size specified (using byte-data access)
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
・NVIDIA Jetson Nanoで I2Cを使う方法

・NVIDIA Jetson Nanoで I2Cを使う方法

Tags: [Raspberry Pi], [電子工作], [ディープラーニング]
●関連するコンテンツ(この記事を読んだ人は、次の記事も読んでいます)
【2020年版】NVIDIA Jetson Nano、Jetson Xavier NXの便利スクリプト
Jetsonの面倒な初期設定やミドルウェアのインストールを bashスクリプトの実行だけで簡単にできます
NVIDIA Jetson Nano 開発者キットを買ってみた。メモリ容量 4GB LPDDR4 RAM
Jetson Nanoで TensorFlow PyTorch Caffe/Caffe2 Keras MXNet等を GPUパワーで超高速で動かす!
NVIDIA Jetson Nano 開発者キットを Raspberry Pi 3と性能比較してみたベンチマークレビュー
Jetson Nanoの GPUパワーを実感して Raspberry Pi 3との置き換えは可能かを検証する
NVIDIA Jetson Nano 開発者キットを動かすのに最低限必要な物の一覧、冷却ファン、NGFF 無線カード
Jetson Nano 開発者キットに最低限必要な物、UHS-1 microSDカード、USBキーボード、電源、HDMIディスプレイ
NVIDIA Jetson Nano 開発者キットで使用する microSDカードに Ubuntu OSイメージを焼く方法を説明
Jetson Nano 開発者キットを動かすのに必要な microSDカードを作成する方法(Windows、Mac)
NVIDIA Jetson Nano 開発者キットで SDカードで起動したら一番最初にする事
ログイン操作後に各種の初期設定やパッケージのアップデートをすると良いです
NVIDIA Jetson Nano Ubuntuのパッケージがアップデート可能な場合にアップデートする方法
Ubuntuのパッケージを更新して packages can be updatedを 0にする方法
NVIDIA Jetson Nanoで nvcc command not found build CUDA app Errorの対応方法
Jetson Nanoで CUDAを使用したアプリをビルドする時に command nvcc not foundが出る場合の対処方法
NVIDIA Jetson Nanoの GUI環境を無効にして CUI環境で動く様にしてフリーメモリエリアを広げる
Ubuntuの X Window Systemを無効にして Jetson Nanoの使用できるメモリ容量を 300MB増やす方法
NVIDIA Jetson Nano 開発者キットの Tips一覧、冷却ファンが動かない、20Wモードで動かす、動作温度を知る、他
Jetson Nanoで初心者が戸惑いそうな所を Tipsとしてまとめました nvcc not found
NVIDIA Jetson Nano 開発者キットに Raspberry Pi Camera Module V2 RaspiCamを接続する方法
Jetson Nanoは Raspberry Pi Camera Module V2の IMX219 800万画素カメラモジュールを接続できます
Raspberry Piで TensorFlow Deep Learning Frameworkを自己ビルドする方法
ラズパイで TensorFlow Deep Learning Frameworkを自己ビルドする方法
Raspberry Piに PyTorch Deep Learning Frameworkをソースコードからビルドする方法、DeepDreamでキモイ絵を作成
ラズパイで PyTorch Torch Deep Learning Frameworkをビルドして Deep Dreamで悪夢を見る方法
Raspberry Piで darkflowを動かしてリアルタイムでカメラ映像を画像物体検出する方法
ラズパイで darkflowと Tensorflowを動かしてリアルタイムでカメラ映像の物体検出を行なってみる
Raspberry Piで Caffe Deep Learning Frameworkで物体認識を行なってみるテスト
ラズパイで Caffe Deep Learning Frameworkを動かして物体認識を行なってみる
Raspberry Piで Deep Learningフレームワーク Chainerをインストールしてみる
ラズパイに Deep Learningのフレームワーク Chainerを入れてみた
Raspberry Piで DeepBeliefSDKをビルドして画像認識フレームワークを動かす方法
ラズパイに DeepBeliefSDKを入れて画像の物体認識を行なう
【成功版】最新版の Darknetに digitalbrain79版の Darknet with NNPACKの NNPACK処理を適用する
ラズパイで NNPACK対応の最新版の Darknetを動かして超高速で物体検出や DeepDreamの悪夢を見る
【成功版】Raspberry Piで Darknet Neural Network Frameworkをビルドする方法
ラズパイに Darknet Neural Network Frameworkを入れて物体検出や悪夢のグロ画像を生成する
【成功版】Raspberry Piに TensorFlow Deep Learning Frameworkをインストールする方法
ラズパイに TensorFlow Deep Learning Frameworkを入れて Google DeepDreamで悪夢を見る方法
Raspberry Piに Jupyter Notebookをインストールして拡張子 ipynb形式の IPythonを動かす
ラズパイに IPython Notebookをインストールして Google DeepDream dream.ipynbを動かす
Raspberry Piで Caffe2 Deep Learning Frameworkをソースコードからビルドする方法
ラズパイで Caffe 2 Deep Learning Frameworkをソースコードから自己ビルドする方法
【ビルド版】Raspberry Piで DeepDreamを動かしてキモイ絵をモリモリ量産 Caffe Deep Learning Framework
ラズパイで Caffe Deep Learning Frameworkをビルドして Deep Dreamを動かしてキモイ絵を生成する
Raspberry Pi 3 Model Bで動画処理アプリ FFmpegをコンパイルする方法
ラズパイ3で動画音声変換処理プログラム FFmpegをセルフコンパイルしてインストールする方法
Raspberry Pi 3 Model Bで動画処理アプリ libavをコンパイルする方法
ラズパイ3で libavをセルフコンパイルしてインストールする方法
Raspberry Piで NNPACKをビルドする方法
ラズパイで NNPACKをビルドしてみるテスト、ビルドするだけ
BLAS、ベクトルと行列に関する基本線型代数操作を実行する演算ライブラリ APIのまとめ
BLAS(Basic Linear Algebra Subprograms)の線型代数演算ライブラリ APIのまとめ
Raspberry Pi 3の Linuxコンソール上で使用する各種コマンドまとめ
ラズパイの Raspbian OSのコマンドラインで使用する便利コマンド、負荷試験や CPUシリアル番号の確認方法等も
PIP機能付きの 4K対応の 4入力 1出力の HDMIセレクターを買ってみた、HDMI機器が複数有る場合に便利
ピクチャ イン ピクチャ機能付き 4K入力対応の 4入力 1出力 HDMI切り換え機 HDSFX0401P
EDID保持機能付きの 4K対応の 4入力 2出力の マトリックス切り替え HDMIセレクター、液晶画面 2台と使用で最強
TESmart HMA0402A30 マトリックス切り替えで液晶画面 2台に接続できて更に EDID保持の便利機能付き HDMI切り換え機
[HOME]
|
[BACK]
リンクフリー(連絡不要、ただしトップページ以外は Web構成の変更で移動する場合があります)
Copyright (c)
2019 FREE WING,Y.Sakamoto
Powered by 猫屋敷工房 & HTML Generator
http://www.neko.ne.jp/~freewing/raspberry_pi/nvidia_jetson_nano_gpio_i2c/