Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

updated at

Nefry REST API一覧まとめ

NefryをもっとWeb系のエンジニアでも触れるように、REST APIでハードウエアをいじれるようにしてみました!

今回はそのRESTAPIで叩ける機能をまとめてみましたのでご覧ください。
こちらはNefry library version 2.2.2以上の場合使用できます。

Nefryとは

USBに直接繋げられたり、Webページ上でWiFiの設定やESP8266の端末設定ができるようになっていたりとIoTをより簡単に扱えるものになっています。
dotstudioさんにて販売中です!!

詳しくはLigブログで記事をいくつか載せていますのでご覧ください。

自作したオリジナルIoTデバイス「Nefry」とインターネットを繋いでみた

Webサービス同士を連携できる「IFTTT」と自作IoTデバイスを繋いで生活を便利にしてみた

API一覧

NefryRESTAPIは基本的にjsonのパケットで値を返します。
今後の実装次第でバージョンが上がっていきます。

Passwordをつけるもできます。(パスワードの入れ方は別の記事で紹介します。)

GPIO(入出力ピン)

Nefryについている入出力ピンを制御することができます。

入力

Nefryの入出力ピンがどうなっているか取得できます。

デジタル

NefryのD0-D5の入力を取得できます。

URL : /api/1.0/digitalRead
引数 : pin(範囲:D0-D5)

具体例 : /api/1.0/digitalRead?pin=D1

返り値 : {"mode":"digitalRead","pin":"D1","value":0}
pin名と状態がvalueに含まれて返答されます。valueの範囲は0(low)-1(high)となります。

アナログ

NefryのA0の入力を取得できます。

URL : /api/1.0/analogRead
引数 : なし

具体例 : /api/1.0/analogRead

