Intel Edison Kit for Arduinoに対してFirmataを導入した。

Intel Edison Kit for Arduinoに対してFirmataを導入した。

Clock Icon2016.02.12

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

好物はインフラとフロントエンドのかじわらゆたかです。
Intel Edison Kit for Arduinoに対してFirmataを入れたのでその手順を公開します。

Firmata

Arudinoを制御するための汎用プロトコルとのことです。
Firmataを用いることで様々なプログラミング言語から、Arduinoを制御することが可能です。

Intel Edison Kit for ArduinoにFirmataをインストールする

Intel Edisonが出た当初はArduino IDEはIntelのカスタム版を導入しておりました。
09: Edison Getting Started Guideをやってみる | Developers.IO
2016/02/11現在 カスタム版ではなくAruduino IDEをダウンロードすることでIntel Edison Kit for Arduinoを扱うことが可能です。

Intelの公式が出している方法に基づいて作業を進めます。
IoT - Installing the Arduino* IDE | Intel® Developer Zone

  • PCとEdisonをUSBで接続しておきます。その際に接続するのはJ16に接続します。
    09: Edison Getting Started Guideをやってみる | Developers.IO
  • ArduinoのサイトよりArudio IDEをダウンロードし、
    アプリケーション名をArduino.appからArudinoEdison.appに変更しApplicationディレクトリに配置します。
  • リネームしたArduino IDEを起動し、ツール→マイコンボード→ボードマネージャと進みます。 blog20160211_01
  • 検索条件にintelと入力し、検索結果に含まれるIntel i686 Boards by Intelを選択しインストールを押下します。
    blog20160211_02
  • ボードマネージャを閉じ、ツール→マイコンボードからIntel Edisonを選びます。
    blog20160211_03
  • ボードマネージャを閉じ、ツール→シリアルポートから/dev/cu.usbmodem〜 を選びます。
    blog20160211_07
  • ファイル→スケッチの例→Firmata→StandardFirmataを選択します。
    blog20160211_04
  • マイコンボードに書き込みを押下し、Firmataを書き込みます。
    blog20160211_05

Firmataの動作を確認する。

Firmataを用いてArduinoと操作を行う、ライブラリは各言語で提供されております。
Arduino Playground - Interfacing

今回はProcessingで試してみたいと思います。
Download Processing.
Processing自体はオフィシャルサイトよりダウンロード・解凍し、Processing.appを起動します。
Processingの環境設定でスケッチブックが/Users/ユーザー名/Document/Processing となっていることを確認します。

ProcessingでArduinoを扱うLibraryはLibrary for Processing v2.0を導入します。
ダウンロードしたzip内にあるarduinoディレクトリを書類内のProcessing→Libraryにコピーします。

Processing + Arduino(Firmata)で用いるシリアルポートの確認

以下のコードをProcessingのSketchに書き込み、Runを押下します。

import processing.serial.*;
import cc.arduino.*;
Arduino arduino;

void setup() {
  int i = 0;
  for (String arduino : Arduino.list()) {
    println("[" + i +"]" ,arduino);
    i++;
  }
}

cu.usbmodem となっている番号を調べます。
下記の例の場合、1となります。
blog20160211_06

Processing + Arduino(Firmata)の動作確認

上記で調べたシリアルポートの番号に応じて10行目を書き換えます。
以下のコードをProcessingのSketchに書き込み、Runを押下します。

import processing.serial.*;
import cc.arduino.*;

Arduino arduino;
int ledPin = 13;
color bgColor = color(0);

void setup() {
  size(400, 200);
  arduino = new Arduino(this, Arduino.list()[1], 57600);
  arduino.pinMode(ledPin, Arduino.OUTPUT);
}

void draw() {
  background(bgColor);
}

void mousePressed() {
  arduino.digitalWrite(ledPin, Arduino.HIGH);
  bgColor = color(255,0,0);
}

void mouseReleased() {
  arduino.digitalWrite(ledPin, Arduino.LOW);
  bgColor = color(0);
}

起動して、初期化が完了すると黒い画面が表示されます。
黒い画面をクリックすると赤く変化します。
正しくArduino(firmata)とProcessingが通信できていれば、赤く変化した際にボード上のLEDが点灯します。
blog20160211_09
また、DIGITALの13番 GNDにLEDを指すことで、LEDも点灯します。
blog20160211_08

まとめ

Intel Edison for Arduino に対してfirmateを導入し、その確認を行うことができました。
ようやくこの辺を動かす下準備ができました。

参考サイト

ProcessingとArduinoを接続する | yoppa org

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.