Node-REDでI2Cを制御する(1)

Node-REDがRaspberry Piで動くようになると、次はI2CセンサーをNode-REDで動かしたくなります。そこで本稿では最終的にRaspberry Pi上のNode-REDでI2Cセンサーを動かすことを目標に設定して、それまでの準備作業から解説していくことにします。

まず初めにお断りしておくと、Raspberry PiでGroveセンサーシリーズを使うための拡張基板であるGrove Piは使いません。理由は(1)専用基板だと欲しい時にすぐ手に入らない虞がある(在庫切れになったり、いつディスコンになるかわからない)、(2)使えるI2CセンサーがGroveのラインアップに限定される虞がある、のが主な理由です。

と言うわけで当社では互換機含めてラインアップ豊富なArduinoをUSB<->I2Cのバスブリッジとして使うことを推奨しています。本稿ではこれを前提に話を進めます。

(1) USB<->I2CバスブリッジとしてのArduino

後々Groveシリーズ以外のセンサーも使うことを前提にGrove Piは使わないことにしたのですが、そうは言ってもすぐ手に入るI2Cセンサーで動作を確認しておきたいものです。と言うわけでI2CセンサーとバスブリッジにはGroveの4ピンコネクタがあると便利です。ところが売れ筋のArduino UnoでGroveコネクタを扱うには別売りのGroveシールドが必要になるので、私はArduino相当基板にGroveコネクタが2つ載っているSeeeduinoと言う基板を愛用しています。

(2) Arduino(Seeeduino)にFirmataを焼く

Arduinoから出ている端子をUSB経由で制御するにはFirmataと言うスケッチを焼きます。これで当面の作業の準備は完了しました。

2017.10.11