2015/01/16

初めてのIntel Edison

弊社のハードウェアの取り組みについてはこちらを参照。とりあえず初めてってことで、先人の足跡を追っかけた。

最初に09: Edison Getting Started Guideをやってみるを見て、MBAとEdison Arduino Boardを接続して動作確認、ファームウェアのアップデートとボリュームのFAT32化、Wi-Fi接続を実施。
次に10: Edison上のYocto Linuxで採用されたパッケージマネージャ opkg をいじるでパッケージのアップデート、ついでにbashをインストール。
そして13: Intel Edisonの初期状態で起動するWebサーバを止めたいでセットアップ用Webサーバを停止。
[Edison]Intel XDK IoT Edisonをつかってプログラムのビルドをしてみるの通りMBAにXDKをセットアップし、Groveの温度センサーをEdisonにつないでみたを参考に温度センサーを接続。XDKではArduino言語ではなくnode.jsで書くので、以下のようにスクリプトを書いた。
var mraa = require("mraa");
var B = 3975;

var myAnalogPin = new mraa.Aio(0);

setInterval(function () {
    var a = myAnalogPin.read();
    console.log("Analog Pin (A0) Output: " + a);        
    var resistance = (1023 - a) * 10000 / a;
    var temperature = 1 / (Math.log(resistance / 10000) / B + 1 / 298.15) - 273.15;
    console.log("Temperature: " + temperature);
}, 4000);
 実行するとこんな結果が出力される。
Analog Pin (A0) Output: 312
Temperature: 7.651950622463914
Analog Pin (A0) Output: 309
Temperature: 7.377040532159242
Analog Pin (A0) Output: 312
Temperature: 7.651950622463914
Analog Pin (A0) Output: 307
Temperature: 7.193226912184969
 ということで、とりあえず糸口はつかめた。