Greengrassは 簡単にAWS IoTとやりとりできるんですが、ちょっとハマったので、回避方法を書きます。
サンプルを元にESP32用のプログラムを書いたのですが……最初うまく動いても複数の端末からアクセスすると "Disconnect call back handler" というメッセージがボロボロ出てくるようになります。それでもデータ書き込めちゃうから始末に負えない。
原因わからなくて頭を抱えていたんですが、サーバー担当がログを見せてくれて一発解決。クライアントIDの重複でした……。
原因は、
greengrass = new AWSGreenGrassIoT(AWSIOTURL, THING, rootCA, certificate, privateKey);
ここのTHINGというパラメータがclient idです。
これを一意、たとえばMACアドレスにすれば解消します。
ドキュメント読め、って話なんですがね……。
お粗末様でした……。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。