2017年12月5日
図:自作の CC2650 センサーの写真
Texas Instruments の CC2650 SensorTag は、加速度や温度などの実世界データを取得できるコンパクトなセンサープラットフォームで、IoT アプリケーションの迅速なプロトタイピングに最適です。SensorTag は TI SensorTag アプリ を使って Bluetooth 経由でスマートフォンに簡単に接続できます。このアプリではリアルタイムでセンサーの値を確認できるほか、ボタンひとつでデータを IBM の QuickStart プラットフォーム に Wi-Fi 経由で送信することも可能です。
IBM のプラットフォームにはデータ分析や IoT アプリのホスティングに便利な機能がありますが、本プロジェクトでは異なるアプローチを採用しています。IBM のダッシュボードを使う代わりに、Node-RED と WebSocket を用いて IBM クラウドからデータを取得し、独自に構築したウェブインターフェースへ送信します。以下の図はシステム全体の構成を示しており、このデモのために構築した部分をハイライトしています:
バックエンドサーバーは Node.js を使って構築されており、視覚的にデータフローを構築できるツールである Node-RED を統合しています。これにより、ロジックをフローチャートのように接続して扱うことが可能になります。
IBM クラウドからデータを取得するには、Node-RED の ibmiotapp
モジュールを使用します。このモジュールが SensorTag のデータストリームを購読し、受信したデータを Node-RED の WebSocket ノード経由で Node.js サーバーへ転送します。
サーバー側では WebSocket を使ってフロントエンドのウェブページにデータを送信し、HTML、CSS、JavaScript を使って生データを表示します。さらに、Google Charts を統合することで、SensorTag の x, y, z 軸の加速度データをリアルタイムでグラフ表示しています。