LoginSignup
15
15

More than 5 years have passed since last update.

HTML5 Conference 「雑な人のためのWoT (モノをつないでWebを楽しくしよう)」補足

Last updated at Posted at 2015-01-26

HTML5 Conf

昨日はHTML5 Conference 2015おつかれさまでした!

また、エンタメ技術部のセッションに参加いただいた方!
本当にありがとうございました!!!!!

前半の岩永さんのパート 「Web技術でハードウェア制御」はとても面白かったのですが、その後引き継いだ私のパートになった途端本当にマジかよ。というくらい訳がわからない雑な内容だっただけでなく、缶を叩いてマジうるさいというひどい感じで反省しています。

ええ、楽しかったです!(あまり反省してない?w)

というわけで、HTML5 Conferenceの常識を覆すひどいスライドを抹殺すべく、こちらに補足を書いて注意をこちらに向けてごまかそう、という魂胆です。

SlideShareの方は忘れてください。。。w

モノをWebに直結すればWoTだ!という主張

というわけで、何が言いたかったか。

私のような雑な人にとっては、なんとなくモノとWebが連動してるように見えればそれでWoTっぽくて楽しいので、まわりに転がってるであろうモノをPCにUSB接続可能な周辺機器にしてしまえばいいだろ。という主張です。

  • モノをArduinoを使ってUSBデバイス化する
  • 上記USBデバイスをブラウザが動作するPC/Macなどと接続する
  • USBデバイスと連携するWebアプリをブラウザで動かす

本当にすいません。

直結の方法。KeyboardとMIDI

USB機器にもいろいろありますが、Webアプリから直接扱えるものを2種類紹介させていただきました。

  1. キーボード (HID)
  2. USB MIDI

それぞれ、下記のような特徴があります。

特徴 キーボード(HID) MIDI
PCへのイベント送信 可能○ 可能○
PCからのイベント受信 不可能× 可能○
送信可能な情報 少ない(キーコマンドのみ)△ 多い(7bit×3)○
難易度 簡単○ ちょっと面倒△
対応ブラウザ すべて○ Chromeのみ△ ※1
イベントの送信先 限定できない△ ※2 限定できる○

補足1. 対応ブラウザは実はChromeだけではなかった!

すいません。Chromeだけ、と紹介させて頂いたのですが、iOS 8以降ではWeb MIDI Browser (by Takashi Mizuhikiさん)でもWeb MIDI APIが使えます!
こちらを使えば、BLE MIDIという無線のMIDIが使えるので、USB-MIDIとはまた違った連携が楽しめそうです!

補足2. キーイベントの送信先アプリが選べる?

なんと、昨日のカンファレンスで展示されていた「なんでもジェスチャコントロールβ」では、イベントの送信先を限定できていたようです!なんてこった!すごい。。。次はTMCN コミュニティ総会Vol.12 with DeNAでも出展されるかも?!詳細知りたい方は突撃しよう!

1/27追記
出展しました>「なんでもジェスチャコントロールβ」(viva mambo,Inc さん) で、仕組みが公開されました!!!
が!
「最前面ウィンドウとして固定」の方法がわからない!!!
やはり突撃するしか!!!w

USB-キーボード(HID)デバイスの作り方

Arduino LeonardoかMicroを使えば簡単に作れます。
詳細は、下記を参照してください!

Arduino Microを使って、センサーと「なんちゃって」デバイス連携するWebアプリを作ろう

※タイトルは「Arduino Microを使って」とありますが、Leonardoでも同じようにできます!

補足3. そういえばマウスでもできました。

当日のセッションでせっかく「キーボードとMIDI以外の方法はありませんか?」とご質問いただいたのに、カメラでも。。。とかよくわからない回答をしてしまい申し訳ありません。
後で思い出したのですが、そういえば、Arduino LeonardoやMicroはキーボード同様にマウスにも対応していました。
マウスでも、マウスクリックや移動などのイベントがとれるので、同じように使うことができそうです。

詳細は、下記を参照してください。

USB-MIDIデバイスの作り方

「moco for lufa」(@morecat_labさん)と、Arduino MIDI Libraryを利用してArduino UNOをMIDIデバイス化する方法を紹介させていただきました。

詳細は下記を参照してください!

Web MIDI APIの使い方

こちらは、全然説明足りませんでした。本当にすいません。

Web MIDI APIについては、YAMAHAの@ryoyakawaiさんのセッション「Web Audio API、Web MIDI APIを使ったサウンドプログラミング」で、詳しい説明がありました。
こちらのセッション資料が公開されていますので、参照してください。

また、ちょこっと使いたいだけで本格的なことは何もしたくない!という雑な方は、下記もみてください。

JavaScriptだけでMIDIで遊べる!最高に乱暴なWeb MIDI API利用方法

補足4. ところで、野菜(なまもの)はどうやって繋ぐんだ?

缶はマイクで、ち〜ん(呼び鈴)は上に付いてるスイッチで、となんとなく作り方想像つくと思いますが、野菜(なまもの)はちょっとわかりにくかったと思いますので、この場を借りて補足させてください。

なまものを繋ぐ方法として、

  1. 静電容量式センサーにする
  2. 通電スイッチにする
  3. 物理的スイッチの上に置くw

などが考えられます。

1. 静電容量式センサーにする

Arduinoを使って野菜を静電容量式センサーにするのは簡単です。
下記サイトに詳しい解説があります。

Arduino 日本語リファレンス「CapSense (静電容量センサ)」

また、複数の野菜を静電容量センサーにして1つのArduinoに繋ぎたい場合には、ATTinyなどの安いマイコンで上記のような静電容量センサーで得た値だけをArduinoに渡すようにすることで実現することもできます。

下記記事で作成方法を紹介していますので、興味のある方は是非読んでみてください。

Arduino UNOとATTiny13Aを使ったタッチセンサーMIDIコントロールデバイスの作り方

2. 通電スイッチにする

すいません。正しくはなんて呼ぶのが正しいのかわからないのですが、人間が野菜などに触ることで電気的に通電して、スイッチとする方法です。

Makey Makeyがこの方式で実現されています。

3. 物理的スイッチの上に置くw

野菜の下にスイッチなどを置いて、上から圧力をかけて「カチ」っとやれば。。。というバカな方法ですw あまりかっこよくありませんが、非常事態ではこういったバカな方法使ったりするんですよ。どういう事態だ!?という感じしますがw

おわりに

やっぱり「何がどうWoTなんだよ!ふざけんなこのやろう!」
という内容であることには変わりはありません。
お叱り、いっぱいください!

また、補足といいつつ、まだまだ、わかりにくいことがあると思います。
なんでも、いつでも、質問してください!

よろしくお願いします!!!

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