MQTTクライアント仕様

AppPot IoTのMQTTクライアントの仕様は以下の通りです。

  • 接続先URL:AppPot IoTのActive MQが稼働しているホスト名とポート番号
  • Topic名:AppPot IoTのApache Kafkaで作成したTopic名と合わせる
  • JSONメッセージ:ThingsデータはJSONフォーマットで送ります。以下の項目を含む必要があります
    • service_name: AppPot IoTで設定したサービス名
    • token: AppPot IoTで設定した端末認証用パスワード

MQTTクライアントサンプル

以下はJavaScriptを使用した場合のクライアント実装の例です。AppPot IoTは一般的なMQTTの仕様を採用していますので、JavaやC言語など、さまざまなプログラミング言語の MQTTライブラリが使用できます。

サンプルを動作させるための準備

  • node.jsとnpmのインストール

https://nodejs.org/en/download/

  • パッケージのインストール
    npm install mqtt
    

サンプルコード

var mqtt = require('mqtt');
var mqttClient = mqtt.connect(‘mqtt://接続サーバー');

console.log('mqtt connecting....');
mqttClient.on('connect', ()=>{
    console.log('mqtt connected');
    const jsonStr = JSON.stringify({
        service_name: "mini4wd",
        token: "mini4wdpassword",
        message: {
            "accel-gyro": {
                accel_x: 1000000,
                accel_y: 1000000,
                accel_z: 1000000,
                gyro_x: 1000000,
                gyro_y: 1000000,
                gyro_z: 1000000,
                time: Date.now()
            }
        }
    });
    // 引数で渡すTopic名はKafkaで作成したものに合わせます
    mqttClient.publish('mini4wd.AccelGyro', jsonStr);
})

// 終了前に実行される
process.on('beforeExit', ()=>{
    console.log('closing mqtt client...');
    mqttClient.close();
});