2016.04.28
ProcessingとRasPiの組み合わせがまるでArduino
Processingが正式にRaspberry Pi(Raspbian)上で動作するようになってから半年ほどが経ちました。使ってますか? 今日は使う機会がさらに増えそうな情報をお伝えします。
上の写真はRaspberry Pi 2で動いているProcessing3.0のウインドウです。ソースをよく見るとpinModeとかdigitalWriteというキーワードがありますね。「これArduino IDE?」と勘違いしそう。両者のユーザーインタフェイスは似てますしね。でも、このスケッチはProcessing用です。
RasPi用のProcessingは、ライブラリを導入すると直接GPIOやI2Cにアクセスすることができるんです。このスケッチは、I2Cバスに接続した温度センサ(ADT7410)の値を見て、温度が低下したらGPIOに繋がっているLEDを光らせるという処理をしています(温度の計算式は間違っているかも)。RasPi2からブレッドボードへ直接ワイアが飛んでますね。
Hardware I/Oライブラリのマニュアルを見ると、GPIOやI2Cのほかに、PWMとSPIに対応しているのがわかります。Arduinoと似ている部分もあるし、そうでない部分もあるけれど、RasPiをArduinoのように使うためのライブラリと言っていいんじゃないでしょうか。
現在の開発状況と仕様に関する情報はGitHub上にあります。今のところ、推奨ハードはRaspberry Pi 2のようです。古い機種では動作が重いと思います。Raspberry Pi 3用のファイルもダウンロード可能ですが、これはRaspbian Jessie全体のイメージでした。開発中の64bitバージョンということかもしれません(筆者はまだテストしていません)。RasPi3のCPUパワーをフルに生かせるようになると、さらに使い勝手はよくなりそう。これからが楽しみです。
※追記(2016/5/17)
GitHub上のドキュメントが更新されました。提供されているRaspbian Jessieのイメージは、64bitバージョンではなく、全Piに共通のProcessing導入済みイメージということのようです。インストール済みのJessieに導入するためのスクリプトも提供されています。このスクリプトを使ってPi3に導入したところ問題なく動作しました。ただし、Hardware IOライブラリの全機能を使うにはデバイスのパーミッション変更等の追加作業が必要です。