[Raspberry Piで簡単IoT] 開発を効率化するインフラ(ツール)

概要

Raspberry Piを使って何かを作ろうとするとき、いちいちキーボードやマウスやディスプレイをセットして使うのは面倒ですよね。
実は、ノートPCが一台あればそんなことはする必要がありません。Raspberry Pi本体があれば十分です。すべて、ノートPCから作業することができます。

というわけでノートPCとRaspberry Pi本体のみを用いて開発したい人の為の便利ツールを、備忘録兼ねて残しておきます。

PCはwindowsの例で書きます。macの人は別のブログを参照してください。

3種の神器

3種の神器と言えば、Tera Term (ターミナル), WinSCP(ファイル転送) , vnc Viewer(バーチャルデスクトップ)でしょう。

Tera Term
(https://forest.watch.impress.co.jp/library/software/utf8teraterm/ )

いわゆるターミナルエミュレータです。SSHによる接続をWindows上から行うためのソフトウェアです。Tera Termにコマンドを打ち込むことで、Raspberry Piのターミナルにコマンドを打ち込んでいることと同じになります。

使い方は簡単です。Tera Teamの画面を開いて、新しい接続で、TCP/IPを選んで、ホストにRaspberry PiのIPアドレスを入力し、ヒストリはチェックを入れて、TCPポートは22を入力、サービスはSSHを選択しておけば良いでしょう。

こんな感じでつながるはずです。user/passwordを聞かれるので入力してください。変更してなければ、pi / raspberry です。

Raspberry Piの設定で、SSHを有効にしておくのも忘れずに。Raspiのデスクトップ(Raspberr Piの設定)からもできますが、ターミナルからも設定が可能です。

$ sudo raspi-config

5 Interfacing Options を選択

P2 SSH を選択

Yes - OK

で完了します。

Win SCP
( https://forest.watch.impress.co.jp/library/software/winscp/ )

続いてはファイル転送用。raspberry pi上にpython用エディタもありますが、そこで開発をするのは面倒ですよね。使い慣れたエディタで作ってから転送する方が楽ですので、ファイル転送のツールも必須です。

こちらも使い方は簡単です。転送プロトコルはSFTPにして、あとはTeraTermと同様にホストのIPアドレスとポート番号(22)、user/passward(初期値はpi/raspberry)を入力してやればつながります。こんな感じです。

VNC Viewer
https://www.realvnc.com/en/connect/download/viewer/ )

次はバーチャルデスクトップ。こちらはあまり使いませんが、一番最初にwifi設定したりraspiのデスクトップを見たい時に使います。

使い方は簡単で、これまで同様にraspiのipアドレスを入力して、user/passwardを入力するだけです。プロトコルはTCPでポート番号は5900ですが、デフォルトで入っているので特に気にする必要はありません。

一つ注意点があります。Raspi4では、理由はよくわかりませんが、raspi起動時にHDMIが接続されていないとvnc接続がうまく出来ないようになっています。以下の設定を行う必要があります。(ターミナルからできます、つまりTera Termから設定ができます)

config.txtファイルを開きます。nanoでもviでも良いです。「hdmi_force_hotplug=1」がコメントアウトされているため、#を消して有効にして保存してください(ctrl + x)。

$sudo nano /boot/config.txt
# hdmi_force_hotplug=1

終わったら再起動してください。

$sudo reboot

Raspberry Piの設定で、VNCを有効にしておくのも忘れずに。Raspiのデスクトップ(Raspberr Piの設定)からもできますが、ターミナルからも設定が可能です。

$ sudo raspi-config

5 Interfacing Options を選択

P3 VNC を選択

Yes - OK

で完了します。

複数のRaspi開発画面を1つに集約したい場合はVScodeが便利

Tera Term + Win SCPがあれば大抵のことはできますが、欠点もあります。複数のRaspberry Piを同時に開発する場合など、Tera TermとWinSCPの画面が大量になりすぎて開くのが面倒だったり、更に言えばWinSCPでファイルをドラッグ&ドロップすることすら面倒になってきたりします。
そんな面倒を一気に解消してくれるのが、Visual Studio Code(VS code)です。Microsoftがフリーで提供してくれているこのエディタは、シンプルにエディタとしても非常に使い勝手が良いのですが、これに「Remote Development」というプラグインをインストールすると、VSCodeのSSH接続機能でRaspberryPi内のコードを編集できるようになり、かつターミナルも打てるようになります。

つまり、Tera Termの役割とWin SCPの役割を同時に担えるようになるのです。ターミナルは「+」ボタンを押すことで一つの画面に複数表示できますので、とても便利です。

インストールや使い方は割愛しますが、「Visual Studio Code」、「Remote development」のキーワードで検索するわかるかと思います。

以下の記事はとても参考になります。https://qiita.com/c60evaporator/items/26ab9cfb9cd36facc8fd

最初のwifi設定では物理手段が必要

これまでwindowsPCで使える便利ツールを紹介してきましたが、これらを使うためにはまず最初にネットワークに接続しないといけません。その際にパスワードを入力したりする必要がありますが、その時だけはマウス/キーボード/ディスプレイが必要になります。

その時は、手持ちのキーボードやマウスを使って、ディスプレイは無ければテレビを使えばよいのですが、以下2点くらいはあると便利かと思います。比較的安く入手できますので、もし金銭的に余裕があれば、お薦めします。

・ワイヤレスミニキーボード
usbドングルをraspi本体に差すだけです。マウスとキーボードの役割を果たします。線がごちゃごちゃにならないしコンパクトに収納できるので良いです。

・7インチタッチディスプレイ

HDMIケーブル経由でディスプレイを表示します。小さいので場所を取らないのと、スピーカーやタッチモニタの機能も付いているのでそれらのテストもできます。1台家にあると何かと便利です。

結論

Rasberry Piの開発が効率化して楽しくなる便利ツールを紹介しました。
それぞれ自分の型があるかと思いますが、参考になるところあれば是非参考にしてください。
p.s.
Visual Studio Codeは本当に便利。日本発のTera Termも、Microsoftの波に飲まれていってしまうのかなぁ。


投稿者: コロッケ太郎

妻と息子と3人暮らし。週末に家族で遊びに出かけることと子供の昼寝に付き添って小説を読むことと美味しいコロッケを探求することがささやかな楽しみ。