LoginSignup
5
2

Elixir Nerves で構築した Raspberry Pi で FTDIケーブルを使ってみる

Last updated at Posted at 2024-03-12

はじめに

Elixir Nerves で構築した Raspberry Pi Zero WH に対して、 FTDI ケーブルを使ってシリアル通信してみます。

対象デバイスと直接シリアル通信するので、メンテナンスやファームウェアに異常がある場合のデバッグに有用です。ブート時のオペレーティングシステム(OS)のログも見れます。

また、Wi-FiEthernet が使えない環境でも通信できるので便利です。

Elixir と Nerves で Raspberry Pi を氣樂に試す

電子工作におけるシリアル通信

FTDI ケーブルとは

  • FTDI チップを内蔵した USB シリアル変換ケーブル
  • 対象デバイスの基板上にピンヘッダを用意するだけで PC とのシリアル通信が可能
  • 内蔵されたチップに対応するドライバーを PC にインストールする必要があり

FTDI チップでないチップ(SiLabs CP210x、Prolific PL2303 等)を内蔵した USB シリアル変換ケーブルもあります。それらは厳密にいうと FTDI ケーブルではありませんが、使い方は同じようです。

FTDI のドライバーをインストール

  1. ドライバーを FTDI 社のサイトからダウンロード(マニュアル
  2. FTDI ケーブルの USB コネクタを一度 PC に接続
  3. ドライバーをインストール

FTDI ケーブルのピン

FTDI ケーブルの USB コネクタでない方は製品により、ピンが 4 個のものや 6 個のものがあるそうですが、Elixir Nerves での使い方は同じです。

Raspberry Pi には既に電源が供給されているので FTDI ケーブルの電源のピンは使いません。

FTDI ケーブル ピン名 説明
RX 受信用ピン
TX 送信用ピン
GND グランド
VCC 電源を出力

ネットワーク通信の文脈では「TX (送信)」「RX (受信)」という言葉がよく使用されるようです。

FTDI ケーブル 通信の方向 Raspberry Pi
TX (送信) RX (受信)
RX (受信) TX (送信)

FTDI ケーブルの接続方法

Raspberry Pi のピン 6、8、10 が便利です。

  • FTDI ケーブルの GND は、Raspberry Pi の GND に接続
  • FTDI ケーブルの RX は、Raspberry Pi の UART TX に接続
  • FTDI ケーブルの TX は、Raspberry Pi の UART RX に接続
FTDI ケーブル ピン名 Raspberry Pi ピン名 Raspberry Pi ピン番号
RX UART TX (GPIO 14) 8
TX UART RX (GPIO 15) 10
GND GND 6

Elixirで Raspberry Pi のピン配置を確認することもできます。

シリアル接続 CLI クライアントをインストール

FTDI ケーブルは、テキスト出力を標準のシリアル USB ポートに変換します。
シリアルコンソール をサポートするオープンソースのシリアル接続クライアントがいくつかあります。

シリアル接続 CLI クライアントを実行

ホストPCのターミナルでpicocomを使う場合
picocom /dev/tty.usb* -b 115200

usb*は自動的にホストマシン上の USB ポート名に展開されます。

Nerves のファームウエアが起動している場合には、iex(1)>プロンプトが表示されると思います。

何も表示されない場合は、Enter を数回押してみてください。それでもだめなら RX と TX を入れ替えてみてください。

screen コマンドの使い方は下記の記事に書かれています。

さいごに一言

よく考えたら過去にも似たようなメモをまとめてました。

本記事は 闘魂 Elixir #72 の成果です。ありがとうございます。

toukon-qiita-macbook_20230912_091808.jpg

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2