Milkcocoaのはじめ方

1. 会員登録

Milkcocoaの公式サイト上部にある「無料登録」ボタンをクリックして会員登録します。

2. アプリを作成

会員登録が完了してログインするとダッシュボード画面へ遷移します。「新しいアプリを作る」ボタンをクリックすると入力ウィンドウが開くので、アプリ名を入力してアプリを作成します。正常にアプリが作成されると、ダッシュボードのトップページにアプリリストとして表示されます。

3. アプリIDを取得

アプリリストから作成したアプリをクリックするとアプリの詳細ページへ遷移します。ページ上部に「app_id:アプリID」が表示されるのでアプリIDをメモします。

Arduino IDEにMilkcocoa用SDKをインストールする

Arduino IDEの最新バージョン(2016年2月1日現在はv1.7.8)がインストールされている前提で進めます。

1. SDKのダウンロード

2つのSDKのGitHubにて[Download ZIP]ボタンをクリックしてZIPファイルをダウンロードします。

2. Arduino IDEにZIPファイルを読み込む

Arduino IDEを開き、メニューの[スケッチ]→[ライブラリを使用]→[ライブラリをインストール]をクリックし、先ほどダウンロードしたZIPファイルを選択しインストールします。インストールが成功すると下記画像のようにSDK名が一覧に表示されます。

3. Milkcocoa Arduino SDKを編集

Arduino M0はシリアル通信をSerialUSB関数で行うため、Milkcocoa Arduino SDKでも動作するように編集します。[Documents/Arduino/libraries/Milkcocoa_Arduino_SDK-master/]フォルダ内にMilkcocoa.hファイルがあるので、ファイル内のSerial関数を全てSerialUSB関数へ置換えます。
※Arduino M0はUSBを接続した状態でSerialUSB関数を使用していると、シリアルモニターを開かないとスケッチが動作しません。シリアルモニターを開かずに動作させたいときは、ACアダプターなどの外部電源から電源を取り、USBケーブルを抜くことで動作します。

Serial.print("Connecting to MQTT... ");
↓
SerialUSB.print("Connecting to MQTT... ");

スマートフォンから光センサーの値を確認するプログラム

下記にサンプルコードをアップロードしました。詳しい内容についてはソースコード内にコメントとして記載しておりますので、そちらをご覧ください。

Milkcocoaの設定を更新

これで光センサーの値をスマートフォンで確認できるようになりました。しかし、このままではMilkcocoaのアプリIDを使ったHTMLを第三者が別のサーバーにアップロードした場合、同時接続数や配信されるメッセージ数が削られてしまう恐れがあります。それを防ぐために、HTMLをアップロードしている環境のみアクセスできるように設定する必要があります。

Milkcocoaのダッシュボートのトップページにあるアプリリストからアプリを選択し選択します。左のメニューから[設定]クリックして設定画面を開きます。[許可Origin]の「localhost」「127.0.0.1」を削除し、HTMLをアップロードしている環境のドメイン名を登録します。そうすることで、登録したドメイン上にあるHTML以外のHTMLからはAPIにアクセスできなくなります。「localhost」「127.0.0.1」は開発用のPC内にローカルサーバーを立てているときにアクセスできるように標準で登録されているものなので、開発中に削除してしまうとAPIにアクセスできなくなるのでご注意ください。

最後に

Arduino M0とMilkcocoaを組み合わせることで、前回の記事「Arduinoと数百円のWi-Fiモジュールで爆安IoTをはじめよう」よりも手軽にトイレの使用状況を監視することができました。これでトイレ待ちも発生せずに効率よく使うことができます。

今回は光センサーを使ってトイレの明るさを検出しましたが、動く物体を検地できるモーションセンサーに変えると不審者が侵入していないか監視できますし、ブラインドにモーターを取り付けて室内の明るさを調整する仕組みも作成可能です。みなさまもアイデアを思いついたら手を動かしてみましょう。「欲しい仕組みが世の中に無いのなら作ってしまおう!」が個人でもできる時代になってきていると私は実感しています。