みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

回答受付中の質問

AWS IoT接続の2台の端末で片方が必ず切断

現在ESP-WROOM-32でAWS IoTサーバにアクセルするプログラムをArduinoで勉強中です。
現在2台の端末にそれぞれAWS IoTで発行した証明書と秘密鍵とRootCAファイルの3つをSDカードの中に入れてそれぞれで読み込ませてAWSに接続ができる状態にしています。

しかし、片方の端末がAWSにパブリッシュすると、片方の端末が切断されている様で、もう片方の方でパブリッシュを行うと再コネクトから通信が始まっていることをシリアルモニタで確認しました。

この現象が出るときのプログラムで

void connectAWSIoT() {
while (!mqttClient.connected()) {
if (mqttClient.connect(”ESP32”)) {
Serial.println("Connected.");
int qos = 0;
mqttClient.subscribe(subTopic, qos);
Serial.println("Subscribed.");
} else {
Serial.print("Failed. Error state=");
Serial.print(mqttClient.state());
// Wait 5 seconds before retrying
delay(5000);
}
}
}



このプログラムで
if (mqttClient.connect(”ESP32”)) {
この行の”ESP32”という箇所を、SDカード読み込み時に取ってきている端末ごとのシリアルIDを代用して
if (mqttClient.connect(deviceID)) {

この様に変えてみたところ、この現象はなくなりました。

この現象から、それぞれ使用している証明書や秘密鍵が違う場合でも、このコネクト時のコードはシリアルなものでないといけないということでしょうか?

どうぞ、ご教示の程よろしくお願い致します。

投稿日時 - 2019-02-07 14:28:43

QNo.9585505

すぐに回答ほしいです

回答(0)

この質問にはまだ回答がついていません。
あなたが最初に回答してみませんか?

あなたにオススメの質問