LoginSignup
4
8

More than 5 years have passed since last update.

JavaScriptでハードをコントロールしよう

Last updated at Posted at 2016-12-08

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を簡単に制御してみよう!
[URLを入れるだけ!REST APIでNefryを簡単に制御してみよう!](https://dotstud.io/blog/nefry-rest-api-tutorial/)

今回はこちらで紹介したものをベースにすすめていきます!

Nefryにプログラムを書き込もう

NefryでRESTAPIを扱うためにプログラムを書き込みましょう。

上の記事や環境構築の話を参考にしてArduinoIDEで書き込むことができますのでNefryにプログラムを書き込んでみましょう。
(後日、プログラムをダウンロード出来るようにするので、いいねでも押してまた見てください。)

RestApi.ino
#include <NefryRESTAPI.h>
void setup() {
  NefryRESTAPI.begin();//REST APIを使うのに必要な初期化をおこないます。
}

void loop() {

}

書き込み終わったら次に進みましょう。
wifiの設定などもwebページから設定できるのでもしよければやっておきましょう。

javascriptでコードを書こう

先ほどの設定でハードについては準備完了ですので、javascriptのコードを書いていきます。

今回のコードはすべてこちらにまとまっています。

http://jsdo.it/wamisnet/63S4

たとえば、バージョン情報についてはこちらをたたいています。

$.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でうまい具合に制御できるので、ぜひためしてみてください!

4
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
8