0
0

More than 1 year has passed since last update.

(初心者)AWS EduKitでLチカを実行するまで

Posted at

はじめに

Edukitを手に入れたのは2021年の11月ごろで、その時に一度Lチカを試してみた。その際にはregistration_helper.pyの実行がうまくいかず、GitHubに質問を投げながら、なんとかかんとか実行できた。
https://github.com/aws-samples/aws-iot-edukit-tutorials/discussions/80
2022年になって、改めて勉強してみようと思ったら、チュートリアルの内容が変わっていて、例に漏れず実行がすんなりできなかったので、引っかかった場所の記録を残しておく。

この記事は、AWS Workshopのチュートリアルに沿ってLチカを実施した時の記録です。チュートリアルは以下のリンクの通りです。

引っかかったところ

AWS IoT CoreにThingを登録するところで、チュートリアル通りに実行すると登録されたEdukitにCertificateが紐付けされない。

Blinky-Hello-World % pio run -e core2foraws-device_reg -t register_thing

チュートリアルにある蒸気のコマンドを実行した後で、AWS Consoleを確認すると、Thingは登録されているけれども、Certificateが紐付けされていない。この後のコマンドを実行してMQTTのテストをしても、メッセージが受け取れない。ログを確認すると、以下のメッセージがなんだか怪しい。ResourceAlreadyExistsExceptionと出ているので、過去にLチカ実施した時の何かが悪さをしているように見える。Console上で、過去に登録したThingは全て削除した後も同じメッセージが出てしまう。

Try importing certificate...
Exception occurred: An error occurred (ResourceAlreadyExistsException) when calling the RegisterCertificateWithoutCA operation: The certificate is already provisioned or registered
Exception occurred: Parameter validation failed:
Invalid type for parameter principal, value: False, type: <class 'bool'>, valid types: <class 'str'>
MANIFEST_IMPORT         INFO    attach_thing_principal failed.
MANIFEST_IMPORT         FAIL    False
MANIFEST_IMPORT         SUCCESS False   False

ResourceAlreadyExistsExceptionと出ているので、過去にLチカ実施した時の何かが悪さをしているように見える。Console上で、過去に登録したThingは全て削除した後も同じメッセージが出てしまう。ちなみに日本語版のチュートリアルには、以下のWarningが書かれている。

過去にこのセットアップをされている場合、すでにAWS IoT Coreに情報が登録されている可能性があります。その場合は、ターミナルに表示される Unique ID: 0123456789ABCD の様なIDの名前のモノや証明書、それに紐づくIoT PolicyをAWS IoT Coreのマネージメントコンソールから削除してから、再度実行してください。

Gitをクローンしなおしたり、PlatformIOを入れ直したり、色々試したけれど、結局Regionをus-west-2からus-east-1に変えて実行すると無事に繋がった。

␛[0;32mI (9191278) MAIN: <<Thing ID>>/    Hello from AWS IoT EduKit (QOS0) : 0 ␛[0m
␛[0;32mI (9191308) MAIN: Subscribe callback␛[0m
␛[0;32mI (9191308) MAIN: <<Thing ID>>/    Hello from AWS IoT EduKit (QOS1) : 1 ␛[0m
␛[0;32mI (9194448) MAIN: Subscribe callback␛[0m
␛[0;32mI (9194448) MAIN: <<Thing ID>>/    Hello from AWS IoT EduKit (QOS0) : 0 ␛[0m
␛[0;32mI (9194498) MAIN: Subscribe callback␛[0m
␛[0;32mI (9194498) MAIN: <<Thing ID>>/    Hello from AWS IoT EduKit (QOS1) : 1 ␛[0m
␛[0;32mI (9197638) MAIN: Subscribe callback␛[0m
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0