回答 受付中

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

  • すぐに回答を!
  • 質問No.9585505
  • 閲覧数116
  • ありがとう数0
  • 気になる数0
  • 回答数0

お礼率 79% (846/1067)

現在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)) {

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

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

どうぞ、ご教示の程よろしくお願い致します。
現在回答を募集しています。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


OKWAVE若者応援スペシャル企画

ピックアップ

ページ先頭へ