RaspberryPi

RaspberryPi3でシリアル通信を使ってみる

今回もラズパイネタです。

これまで、ラズパイ上で何かを作るときはSSHで接続していたのですが、これだとネットワーク環境が必須になります。かといってHDMI出力を使うかと言えば、これはこれで別モニターを用意しなきゃいけないので面倒くさいです(´・ω・)

個人的にはネットワークも別モニターも不要な環境がベストなのですが、シリアル通信を使えばそれが実現できると知り、さっそくRaspberryPi3で試してみることにしました。

USB<->シリアル変換アダプタを購入

シリアル通信を使ってラズパイとお話しできるようにするには、PCのUSBポートとラズパイのシリアルポートを仲介してくれるアダプタが必要になります。

そこで、今回はスイッチサイエンスの「FTDI USBシリアル変換アダプター Rev.2」を使ってみることにしました。

ドライバをインストール

PCでアダプタを使う準備としてドライバのインストールが必要なので、ドライバのダウンロードページから環境に合ったモノをダウンロードします。ちなみに、今回はWindows環境として進めます。

ダウンロードできたら、Setup.exeを実行してドライバをインストールします。本来であれば、インストール後にデバイスマネージャーに「USB Serial Converter」が表示されるはずなのですが、私の環境ではそれが表示されませんでした。

原因は良く分かりませんが、ドライバ自体のインストールはできているので気にせず先に進みます。

ラズパイと結線する

次にラズパイとアダプタを結線します。シリアル通信に必要な線はTX/RX/GNDの3本です。特にTXとRXはアダプタとラズパイの間でクロスするように接続します。

アダプタのGND <--> ラズパイのGND(Pin6)
アダプタのRX <--> ラズパイのTX(Pin8)
アダプタのTX <--> ラズパイのRX(Pin10)

結線した状態はこんな感じです。このとき、アダプタの電圧切替ジャンパを3.3V側に設定するのを忘れないように注意しましょう。間違えると最悪ラズパイが壊れます。

これでハード側の準備は完了です。ここからは実際にシリアル通信を試してみます。

ラズパイ側でシリアル通信を有効にする

シリアル通信を試す前に、以下の手順でラズパイ側のシリアル通信を有効にします。もしすでに有効になっていればこの手順は不要です。

  1. 「raspi-config」を実行
  2. 「5 Interfacing Options」を選択
  3. 「P6 Serial」を選択
  4. 「Would you like a login shel to be accesible over serial?」で「Yes」を選択
  5. 「Finish」を選択しラズパイを再起動

TeraTermで接続

ラズパイのシリアル通信を有効にできたら、TeraTermなどのクライアントでシリアル通信を開始します。このとき、ボーレートは115200に設定しておきます。

上手くいけば、このようにラズパイのコンソール出力がTeraTerm上に現れるようになります。あとはSSHでつないだときと同じようにコマンド実行や出力の確認ができます。

もちろん、ネットワーク環境も不要なので完全にクローズな環境でも開発ができるようになります。これは便利(・∀・)

ということで、無事にラズパイでシリアル通信を使えるようになりました。実はある別の目的もあってこの実験をしてみたのですが、それについてはまた別の記事にまとめたいと思います。

ではではノシ

関連記事

日記 自作物

2020/5/14

GitHubのコントリビューション数をグラフ化してみた

先日、ブログのトップページにGitHubの草を表示してみたという記事をあげました。 Corgi Lab. ~備忘録のための技術ブログ~ブログ内にGithubの草を生やしてみた今回はちょっとした小ネタです。お気づきの方もいるかもしれませんが、PC限定でブログのページ上部にGithubのコントリビューションを表示してみました。俗にいう「草を生やす」というやつです。特に深い意図はありませんが、これがあるだけでぐっと技術系ブログ色が... GitHubの草(コントリビューション)は日々の活動が可視化されるので、個 ...

この記事を読む

RaspberryPi

2020/5/6

Raspberry Pi4上のUbuntu ServerでCPUクロックを制限する方法

Raspberry Pi4は消費電力が大きく発熱がちょっと心配です。そのため、用途によっては意図的にCPUの動作クロックを絞って消費電力と発熱を抑えるという運用もアリかと思います。 CPUクロックの設定方法の多くはRaspbianを例に挙げていますが、Ubuntu Serverでも同じ方法で設定できたので、備忘録として残しておきたいと思います。 動作環境は、 ・Raspberry Pi4本体:モデルB(メモリ4GB) ・OS:Ubuntu Server 20.04 です。 目次CPU状態のチェッククロック ...

この記事を読む

RaspberryPi Linux

2020/5/2

RaspberryPi4でUbuntu Server 20.04を動かしてみた

新しい遊び道具として、RaspberryPi4(ModelB 4GBメモリ)を買いました。 前モデルと比べて大幅に性能アップしているということで、学習用のLinux環境としても実用的なものになりそうです。ということで、今回はRaspbian(ラズパイの標準OS)ではなく、Ubuntu Serverをインストールして使ってみたいと思います(・∀・) 目次OSイメージのダウンロードSDカードにイメージを書き込む初期起動+設定固定IPアドレスを設定する OSイメージのダウンロード まずはUbuntu Serve ...

この記事を読む

日記

2020/5/14

ブログ内にGithubの草を生やしてみた

今回はちょっとした小ネタです。 お気づきの方もいるかもしれませんが、PC限定でブログのページ上部にGithubのコントリビューションを表示してみました。俗にいう「草を生やす」というやつです。 特に深い意図はありませんが、これがあるだけでぐっと技術系ブログ色が強まるので、遊び半分で組み込んでみました。そこまで難しくないので、その方法を紹介しようと思います。 目次生やすだけなら簡単ちょっとひと工夫画像の取得はwget+Cronであとはブログ内に貼るだけ後日談:自分でグラフをつくってみました 生やすだけなら簡単 ...

この記事を読む

Flutter

2020/4/12

【Flutter】リリースチャンネルについて調べてみた

この記事を書いている2020/04/12時点で、FlutterのiOS実機ビルドが以下のようなエラーで通らなくなっています(´・ω・) Building for iOS, but the linked and embedded framework 'App.framework' was built for iOS Simulator. どうやら、最新のXcode11.4とstableチャンネルの組み合わせが原因らしく、Flutterのチャンネルを切り替えてあげればOKとのことでした。 とりあえず、stab ...

この記事を読む

-RaspberryPi

© 2020 Corgi Lab. ~備忘録のための技術ブログ~