モノとつないでwebを楽しくしよう

Post on 20-Jul-2015

1.392 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

モノとつないでWebを楽しくしよう

2015.1.25 @tadfmac

HTML5 Conference 2015

フォント「るりいろフォント」:Copyright るりさん 配布元 http://sapphirecrown.xxxxxxxx.jp/ruriiro.html

15年1月25日日曜日

自己紹介

@tadfmac   http://soundcloud.com/tadfmac

http://qiita.com/tadfmac

雑な人です。

H.Kodama (a.k.a. D.F.Mac. @TripArts Music)

普段は通信系会社員。実験音楽や実験工作で遊んでます。

15年1月25日日曜日

このコーナーのターゲット

雑な人15年1月25日日曜日

モノとつないでWebを楽しくしよう

2015.1.25 @tadfmac

HTML5 Conference 2015

フォント「るりいろフォント」:Copyright るりさん 配布元 http://sapphirecrown.xxxxxxxx.jp/ruriiro.html

15年1月25日日曜日

雑な人のためのWoT

2015.1.25 @tadfmac

HTML5 Conference 2015

フォント「るりいろフォント」:Copyright るりさん 配布元 http://sapphirecrown.xxxxxxxx.jp/ruriiro.html

15年1月25日日曜日

雑な人のモチベーション

てきとうに、簡単に、そのへんにあるモノを何でもWebに繋いで、

Web Of Things!やってるぞ感を出したい。

15年1月25日日曜日

そんな人のためのソリューション

15年1月25日日曜日

直結とブラウザを

そんな人のためのソリューション

そのへんにあるモノ

15年1月25日日曜日

そのへんにあるモノ

15年1月25日日曜日

たとえば缶

そのへんにあるモノ

15年1月25日日曜日

たたくと

画面かわる

直結

15年1月25日日曜日

なまもの

そのへんにあるモノ

15年1月25日日曜日

さわると

画面かわる

爆音なるw

なまもの

直結

15年1月25日日曜日

ちーん必ずそのへんにある

15年1月25日日曜日

こっちでちーんすると

あっちでちーん

ちーん

本日実物を展示中!!

直結 直結

15年1月25日日曜日

直結の方法

15年1月25日日曜日

そのまんまじゃつながらない

いろいろな

モノ Web ×

15年1月25日日曜日

仕方ないのでArduinoを使ってデバイス化。

いろいろな

モノ Web 15年1月25日日曜日

直結できるデバイス①キーボード

(HIDデバイス)②MIDIデバイス

入出力 入力のみ 入出力

送れる情報 少ない 多い

難易度 かんたん ちょっと面倒

△ ○

△ ○

△○

ブラウザ すべて対応○ まだ  だけ△

接続先 限定できない 限定できる○△(どんなアプリも受け取っちゃう)

15年1月25日日曜日

①キーボード

15年1月25日日曜日

Web

モノ

USBケーブル

KeyEvent

キーボード

15年1月25日日曜日

Web

モノ

USBケーブル

KeyEvent

Arduino Micro

Arduino Leonardo

キーボード

15年1月25日日曜日

Web

モノ

USBケーブル

KeyEvent

タッチセンサー マイク、ピエゾなど

アナログ入力

キーボード

15年1月25日日曜日

Web

モノ

USBケーブル

KeyEvent

センサー信号

キーイベントに変換

アナログ入力

キーボード

15年1月25日日曜日

キーボードのサンプルはコチラ。

void setup() { Keyboard.begin();}void loop() { Keyboard.press('a'); delay(100); Keyboard.release('a'); delay(1000);}

スケッチ

15年1月25日日曜日

キーボードWeb

モノセンサー

USBケーブル

KeyEvent

$(document).keydown(function(ev){...});

アナログ入力

15年1月25日日曜日

MIDIデバイス

15年1月25日日曜日

Web

モノ

USBケーブル

Web MIDI API

MIDIデバイス

準備

Arduino UNO Rev.3

15年1月25日日曜日

ArduinoにUSB-MIDI機能を追加するファームを書き込む。

もあ(@morecat_lab)さん作(moco fo LUFA)http://morecatlab.akiba.coocan.jp/lab/index.php/aruino/midi-firmware-for-arduino-uno-moco/

準備

15年1月25日日曜日

詳細は、SlideShareで!

http://www.slideshare.net/tadfmac/arduinomidi

準備

15年1月25日日曜日

Arduino MIDI Libraryを追加

http://playground.arduino.cc/Main/MIDILibrary

準備Arduino IDE

15年1月25日日曜日

Web

モノ

USBケーブル

Web MIDI API

MIDIデバイス

準備が終わったら、スケッチを書こう!

15年1月25日日曜日

MIDIデバイスのサンプルはコチラ。

#include <MIDI.h>void setup() { MIDI.begin(4);}void loop() { int val = analogRead(A0); if (val > 512) { MIDI.sendNoteOn(42,127,1); } delay(500);}

スケッチ

15年1月25日日曜日

Web

モノ

USBケーブル

Web MIDI API

MIDIデバイス

Web MIDI APIWebアプリ側では

を使う!

15年1月25日日曜日

の準備

Web MIDI API

Chrome://flags で「MIDI」で検索。→有効にするその後、「デバイス」を繋いでからブラウザを再起動!

こうなってれば有効になってる。

15年1月25日日曜日

初期化

Web MIDI API

navigator.requestMIDIAccess().then(onMIDISuccess,onMIDIFailure);var midi = null;var inputs = [];var outputs = [];

function onMIDISuccess(m){ midi = m; var it = midi.inputs.values(); for(var o = it.next(); !o.done; o = it.next()){ inputs.push(o.value); } var ot = midi.outputs.values(); for(var o = ot.next(); !o.done; o = ot.next()){ outputs.push(o.value); }

for(var cnt=0;cnt < inputs.length;cnt++){ inputs[cnt].onmidimessage = onMIDIEvent; }}

15年1月25日日曜日

エラー処理と、MIDI受信

Web MIDI API

function onMIDIFailure(msg){ console.log("onMIDIFailure()呼ばれただと?:"+msg);}

function onMIDIEvent(e){ if(e.data[0] == 0x90){ // ch.1にNoteON受信 // なにかをうけとったときの処理 }}

MIDI送信function sendMIDINoteOn(note){ if(outputs.length > 0){ outputs[0].send([0x90,note,0x7f]); }}

15年1月25日日曜日

Web MIDI APIのつづきは河合さんのセッションで!

「みでゃっぴー」by @g200kgさん

15年1月25日日曜日

雑な人でも直結なら行ける!

まとめ

15年1月25日日曜日

http://soundcloud.com/tadfmac

ありがとうございました

15年1月25日日曜日

top related