私は、Node.jsとaws-iot-device-sdkを使用して自分のRaspberry PiでAWS IoTを試していました。これは正常に接続していますが、.subscribe
ではコールバック関数が呼び出されていません。公開は公開していません。あなたが正しい方向に私を向けることができればお願いします。また、topic3
のすべてのデータをtopic2
に再公開するAWS IoTに関するルールを作成しました。AWS IoTのトピックサブスクリプション
var awsIot = require('aws-iot-device-sdk');
var device = awsIot.device({
"host": "A3SXXXXXXXXXXX.iot.us-west-2.amazonaws.com",
"port": 8883,
"clientId": "MyClientId",
"thingName": "MyThingName",
"caCert": "./certs/root-CA.crt",
"clientCert": "./certs/certificate.pem.crt",
"privateKey": "./certs/private.pem.key"
});
device
.on('connect', function() {
console.log('connected');
device.subscribe({'topic3':0}, function(error, result) {
\t console.log(error);
console.log(result);
});
device.publish('topic2', JSON.stringify({ test_data: 2}));
});
その大丈夫、私は欠けていたものを見つけました。 AWS IoTのルールは、ロギングではなくトピックに再公開するように設定されていませんでした。ダムの間違いはするが、それは起こる。今はすべてうまく動作しています。しかし、なぜサブスクリプションのコールバック関数が呼び出されていないのか混乱しています。たぶんそれのコールバックがありません。私はそのためにmqtt.jsの文書を掘り下げます –
こんにちは@Sandeep Randhawa ..もしあなたが助けることができるなら、2つの質問があります。 1)。バックグラウンドでnodeJSプログラムをどのように実行しますか?例えばのようなものである。私はノード "test.js"を使ってプログラムを実行しています。今私はSSHセッションを閉じると、サーバーも殺されます。私たちはどのようにバックグラウンドでそれを実行するのですか? 2)。どのように我々は、応答から得た結果に基づいてスイッチを行うことができます。 –
@Ankit Khannaノードプロセス管理にforeverまたはpm2を使用できます。しかし、 'nohup node index.js 'などの' nohup'を使うことをお勧めします。そして、私はあなたの2番目の質問を得られませんでした。あなたがここで達成したいものを精巧にしてください。 –