どうも、CHASUKEです。
組み込みや電子回路でIoTがしたいなら、Arduinoボードが有名です。
数年前にArduinoと「Arduinoをはじめよう」を買い揃えて電子回路に挑戦したのだが、いつの間にか挫折してしまった。
そんな僕が、今回『obniz(オブナイズ)』という簡単にIoT製品を作ることができる開発ボードをゲットしました。
obnizをざっくり説明すると、インターネットと電子回路(LED、モーター、サーボなど)を制御するハードウェアプログラムが簡単に書けるスゴいボードです。
さっそく触ってみたのだが、これが手軽で面白い!
電気回路のお勉強中。
将来子供と一緒にやりたいな〜。やってくれるかな〜。#obniz最高 pic.twitter.com/bh5O3aJ0g1— CHASUKE (@chasuke__) September 8, 2018
CHASUKE
↑電気回路ではなく、正しくは電子回路ですね!
実は数年前に、Arduino使ってスマホで操れるラジコンを作ろうとしたのですが、初心者には難しくて挫折してしまった。だが、このobnizなら、いとも簡単にスマホ操作可能なIoTラジコンも簡単に作れちゃった。
これはスゴい!ということで、ちょこっと紹介させてください。
▼まず、obniz特徴はこんな感じ。
- オンラインエディタでプログラミング可能
- JavaScript、Node.js、ブロックプログラミングで制御可能
- IFTTTやAPIにより拡張性が高い
- 12ある全てのI/Oで最大1Aを出力
- ドキュメントが充実している
- モーター、サーボなど電子部品のパーツライブラリが充実で実装が簡単
- 軽量コンパクトなので、組み込みやすい
▼Amazon.co.jpで1枚5,980円で購入できます。
obnizはクラウド経由で操作する
小さくて可愛らしいパッケージですね♪
まずは、obnizのスペック
ジャジャーン。これがobniz!
▼小さいですが、WiFiやBluetooth搭載の凄い子ですよ。
サイズ | 74.5 × 36.3(mm) |
---|---|
ディスプレイ | 128 × 64ドット(OLEDディスプレイ) |
WiFi | IEEE 802.11b/g/n(2.4GHz) |
Bluetooth | Bluetooth 4.2 |
I/O数 | 12(全てのピンで最大1Aの電流を流す) |
obnizはインターネットに接続した状態で利用します。WiFiに繋ぐことで、obniz1台ごとに用意されたブラウザ上のオンラインエディタからプログラムを編集して実行させることができます。
ArduinoみたいにPCでプログラミングしてケーブルでインストールする作業は不要です。WiFiに繋いでさえいれば、どこからでも、どのPC・スマホからでも遠隔操作ができる手軽さが魅力です♪
初期設定はWiFi接続するだけ
▼microUSBから電源を入れると。
ディスプレイ上に、左上のボタンを押せと言わんばかりのクジラが現れた。
▼なんと、ボタンは左右に倒せて、WiFiパスワードが入力できる。
PCやキーボードを繋いで操作しなくていいのは、めっちゃ楽。
▼Wi-Fiに接続されると、QRコードが出てくる。
これをスマホで読み込めば、クラウド環境のオンラインエディタが開きます。
あとは全てクラウド側(インターネット上)での作業になります!
CHASUKE
obnizのIDは漏洩させないよう注意です!
クイックスタートで衝撃を味わう
関連するドキュメントや動画がとても充実している。
QuickStartのドキュメントはこちら。
▼解説動画もこの通り。
あっという間に、スマホのボタンタップして、obnizディスプレイに「Hello World」が出すやつが出来ちゃった。
なにこの手軽さ。衝撃ですわw
QuickStartのプログラムは、HTML(JavaScript)で書かれています。
以下のように、ON・OFFボタンを押したときのディスプレイ表示文字をイジってから「保存&開く」をタップすると、文字が変化するのが確認できます。
日本語でも問題なくobnizディスプレイに表示できます。
プログラグ修正は、スマホから手軽に編集できるのが嬉しいですよね。もちろんPCからも編集可能です。→オンラインエディタはこちら
ちなみに、クイックスタートで用意されたプログラムは、ボタンを押すと、LEDがついたり、消えたりします。これをやるには電子回路の知識が少し必要になる。
動画では、抵抗内蔵LEDである「OSB5SA5B64A-5V」を使っているので、5V1AでそのままobnizのI/Oにさしてます。
抵抗内蔵していないLEDだと、強い電流が流れてLEDが吹っ飛びます。
僕の場合は、抵抗内蔵LEDがなかったので、ブレッドボードとジャンパワイヤ(オス-オス)、抵抗器で電子回路を作りました。
『V=IR(オームの法則)』で、きっちり電子回路を勉強しましょー!
IoTラジコンを自作してみた
スマホで動くIoTラジコンを作ってみた!
IoTラジコンがこんなに簡単にできちゃった。そして何より面白い!#obniz すげー。 pic.twitter.com/BzKSVhLklN
— CHASUKE (@chasuke__) September 6, 2018
凄そうに見えますが、軽量でコンパクトなobnizなら簡単に作れます。これなら、子供も興味を持ってくれるかもしれません。
ラジコンの車体部分は、Amazonで購入しています。
▼タミヤのこんなやつ。
モーターは、ジャンパワイヤでI/Oと直接接続して、動かしています。家にあった5000mAhほどの小さめなモバイルバッテリー積んでます。
続いて、プログラムです。
ドキュメント内のパーツライブラリにあるDCMotorのページを見ると、使えるコマンドがずらっと並んでいます。obniz IDを入力して、「Test Run」すればサンプルが実行されます。
▼例えば、DCMotorのモーターを回転させるコマンド例を実行。(※ドキュメントはこちら)
これで、モーターが回ることが確認できた。
あとは、クイックスタートで編集したHTMLをこちらのサンプルに書き換えてやれば、スマホのブラウザから操作できるラジコンの完成です。
▼こんな感じで作成した。
<!-- HTML Example -->
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="https://obniz.io/js/jquery-3.2.1.min.js"></script>
<script src="https://unpkg.com/obniz@1.10.0/obniz.js"></script>
<style>
h1 {
color: black
}
#button1, #button2, #button3 {
border: solid;
padding: 45px;
font-size: 40px;
}
</style>
</head>
<body>
<div id="obniz-debug"></div>
<center><button id="button1">前進</button></center>
<br>
<center><button id="button2">停止</button></center>
<br>
<center><button id="button3">後退</button></center>
</center>
<script>
var obniz = new Obniz("xxxx-xxxx");
obniz.onconnect = async function () {
var motor = obniz.wired("DCMotor", {forward:0, back:1});
obniz.display.clear();
obniz.display.print("ラジコンカーモード");
obniz.switch.onchange = function(state) {
$('#print').text(state);
obniz.display.clear();
obniz.display.print(state);
}
$('#button1').click(function () {
motor.forward();
});
$('#button2').click(function () {
motor.stop()
});
$('#button3').click(function () {
motor.reverse();
});
}
</script>
</body>
</html>
最後に
簡単にIoTが実現できる『obniz』で遊んでみました。
プログラミングは、HTML(JavaScript)だけでなく、初心者や子供向けのブロックプログラミングもオンラインエディタから使えます。
他にも、サーバで使えるNode.jsライブラリも用意されているので、AWS Lambdaに仕込んでAlexaによる音声操作も簡単にできますね。
何か面白いものができたらツイッターなどで紹介していこうと思います♪
obnizはマニュアルや活用事例が満載で扱いやすい開発ボードです。クラウド経由で手軽に触れるので、アイデア次第で実用的なIoT製品がすぐ作れます。
面白いので、気になる人は是非チェックしてみてください。