12
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

国産APIで使える国産マイコンボードobniz

Last updated at Posted at 2018-12-03

国産Web API Advent Calendar 2018 の4日目の記事です

3日目の記事 → @masatofujiiさんの"公共データのAPI化「しずみちinfo」"
5日目の記事 → @kazuchikaさんの"NHK番組表API(5才)"

APIっていいですよね。いろいろなデータや学習結果があまり詳しくなくてもリクエストさえ出せれば使えます。
"天気予報"や"地図"とか"機械学習"とかが一般的ですが、実はapiで動かせるハードウェアがあるんです

それが国産マイコンボード**"obniz(オブナイズ)"**です
obniz.png

国産マイコンボード"obniz(オブナイズ)"とはなにか

obnizは電子回路をAPIから動かせるクラウドシステムです。
・・・これで分かる人はプロですね。もう少し噛み砕いて説明します。

obnizは物理的な電子回路ボードと、それと連携したクラウドシステムでできています。

howobnizworks.png

APIはクラウドシステムにあって、そこにRESTやwebsocketでコマンドを送ると電子回路ボードがそれに応じて動くようになっています。

about_api.png

例えば、電子工作でおなじみLEDを光らせようと思ったとき、
LEDの2つの端子に5Vと0Vが必要になりますが、[{"io0":true}]というjsonを送ると0番ピンから5Vが出力され、[{"io1":false}]と送ると1番ピンから0Vが出力されます。

これで5Vと0Vが出力されるので、LEDを光らせることができます(※)
led_on.jpg

※5V対応の抵抗内蔵LEDを使っています

もちろん入力もできますので、部屋の温度をobnizで測って世界中に公開!とかもできたりします

cURLで使ってみる

APIの基本と言えばcURLだと思うので、cURLで動かしてみます。

どのobnizにどういうコマンドを送るか となりますが、
obnizそれぞれに固有のURLがありますので、そちらにコマンドを送ることができます

たとえば固有のIDが1234-5678だった場合、下記のURLにPOSTします

https://obniz.io/obniz/1234-5678/api/1

[{"io0":true}]というコマンドを送る場合はこのようになります

curl https://obniz.io/obniz/1234-5678/api/1 -H "Content-Type: application/json" -X POST -d '[{"io0":true}]'

これを使えばLEDが光らせられますね!

SDKで使ってみる

JavaScriptならSDKが用意されています。
HTMLで使えばWebから使えますし、node.jsでアプリからも動かせますね

SDKだと先程のコマンドはより直感的に使えます

var obniz = new Obniz("1234-5678") 
var led = obniz.wired("LED", {anode:0, cathode:1}); 
led.on();

5Vがどうだとかそういうのが一切消えて、LEDという部品を0番ピンと1番ピンにつないだのでそのLEDをonにしてね!という形で書くことができます。

他のAPIと組み合わせる

APIのメリットの一つに、自分のシステムに組み込んだり、他のAPIと組み合わせて楽しむというものがありますよね

たとえばTwitterと連動する旗をつくってみたり、したりすることができます
2個以上のobnizを組み合わせてもいいですね

ユーザー作品集が公式ページに載ってるんですが、ほんとにいろいろあって楽しいです

まとめ

というわけでみなさん、いろんなAPIを使う際には一緒にハードウェアを動かすAPIも試してもらえればと思います。

公式サイト:https://obniz.io
作例集:https://obniz.io/explore
ユーザー作例集:https://obniz.io/explore/forum

12
7
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
12
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?