SORACOMのSIMを使ってみた

IMG_0313.png

SIM買いました・・・

SORACOM Air(以下、Air)は、IoT 向けのデータ通信 SIM “Air SIM” を提供するサービスです。
Air の Web コンソール(ユーザーコンソール)や API を利用して各種設定の変更や、通信量を監視するなど IoT デバイスを一元管理することができます。

SORACOM 公式サイト
SORACOM 公式ブログ

スゴイです。
レビューやらラズパイ設定手順やらスピードテストやらCLI関連記事やらちょっとしたお祭りな感じですね。
SORACOM リリース記念リレーブログやってたり楽しそう。

SORACOM Air SIMカード 1,088円
UPQ Phone A01(BG) 16,092円
合計17,180円でお手軽にスマートフォンを持てちゃいますね。

IMG_0317.png

UPQ Phone買いました・・・

設定はカンタン。
UPQ Phone クイックスタートガイド

1. SIMを挿入する
2. APNを追加する
[設定]-[無線とネットワーク もっと見る]-[モバイルネットワーク]-[アクセスポイント名]より右上[+]でAPNを追加

名前:soracom
APN:soracom.io
ユーザー名:sora
パスワード:sora

3. データ接続をオンにする
画面上からスライドして表示されるメニューにある[データ接続]アイコンをタップ

今度はラズパイに繋いでスマートフォンからサーボモーター操作して鍵のサムターンを
回すモノを作ってみよう。(すでにそういうプロダクトある・・・

SORACOM ディベロッパー向けサイト


「RubyWorld Conference 2015」に協賛させていただきます

SPONSORbanner_01.jpg

「RubyWorld Conference 2015」に、Goldスポンサーとして協賛させていただきます。

<期間>
2015年11月12日(木) ・ 13日(金)
<会場>
島根県立産業交流会館「くにびきメッセ」 3階 国際会議場
<主催>
RubyWorld Conference開催実行委員会

「RubyWorld Conference 2015」公式サイト


20年ぶりに祝日が増えるそうです

世間ではお盆の時期にはいり、この時期に夏季休暇を設けている会社が多いですが当社の夏季休暇は自由選択制なので、私はお盆はお休みを取らず働いています。
夏休みが待ち遠しいです。
 
8月は祝日がありませんでしたが、2016年から8月11日が「山の日」という祝日になるそうです。
山の日ってなんだろ?と思ったので調べてみました。
ーーーーーーーーーーーーーーーーーーーーーーー
山に親しむ機会を得て、山の温絵に感謝することを
趣旨とする日本の国民の祝日の一つである。
ーーーーーーーーーーーーーーーーーーーーーーー
とのことです。
 
なぜ8月11日なのかというと、お盆休みと連続させやすい利点があるからだそうです。
確かに、お盆に帰省する人は連続できるのは嬉しいですよね。
 
「山の日」とのことですが、登山はしたことがないのでこれをきっかけに挑戦してみたいです。


bttn使ってみました

会社でbttnという製品を購入しました。
DSC_0272.jpg

何の変哲もない(?)押しボタンですが、これがなんとWiFi搭載でネットに繋がってます。
ボタンを押すと特定の宛先にメールを送る、とかTwitterにツイートする、とかできてしまいます。
公共の場所での簡易インタフェースとか、お年寄りのための見守りボタン的な使い方が想定されているようです。

この記事では、ボタンを押すとインターネット経由で社内のRaspberry Piに繋がったスピーカーから音が出る、というサンプルを設定してみます。

構成図

(1) bttnユーザ登録
my.bt.tnからユーザ登録と購入したボタン登録を済ませます。

(2) ボタンを押した時に呼び出されるURLを設定
my.bt.tnにログインすると、登録済のボタン一覧が表示されます。
設定対象のボタンの行にある「Action」ボタンを押してアクションを設定します。
「NEW ACTION」→「pressed」→「HTTP」と進みます。
アクションはメール送信などいろいろな種類が用意されていますが、ここでは「HTTP」(ウェブAPI呼び出し)を選びます。
ここで表示されるフォームに以下の内容を入力します。
HTTP URL: (Specify URL) http://example.com/
HTTP METHOD: GET
HTTP AUTHENTICATION: (HTTP server requires authentication) username:hogehoge password:fugafuga
このように、BASIC認証が設定されているURLへもアクセスできるようになっています。
API用のURLは後で生成するので、ここでは仮のURLを記入しておきます。
この状態で「NEXT」→「Save」で設定完了です。

(3) ウェブAPIを準備
呼び出される側のウェブAPIを用意します。
今回は社内のRaspberry Piで動いているウェブサーバを利用しました。

<VirtualHost 192.168.150.1:8080>
       DocumentRoot /var/www/bttn
        <Directory />
                Order allow,deny
                allow from all
                AuthType Basic
                AuthName "Password for bttn"
                AuthUserFile /etc/apache2/bttn_passwd
                Require valid-user
        </Directory>
</VirtualHost>
<?php
exec('/usr/bin/mpg321 /home/pi/sound/dog1.mp3');
echo "OKn";

(4) ウェブトンネリング設定
Raspberry Piのウェブサーバはファイアウォールの内側にあってインターネット非公開です。
ngrokを使ってbt.tnのサーバからアクセスできるようにします。

まず、ダウンロードページからngrokコマンドのバイナリをダウンロードします。
Raspberry Pi用は”Linux/ARM”ですね。
ダウンロードしたものを展開し、以下のコマンドを実行します。

$ unzip ngrok_2.0.19_linux_arm.zip
$ ./ngrok http 8080

ngrok実行後の画面に以下のような表示があるはずです。

Forwarding                    http://5ae30682.ngrok.io -> localhost:8080
Forwarding                    https://5ae30682.ngrok.io -> localhost:8080

このURLでインターネットから社内のRaspberry Piにアクセスできるようになりました。

(5) URLをmy.bt.tnに設定
再びmy.bt.tnからログインして
「Action」→「Current(HTTP)」と進み、HTTP URLの欄に
http://5ae30682.ngrok.io
を記入します。

これで完了です。
ボタンを押すと犬が吠えるようになりました。
手順として書くと長くなりましたが、非常に簡単です。

この単純明快なインタフェースをどう使うか、知恵の絞り甲斐のあるデバイスですね。