センサー、RaspberryPiの設定に関してはその1の記事を参照の事。Pythonのプログラムについてはその2の記事を参照の事。Coreの設定とRaspberryPiとの接続テストについての記事とする。分かりやすように丁寧に書いているつもりですが分かりづらい所や間違いがあればコメントを貰えるとありがたいです。Coreでモノの登録、各種証明書の発行、ポリシーの設定と証明書へのアタッチを行う。CoreにRaspberryPiを認識させる為にモノの登録を行う。左のメニューから管理→モノをクリックすると一つもモノが登録されていない時は「まだモノがありません」と表示されるので「モノの登録」をクリックする。「単一のモノを作成する」をクリックする。名前に任意の名前(画面ではRaspberryPi3-01)をつける。タイプとグループは未作成でも大丈夫なのですぐにモノを作成したい人は画面右下の「次へ」をクリックする。※タイプの登録は任意なのですぐにモノを登録したい人はこちらへ。「デバイスの管理が簡単になります」との事なので「タイプの作成」でタイプを作成した時の画面ショット。複数のモノを登録する時にタイプで分類しておくと後々便利なのだと思う。名前と説明欄を入力して画面右下の「モノのタイプの作成」をクリックする。名前に日本語は使用できないが説明欄は日本語が通った。先程作成したタイプが既に選択されているので続いて「グループの作成」をクリックする。※グループの登録は任意なのですぐにモノを登録したい人はこちらへ。グループにモノを登録するとデバイスをリモート管理できる(未検証)との事なので、登録した。どの様な管理ができるのかはそのうちに試してみるつもり。名前と説明欄に入力して右下の「モノのグループの作成」をクリックする。名前欄と説明欄に入力できる文字は先程のタイプと同様。先程作成したグループが追加されている。画面右下の「次へ」をクリックするとモノが作成される。複数の方法があるがAWS推奨の1-Click証明書を選択した。「証明書の作成」をクリックする。証明書が1-Clickで作成された以下の順番で証明書ファイルを保存する。IoTのルートCAのダウンロードリンクをクリックして拡張子を*.pemで保存するここで取得したキー(のファイル名)は別記事のPythonのプログラムで指定する。IoTのルートCA発行のキーが表示されるのでコピーしてテキストエディターに貼り付けて拡張子を”pem”で保存する。ファイル名は適当でOK。この際、文字コードはUnicode(UTF-8)で保存する。「有効化」ボタンをクリックすると”証明書は正常に有効化されました”のメッセージが表示されるのでこの画面は一旦「完了」で閉じる。※ポリシーはまだ作成していないので「ポリシーをアタッチ」は押さない安全性ー>証明書をクリックするとアクティブな証明が発行されている事がわかる。続いてポリシーを作成する。IoTのメニューから安全性ー>ポリシーをクリックするとポリシーが未作成の時は”ポリシーはまだ作成されていません”のメッセージが表示されるのでポリシーの作成をクリックする。作成して試したいだけであれば名前を入力してアクション欄に”iot:*”を入力するとリソースARNは自動的に設定されるので「作成」ボタンを押せばポリシーは作成される。今回はRaspberryPi側からのconnectとPublishのみを受け付けるポリシーを作成する。ID(”RasPi01”)に置き換えて、”許可”にチェックを入れて「ステートメントの追加」をクリックする。IDについては前回の記事を参照。行が追加されるので今度はアクション欄でiot:Publishを選択してリソースARN欄の”replaceWithATopic”をプログラムで指定したTopic(”count/pub”)に置き換える。許可にチェックを入れて「作成」ボタンをクリックする。ID=RasPi01、Topic=count/pubのみを受け付けるポリシーが作成された。ポリシーが正常に作成されると以下のようなステートメントになる。ポリシーのアタッチ先程作成した証明書に今回作成したポリシーをアタッチする。左側のメニューから安全性ー>証明書をクリックして表示される証明を選択する。証明書が表示されたらアクションから”ポリシーのアタッチ”を選択する。アタッチしたいポリシーをチェックして「アタッチ」ボタンをクリックする。AWS側の設定はこれで終了。AWSのエンドポイントプログラムに指定するAWSのエンドポイントを控えておく。メニューから管理ー>モノをクリックして先ほど作成したモノを選択する。メニューで”操作”をクリックするとAWSのエンドポイントが表示されるのでプログラムに指定するので控えておく。続けてプログラム中に先程取得した各種証明書やAWSのエンドポイントの指定を行う。IoTのルートCAの各種証明書ファイルをプログラム配下にcertディレクトリを作成してコピーしてファイル名と先程控えたAWSのエンドポイントのエンドポイントを指定する。Coreとの接続テストを行う。AWS側で”テスト”をクリックする。画面の上部がサブスクリプション(AWS側が受信)下の方でパブリッシュ(AWS側が発信)のテストができる。トピックのサブスクリプション欄に”count/pub”を指定して「トピックのサブスクライブ」をクリックする。count/pubのトピックの待受状態になる。RaspberryPiのプログラムを実行するRaspberryPi側でメニューからプログラミングー>Pythpn3(IDLE)でPython3を起動したらFileー>Openで該当のプログラムを開く。Module(またはF5)でプログラムを実行する。プログラムの詳細については前回の記事にソースコードを載せているので参照の事。shell画面が表示される。赤外線距離センサー(TSSP77038)の前に手をかざして何回か横切ってみる。横切る度にカウントアップされてPythonのshell画面に表示される。プログラム中のprint文で表示している。AWS側AWS側を見るとリアルタイムでサブスクライブされている。※最新の情報が一番上に表示される。以上で接続テストは終了。Coreでのテストまでの様子を動画にしている。興味がある方はご確認ください。Coreの設定と接続テストは終了。QiuickSightでグラフ化するのは次回以降の記事とする。同じような事をやりたい人の参考になればと思ってブログにしてます。Services)、WordPress、RaspberryPiに関するブログを書いています。GENERALに合格しています。分かりやすい様に書いているつもりですが質問があればメニューの「ご質問がある方」か記事一番下にあるコメントにお願いします。役に立ったのであればコメントもらえると嬉しいです。間違いがあればご指摘いただけるとありがたいです。IoTのルートCA発行のキーが表示されるのでコピーしてテキストエディターに貼り付けて保存する」ことは行いましたが、実際プログラミングでrootCAにファイル名を打ち込む際に拡張子がpemとなったものが存在しないので、xxxxに何を入れるべきかわかりませんでした。#Amazonルート証明書その間に何をすべきなのか教えていただけると幸いです。AMテキストエディタでルート証明書(RootCA)を保存する際に拡張子をpemにして保存します。ルート証明書の中身はテキストなのです。説明が分かりにくかった様ですね。記事の方を修正しておきます。質問ありがとうございました。コメントをキャンセルメールアドレスが公開されることはありません。