VNC環境とRaspberry Piで簡単電子工作(5)

2017年8月9日(水)
青柳 良介福田 紘也

はじめに

これまでは、デジタル出力からPWM出力、アナログ入力までのデバイス周りの内容を一通り解説してきました。

今回以降からは、通信やシステム化などをテーマに解説していきますが、今回は番外編として、Raspberry Piをより使いやすくなる「2つの環境」について解説します。

まず、「VNC環境の立ち上げ」です。本シリーズではこれまでSSH接続によるリモートターミナル操作でRaspberry PiのVNCサーバを立ち上げていましたが、最新のRaspbianに標準実装されている「RealVNC」を使うと、自動でVNCサーバを起動させることができます。

次に、「プログラミングの実行」です。これまではターミナル上でコマンドを入力しながらプログラムを動かしていましたが、「Python IDE」を使うことで、Arduino(Arduino IDE)と同じような環境でプログラミングできるようになります。

用意するもの

Raspberry PiとPC、第2回で作成した回路1を使用します。今回は新たなパーツは使用しません。

  • Raspberry Pi 3B
  • microSDカード(OSインストール済みのもの。第1回を参照)
  • PC

なお、第2回で作成した回路1は、下記のパーツを使用しています(詳細は第2回を参照)。

  • LED
  • 押しスイッチ
  • ブレッドボード
  • ジャンパーワイヤ オス-メス
  • 抵抗抵抗(330Ω×2:LED側/10kΩ:スイッチ側)

自動でVNCサーバを起動させよう

Raspbianの更新

まず、ファームウェアを最新のものにアップデートします。今回は、安定して起動するファームウェアにアップデートするため、以下のコマンドを使用します。

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get dist-upgrade

「upgrade」はパッケージ構成を変えない範囲でアップグレードする処理を実行しており、「dist-upgrade」はパッケージ構成の変更に追随してアップグレードする処理を実行しています。

参考までに、動作が不安定な可能性もあるためあまりお奨めはできませんが、「rpi-update」コマンドでも最新のファームウェアにアップデートできます。

なお、ファームウェアのバージョンを確認するには、以下のコマンドを使用します。

$ vcgencmd version

RealVNCの設定

ファームウェアがアップデートできたら、次にRaspberry Pi側とPC側を設定します。まず、Raspberry Pi側では、以下のコマンドでRealVNCをインストールします。

$ sudo apt-get install realvnc-vnc-server

VNCを有効化します。

$ sudo raspi-config

Raspberry PiのConfiguration Toolが起動するので、「5 Interfacing Options」「VNC」を選択して「enabled」に設定します。

この設定はRaspberry Piのトップページにあるアイコンから「Preferences」→「Raspberry Pi Configuration」→「Interfaces」と選択して画面を立ち上げ、VNCを「enabled」に変更することでも行えます。

その後、再起動すると画面右上にVNCのアイコンが表示されます。

VNCのアイコンを右クリックして「Options」→「Troubleshooting」と選択してoption画面を立ち上げ、「direct capture mode」を有効にします。

これで、Raspberry Pi側の設定は完了です。

次に、PC側の設定を行います。まず「RealVNC」をダウンロードし、インストールしましょう。

インストールした「VNC Viewer」を立ち上げ、Raspberry PiのIPアドレス「192.168.XX.XXX」を入力します。UsernameとPasswordの入力が求められるので、それぞれ「Pi」と「raspberry」を入力します。

これでPC側の設定も完了です。Raspberry Piを起動させた後、自動でVNCサーバが立ち上がり、PCからダイレクトにVNC接続ができるようになりました。

Python IDEを使ってみよう

Thonnyをインストールしよう

Thonny」は、Python 3に対応するRaspbian向けに開発されたIDEです。

IDEとは統合開発環境(Integrated Development Environment)の略称です。従来は独立したコンパイラやテキストエディタ、デバッガ等のソフトウェア開発ツールを1つにまとめているため、効率的に開発ができます。

Thonnyは最新のRaspbianに標準実装されているので、以下のコマンドを入力するだけでインストールできます。

$ sudo apt-get install python3-thonny

インストールできたら、トップページにあるRaspberry Piのアイコンから「Programming」→「Thonny Python IDE」を選択してThonnyを立ち上げましょう。

Thonnyの機能

これまではプログラムの入力や実行にはターミナル上でのコマンド入力が必要でしたが、「Thonny Python IDE」上から行うことができます。さらに、以下の機能もあるので、より効率的なプログラミングが可能になります。

  • プログラム構文エラーの強調表示
    例えば、閉じられていない引用符や括弧は強調して表示されるので、単純なミスを防ぐことに役立ちます。
  • プログラムの段階的な実行
    複雑なプログラムの場合、どこでエラーが発生するか分かりにくいですが、段階的に実行することでエラーの所在が分かりやすくなります。

Lチカを試してみよう

それでは、「Thonny Python IDE」上で恒例のLチカテストを実行してみましょう。「light1.py」というファイルを作成し、以下のプログラムを入力します(第2回でも使用)。

from gpiozero import LED
from time import sleep

led = LED(17)
while True:
led.on()
sleep(1)
led.off()
sleep(1)

入力できたら、プログラムを実行してみましょう。

2つのLEDが点滅します。実機をお持ちでない方は、第2回で紹介している動作確認用の動画を参照してください。

次は、段階的にプログラムを実行してみましょう。点滅ではなく、点灯・消灯がそれぞれ段階的に動作します。

今回は単純なプログラムなのであまり必要はありませんが、より複雑なプログラムになった時には非常に効果がある機能です。

おわりに

いかがでしたか? 今回は番外編として、よりプログラミングを簡単にできる環境をテーマに解説しました。本シリーズでは、今後もこの環境を使用して解説を進めて行きます。

次回は本編に戻って、有線・無線の通信をテーマに解説していきます。お楽しみに!

Blooomin代表。半導体ベンチャーや米系通信機器メーカーを経て、組み込みシステムのコンサルディングからフィジカル・コンピューティングのコンテンツ開発などに従事。ハードやソフトにおける設計から保守までの勘所を横断的に網羅しております。
Blooomin:https://blooomin.com
S&F PARTNERS副社長。素材メーカーを経てコンサルティング会社で事業開発に従事。その後、ベンチャーにてIoTサービスの企画・運営。現在はロボットプログラミング教室の運営やIoTサービスの企画・開発を展開。S&F PARTNERS:http://www.sf-partners.jp/

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています