hmx-17の日記

技術ネタとかプライベート

Mongoose OSでJavaScript IoTプログラミング

Mongoose OSを使うと簡単にAWS IoT(w/Greenglass)が使えるんだって!
ってことで前回はFlash方法を書きましたが……

ざっとプログラムの書き方でも。Mongoose OSのJavaScriptではNode.JSっぽい感じに書けるようで、GPIOピンの割り込みイベントを作るには以下のように書くようです。

let button = 4;
let message = "MQTT Pub";
let topic = "hello/world"; GPIO.set_button_handler(button, GPIO.PULL_UP, GPIO.INT_EDGE_NEG, 200, function() { let ok = MQTT.pub(topic, message, 1); print('Published:', ok, topic, '->', message); }, null);

これはGPIOピン4をbutton変数として定義し、GPIOがGNDに落ちた時の立ち下がりエッジを割り込みトリガーとするイベントの定義になっています。
200と定数がありますが、ここはチャタリングが発生しないようイベントの最低発火頻度をmsecで指定するようです。

イベントを定義している匿名関数では事前に指定したMQTTのBrokerのTopicにPubしてシリアルコンソールにメッセージを投げるようになっています。

その他については今後記述していきますが、とりあえず公式ドキュメントを見るとよいでしょう。