JavaScript Robotics Advent Calendar 2016 の9日目の記事です
今回コントロールするのは、Nefryです。
まずはNefryについて紹介していこうと思います。
Nefryとは?
フリスクサイズのIoTデバイスでUSBに直接繋げられたり、Webページ上でWiFiの設定やESP8266の端末設定ができるようになっていたりとESP8266をより簡単に扱えるものになっています。
詳しくはLigブログで記事をいくつか載せていますのでご覧ください。
自作したオリジナルIoTデバイス「Nefry」とインターネットを繋いでみた
Webサービス同士を連携できる「IFTTT」と自作IoTデバイスを繋いで生活を便利にしてみた
dotstudioさんにて販売中です!!
RESTAPIでハードを扱おう
dotstuidoさんのところで記事を公開しています。
URLを入れるだけ!REST APIでNefryを簡単に制御してみよう!
今回はこちらで紹介したものをベースにすすめていきます!
Nefryにプログラムを書き込もう
NefryでRESTAPIを扱うためにプログラムを書き込みましょう。
上の記事や環境構築の話を参考にしてArduinoIDEで書き込むことができますのでNefryにプログラムを書き込んでみましょう。
(後日、プログラムをダウンロード出来るようにするので、いいねでも押してまた見てください。)
#include <NefryRESTAPI.h>
void setup() {
NefryRESTAPI.begin();//REST APIを使うのに必要な初期化をおこないます。
}
void loop() {
}
書き込み終わったら次に進みましょう。
wifiの設定などもwebページから設定できるのでもしよければやっておきましょう。
javascriptでコードを書こう
先ほどの設定でハードについては準備完了ですので、javascriptのコードを書いていきます。
今回のコードはすべてこちらにまとまっています。
たとえば、バージョン情報についてはこちらをたたいています。
$.post("http://192.168.4.1/api/version",
"",
function (data, textStatus, jqXHRn) {
//リクエストが成功した際に実行する関数
alert("Nefry Rest Api version: " + data.version);
},
"json"
);
他には、NefryにはフルカラーLEDがついているのですが、それの制御をすることもできます!
$.post("http://192.168.4.1/api/1.0/NefrysetLed",
"r=255&g=0&b=0",
function (data, textStatus, jqXHRn) {
//リクエストが成功した際に実行する関数
alert("Nefry Rest Api: " + data.mode);
},
"json"
);
jsのコードは割とシンプルでNefryのAPIをjqueryでpostさせているだけですね。
どんなAPIがあるの?
dotstadioの記事によく使うAPIを掲載しています。
基本的な制御はそちらの記事を参照していただけるのですが、乗っていないものについても実装されてますので、ぜひぜひこちらのqiitaの記事をご覧ください。
動かしてみよう
jsdoitからNefryを制御しています。
jsdoit(javascript)からNefryを制御してみた! pic.twitter.com/146jBE0pW4
— わみ (@wamisnet) 2016年12月8日
まとめ
Arduinoが扱えなくてもjavascriptでうまい具合に制御できるので、ぜひためしてみてください!