2022年2月28日月曜日

AWS IoT Greengrass 'Disconnect call back handler'の解消

Greengrassは 簡単にAWS IoTとやりとりできるんですが、ちょっとハマったので、回避方法を書きます。

サンプルを元にESP32用のプログラムを書いたのですが……最初うまく動いても複数の端末からアクセスすると "Disconnect call back handler" というメッセージがボロボロ出てくるようになります。それでもデータ書き込めちゃうから始末に負えない。

原因わからなくて頭を抱えていたんですが、サーバー担当がログを見せてくれて一発解決。クライアントIDの重複でした……。

原因は、

greengrass = new AWSGreenGrassIoT(AWSIOTURL, THING, rootCA, certificate, privateKey);

ここのTHINGというパラメータがclient idです。

これを一意、たとえばMACアドレスにすれば解消します。

ドキュメント読め、って話なんですがね……。

お粗末様でした……。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。