Tessel2が届いたので、叫んだらスマホに通知するような簡単なIoT実験をやってみた。

随分前から気になっていたIoT。やらねばやらねばと思っていたけどようやく着手できました。

2016年3月後半くらいに発売されたTessel2
まだ日本国内で触ってみた人は少ないみたい。

スタートガイドを見ながらやれば、なんの障壁もなくセットアップ完了。
Lチカみたいな軽い通過儀礼もなんなくこなし、あとは何しよっかなぁ〜とか思ってたら、「Webサービス同士を連携できる「IFTTT」と自作IoTデバイスを繋いで生活を便利にしてみた」という記事を見て、なるほどIFTTT経由でスマホに繋げばいいのか、と。

今回購入したのは、Tessel2本体とAMBIENTモジュール(環境センサー)なので、「わぁ!」って叫んだらIFTTT経由でスマホに通知する、みたいな。

IFTTTの設定については前述の参考記事に準じて、あとは下記のコードにて。

var tessel = require( "tessel" );
var ambientlib = require( "ambient-attx4" );
var request = require( "request" );

var ambient = ambientlib.use( tessel.port[ "A" ] );

var options = {
    url: 'https://maker.ifttt.com/trigger/{event}/with/key/{Your key}',
    method: 'POST',
    headers: {
        'Content-Type':'application/json'
    },
    json: true,
    form: { "value1": "hoge", "value2": "fuga" }
}

ambient.on( "ready", function () {

    console.info( "Waiting for a sound..." );

    ambient.setSoundTrigger( 0.15 );    //「わぁ!」と大きめの声を出せばこの程度
    ambient.on( "sound-trigger", function ( data ) {
        console.log( "Our sound trigger was hit", data );
        
        request( options, function ( error, response, body ) {
            console.log( body );
        });
        
        ambient.clearSoundTrigger();
        setTimeout( function () {
            ambient.setSoundTrigger( 0.15 );
        }, 1000 * 5 );  //一度叫んで5秒程度は再動作させない
    } );
} );

ambient.on( "error", function ( err ) {
    console.log( err );
} );

コードをTessel2にぶっこんだら、「わぁ!」って叫んでスマホに通知。

IMG_0013

何事も仕事に絡まない実験は楽しいw