始める前に、次のことを確かめて下さい:
mqtt の登録
このセクションでは、Node JS を使用して MQTT ブローカーに接続するさまざまな方法について説明します。 先に進む前に、ブローカーが所望の接続方法(TCP、TLS、WebSocket、 等)および正しい関係変数があります:
基本TCP コネクション
const mqtt = 必須('mqtt');
'mqtt://broker-url:1883' をコントで取得
ご予約・お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ
クライアント Id: "testclient1",
お問い合わせ
const = クライアント mqtt.connect(brokerUrl、conn_params)
client.on('connect', () => クライアント
console.log('MQクライアント');
お問い合わせ
認証と接続
認証を必要とするMQTTブローカーに接続するには、ユーザ名とパスワードを接続する パラメータ。
ご予約・お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ
クライアント Id: "testclient1",
ユーザー名: "username"
よくある質問
お問い合わせ
TLS/SSL に接続
TLS/SSL を使用して安全に接続するには:
const fs = 必須('fs');
ご予約・お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ
ハードウェア: 'mqtts'
ホスト名:'localhost'
ポート: 8883,
クライアント Id: "testclient1",
ca: [fs.readFileSync('/path/to/root.crt')],
お問い合わせ
WebSocketを介して接続
TCP の代わりに WebSocket に接続するには、ブローカー url を次のように保ちます。
コントブローカー Url = 'ws://broker-url:10443/mqtt';
トピックにデータを送信するには:
const インターバル = 2000;
トピック = 'testtopic';
client.on('connect', () => クライアント
console.log('MQクライアント');
JSON.stringify({" 温度": 27.6" 参照)
setInterval(() => お問い合わせ
クライアント。 公開トピック(、メッセージ、(err) => お問い合わせ
スタッフ
console.error('Errorパブリッシングメッセージ:', err);
お問い合わせ
console.log('Messageが公開:'、メッセージ);
お問い合わせ
お問い合わせ
お問い合わせ
お問い合わせ
メッセージを受信するには、トピックフィルタを購読します。 ブローカーはマッチングメッセージを転送します クライアント
client.on('connect', () => クライアント
console.log('MQクライアント');
client.subscribe('some_topic', (err) => ) は、
スタッフ
console.error('エラー:'、err);
お問い合わせ
console.log(トピックにサブスクライブ:${topic}`);
お問い合わせ
お問い合わせ
お問い合わせ
client.on('message', (トピック、メッセージ) => お問い合わせ
お問い合わせ
科学研究 = JSON.parse(message.toString()); ; // 解析
console.log('${topic}':`、データ); で 受け取る
お問い合わせ
console.log('${topic}':`, message.toString() の非 JSON のメッセージ送信)。
お問い合わせ
お問い合わせ
client.unsubscribe('testtopic', (err) => ) は、
スタッフ
console.error('Unsubscribe error:', err); 実行します。
お問い合わせ
console.log('unsubscribed from トピック: testtopic');
お問い合わせ
お問い合わせ
資源の漏出を避け、適切なセッションを保障するために常にきれいに切断して下さい ブローカーの取り扱い:
client.end(() => お問い合わせ
console.log('MQセキュアから削除');
お問い合わせ
const mqtt = 必須('mqtt');
const fs = 必須('fs');
// を totグル("ENABLED" または "DISABLED" に指定します。
コンパス = "ENABLED";
// // // // // // // // // // // // // // // // // // // // // // // // // // ---------------------
'mqtt://broker-url:1883'; // // // // // // // // // // // // // // // // // // // // // // ユーザ名
// MQTT 接続パラメータ
ご予約・お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ
クライアント Id: "testclient1", // クライアントID
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // //
// ユーザ名
//: "password",
// // // // // // // TLS/SSL の 外部の 外部の 外部の 外部の
// コマンド: 'mqtts',
// ホスト: 'broker-url',
// ポート: 8883,
// ca: [fs.readFileSync('/path/to/root.crt')], // ルートCA
お問い合わせ
クライアントは
// // // // // MQTT クライアント初期化 ---------------------
if (AUTH ==== "ENABLED" ) は、
クライアント = mqtt.connect(brokerUrl、conn_params); // URL とオプション
お問い合わせ
クライアント = mqtt.connect(conn_params); // // // // // クライアント URL なし
お問い合わせ
// // // ------- MQTT トピック & 公開インターバル
const トピック = 'testtopic'; // 公開し、購読するトピック
const publishInterval = 2000; // 2秒間公開
// // // // // // // // // // //
client.on('connect', () => クライアント
console.log('MQクライアント');
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // //
client.subscribe(トピック、err) => お問い合わせ
スタッフ
console.error('エラー:'、err);
お問い合わせ
console.log(トピックにサブスクライブ:${topic}`);
お問い合わせ
お問い合わせ
// // // // // // // // // // // // // // // // // // // // // // // // // // // // //
特許業務 = JSON.stringify({温度: 27.6、湿度: 34 });
// // // // // //
setInterval(() => お問い合わせ
書籍・書籍・雑誌・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍・書籍 お問い合わせ
スタッフ
console.error('Errorパブリッシングメッセージ:', err);
お問い合わせ
console.log('Messageが公開:'、メッセージ);
お問い合わせ
お問い合わせ
お問い合わせ
お問い合わせ
// // // // // // // // // // // // // // // // // // // // ---------------------
client.on('message', (トピック、メッセージ) => お問い合わせ
お問い合わせ
// // // // // // JSON を解析する
特許データ = JSON.parse(message.toString());
console.log('${topic}':`、データ); で 受け取る
お問い合わせ
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // //
console.log('${topic}':`, message.toString() の非 JSON のメッセージ送信)。
お問い合わせ
お問い合わせ
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // ---------------------
client.on('error', (err) => の
console.error('Error:', err); 実行します。
お問い合わせ
client.on('close', () => クライアント お問い合わせ
console.log('MQセキュアから削除');
お問い合わせ
client.on('reconnect', () => お問い合わせ
console.log('MQクライアント再接続...');
お問い合わせ
client.on('offline', () => { クライアント
console.warn('MQTT クライアントは、');
お問い合わせ
// // // // // // リリースと接続解除 ---------------------
// トピックのコメント
// client.unsubscribe('testtopic',(err) => お問い合わせ
//(err) の
// console.error('Unsubscribe error:', err); // エラー
お問い合わせ
// console.log('unsubscribed from トピック: testtopic');
お問い合わせ
お問い合わせ
// // // // // // // // // // // // // // // // // // //
// クライアント。end() => お問い合わせ
// console.log('MQTT から削除する');
お問い合わせ
問題を避けるためにブローカーとクライアントの接続の適切な終了を確保 そして、 両側のリソース漏れ、システム安定性を維持します。
以下のコードを使用して、ブローカーからクライアントを切断します。
const mqtt = 必須('mqtt');
const fs = 必須('fs');
// を totグル("ENABLED" または "DISABLED" に指定します。
コンパス = "ENABLED";
// // // // // // // // // // // // // // // // // // // // // // // // // // ---------------------
'mqtt://broker-url:1883'; // // // // // // // // // の URL や IP の呼び出し
// MQTT v5 接続パラメータ
ご予約・お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ お問い合わせ
クライアント Id: "testclient1", // クライアントID
ProtocolVersion: 5、 // MQ1 は 5 個。
// // // // // // // //
// // // // // 認証
// ユーザ名
//: "password",
// // // // // // TLS の接続は非推奨
// コマンド: 'mqtts',
// ホスト: 'broker-url',
// ポート: 8883,
// ca: [fs.readFileSync('/path/to/root.crt')],
お問い合わせ
クライアントは
// // // // // MQTT クライアント初期化 ---------------------
if (AUTH ==== "ENABLED" ) は、
クライアント = mqtt.connect(brokerUrl、conn_params);
お問い合わせ
クライアント = mqtt.connect(conn_params)
お問い合わせ
// // // ------- MQTT トピック & 公開インターバル
トピック = 'testtopic';
const publishInterval = 2000; // 2秒間公開
// // // // // // // // // // //
client.on('connect', (packet) => ) は、
console.log('MQTT v5' は、MQTT は、)。
// v5Options では、
client.subscribe(トピック、{qos: 0)、(err、付与) => お問い合わせ
スタッフ
console.error('エラー:'、err);
お問い合わせ
console.log(トピックにサブスクライブ:${topic}`、付与);
お問い合わせ
お問い合わせ
// 公開する
特許業務 = JSON.stringify({温度: 27.6、湿度: 34 });
// 公開
setInterval(() => お問い合わせ
クライアント。 公開トピック(、メッセージ、)、 お問い合わせ
保存: true,
所在地:
Eメール ExpiryInterval: 60秒のメッセージが切れる (MQTT v5 機能)
お問い合わせ
お問い合わせ
スタッフ
console.error('Errorパブリッシングメッセージ:', err);
お問い合わせ
console.log('Messageが公開:'、メッセージ);
お問い合わせ
お問い合わせ
お問い合わせ
お問い合わせ
// // // // // // // // // // // // // // // // // // // // ---------------------
Client.on('message', (トピック、メッセージ、メッセージ) => お問い合わせ
お問い合わせ
特許データ = JSON.parse(message.toString());
console.log('${topic}':`、データ); で 受け取る
お問い合わせ
console.log('${topic}':`, message.toString() の非 JSON のメッセージ送信)。
お問い合わせ
お問い合わせ
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // ---------------------
client.on('error', (err) => の
console.error('Error:', err); 実行します。
お問い合わせ
client.on('close', () => クライアント お問い合わせ
console.log('MQセキュアから削除');
お問い合わせ
client.on('reconnect', () => お問い合わせ
console.log('MQクライアント再接続...');
お問い合わせ
client.on('offline', () => { クライアント
console.warn('MQTT クライアントは、');
お問い合わせ
// // // // // // リリースと接続解除 ---------------------
// client.unsubscribe('testtopic',(err) => お問い合わせ
//(err) の
// console.error('Unsubscribe error:', err); // エラー
お問い合わせ
// console.log('unsubscribed from トピック: testtopic');
お問い合わせ
お問い合わせ
// クライアント。end() => お問い合わせ
// console.log('MQTT から削除する');
お問い合わせ