shimashimaの日記: [Edison][IoT]Edison経由でTI SensorTagのデータをインターネット上で可視化する
Intel EdisonとTI SensorTagをBluetooth LEでつなげ、SensorTagのデータをMQTTでインターネット上にもっていき可視化するデモまでできたので手順を記述する。
本当はFujiでMQTTをしゃべらせたかったのだがFujiのBLE対応がまだなので、IBMのIoT FoundationのBeagleBoneBlack向けNode.jsコードを改造してIoT Foundationのデモサイトへつないでみた。
1. ソースの取得
MQTTで接続すためのソースを取得する。
自分は前述のBeagleBoneBlack向けコードを改造したが、その結果をGithubにあげたのでそのままCloneすればよい。
# git clone git@github.com:shimashima35/iot-edison.git
2. LED用ダミーディレクトリ/ファイル作成
元のBeagleBoneBlack向けソースには本体に搭載されているLEDのデバイスファイルへのアクセスがあったが、Edisonで同様のことはできないのでダミーファイルを作成する。
# cd
# mkdir beaglebone:green:usr0
# mkdir beaglebone:green:usr1
# mkdir beaglebone:green:usr2
# mkdir beaglebone:green:usr3
# touch beaglebone\:green\:usr0/trigger
# touch beaglebone\:green\:usr1/trigger
# touch beaglebone\:green\:usr2/trigger
# touch beaglebone\:green\:usr3/trigger
3. セットアップファイル実行
cloneしたファイルに含まれているsetup.shを実行する。
# ./setup.sh
サンプルが依存しているパッケージおよびNode.jsのモジュール取得が始まる。
4. プログラム実行
以下のコマンドを実行する。
# node iot_sensortag.js
そうすると、以下のようにSensorTagの検索が始まるのでSensorTagの電源を入れるとペアリング/コネクトしデータをインターネット上に配信し始める。
配信先はIoT Foundationのデモサイトで、URLが出力されるのでそれをブラウザで開く。
Press the side button on the SensorTag to connect
SensorTag connected
Discovering services and characteristics
Device name = null
System id = null
Serial number = null
Firmware revision = null
Hardware revision = null
Software revision = null
Manufacturer name = null
Enable IR temperature
Enable accelerometer
Enable humidity sensor
Enable magnetometer
Enable barometer
Enable gyroscope
MQTT clientId = d:quickstart:iotsample-ti-bbst:XXXXXXXXXX
MQTT Connected
Sending data
MAC address = XXXXXXXXXX
Go to the following link to see your device data;
http://quickstart.internetofthings.ibmcloud.com/#/device/XXXXXXXXXX/sensor/
これでとりあえずセンサーデータをMQTTでインターネットへ飛ばし可視化するところまでできた。可視化部分が既存のデモなので、これをBluemixのNodeREDで遊べるようにしてみたい。
[Edison][IoT]Edison経由でTI SensorTagのデータをインターネット上で可視化する More ログイン