返り値 : {"mode":"analogRead",""value":0}
状態がvalueに含まれて返答されます。valueの範囲は0-255となります。

出力

デジタル

NefryのD0-D5ピンの出力を制御できます。HIGH(3.3v)かLOW(0v)のどちらかを出力します。

URL : /api/1.0/digitalWrite
引数 : pin(範囲:D0-D5) state(範囲:HIGH(1)-LOW(0))

具体例 : /api/1.0/digitalWrite?pin=D1&state=HIGH

返り値 : {"mode":"digitalWrite","pin":"D1","value":1}
pin名と状態がvalueに含まれて返答されます。

アナログ(PWM)

NefryのD0-D5ピンの出力を制御できます。1023(3.3v)から0(0v)の指定された出力します。

URL : /api/1.0/analogWrite
引数 : pin(範囲:D0-D5) state(範囲:0-1023)

具体例 : /api/1.0/analogWrite?pin=D1&state=500

返り値 : {"mode":"analogWrite","pin":"D1","value":500}
pin名と状態がvalueに含まれて返答されます。

シリアル通信

シリアル通信の設定ができます。

設定

シリアル通信のバンドレートを設定できます。設定しないときは115200bpsのシリアル通信を行っています。

URL : /api/1.0/Serialbegin
引数 : band(バンドレートの指定を行います。デフォルト:115200bps)

具体例 : /api/1.0/Serialbegin?band=115200

返り値 : {"mode":"Serialbegin","band":115200}
状態がbandに含まれて返答されます。

入力

シリアル通信で入力された内容を返答します。コマンドを受けて1秒以内に受信したコマンドを返り値で返答します。

URL : /api/1.0/Serialread
引数 : なし

具体例 : /api/1.0/Serialread

返り値 : {"mode":"Serialread","message":"hello!"}
取得した内容がmessageに含まれて返答されます。

出力

シリアル通信で引数の内容を出力します。こちらは改行なし

URL : /api/1.0/Serialprint
引数 : message(送信したいメッセージ)

具体例 : /api/1.0/Serialprint?message=hello

返り値 : {"mode":"Serialprint","message":"hello"}
送信した内容がmessageに含まれて返答されます。

シリアル通信で引数の内容を出力します。こちらは改行あり

URL : /api/1.0/Serialprintln
引数 : message(送信したいメッセージ)

具体例 : /api/1.0/Serialprintln?message=hello

返り値 : {"mode":"Serialprintln","message":"hello"}
送信した内容がmessageに含まれて返答されます。

Nefry関数

Nefry Console

入力

Nefry Consoleで入力された内容を返答します。

URL : /api/1.0/Nefryread
引数 : なし

具体例 : /api/1.0/Nefryread

返り値 : {"mode":"Nefryread","message":"hello!"}
取得した内容がmessageに含まれて返答されます。

出力

NefryConsole+シリアル通信で引数の内容を出力します。こちらは改行なし

URL : /api/1.0/Nefryprint
引数 : message(送信したいメッセージ)

具体例 : /api/1.0/Nefryprint?message=hello

返り値 : {"mode":"Nefryprint","message":"hello"}
送信した内容がmessageに含まれて返答されます。

NefryConsole+シリアル通信で引数の内容を出力します。こちらは改行あり

URL : /api/1.0/Nefryprintln
引数 : message(送信したいメッセージ)

具体例 : /api/1.0/Nefryprintln?message=hello

返り値 : {"mode":"Nefryprintln","message":"hello"}
送信した内容がmessageに含まれて返答されます。

Nefry LED

NefryについているLEDの色を変更することができます。

URL : /api/1.0/NefrysetLed
引数 : r (範囲:0-255) g (範囲:0-255) b (範囲:0-255)

具体例 : /api/1.0/NefrysetLed?r=255&g=0&b=0

返り値 : {"mode":"NefrysetLed","r":255,"g":0,"b":0}
設定した値が返答されます。

I2C

準備段階

準備

I2C通信ができるように準備をします。

URL : /api/1.0/Wirebegin
引数 : なし

具体例 : /api/1.0/Wirebegin

返り値 : {"mode":"Wirebegin"}
Modeが返答されます。

アドレス指定

通信先のアドレスを指定し、通信の準備をします。

URL : /api/1.0/WirebeginTransmission
引数 : address(I2Cデバイスアドレス)

具体例 : /api/1.0/WirebeginTransmission?address=120

返り値 : {"mode":"WirebeginTransmission","address":120}
指定した内容が返り値に含まれて返答されます。

送信

送信

デバイスに対する送信を完了します。

URL : /api/1.0/Wirewrite
引数 : data(送信したいデータ)

具体例 : /api/1.0/Wirewrite?data=1

返り値 : {"mode":"Wirewrite","data":1}
送信した内容が返答されます。

デバイスへ送信完了の信号

デバイスに対する送信を完了します。

URL : /api/1.0/WireendTransmission
引数 : なし

具体例 : /api/1.0/WireendTransmission

返り値 : {"mode":"WireendTransmission","result":"success"}
送信した内容が成功したかどうかresultに含まれて返答されます。失敗の時も原因が挿入されます。

受信

デバイスへデータ要求処理

デバイスにデータを要求するのに使われる。データは、その後Wirereadを使って取得する。

URL : /api/1.0/WirerequestFrom
引数 : address(I2Cデバイスアドレス),count(要求するデータ数)

具体例 : /api/1.0/WirerequestFrom?address=105&count=1

返り値 : {"mode":"WirerequestFrom","address":255,"count":1}
設定した値が返答されます。

受信

データを読み取るときに使用します。

URL : /api/1.0/Wireread
引数 : なし

具体例 : /api/1.0/Wireread

返り値 : {"mode":"Wireread","data":""}
受信したデータが返答されます。

その他

version情報

NefryについているLEDの色を変更することができます。

URL : /api/version
引数 : なし

具体例 : /api/version

返り値 : {"mode":"version","version":"1.0"}
バージョン情報が返答されます。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
0
Help us understand the problem. What are the problem?