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ライブラリが使用できます。
サンプルを動作させるための準備
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();
});