AWS IoT Coreのマネージメントコンソールを開き、Greengrassグループの詳細を開きます。詳細画面で、デバイス
を選択するとデバイスの一覧画面が表示されます。その中のデバイス追加
を選択します。
新しいデバイスの作成
を選択します。
名前にSensor
と入力して、次へ
を選択します。
複数人で同じAWSアカウントを利用している場合は、Sensor-自分の名前
の様にユニークな値をデバイス名で指定してください、以降の手順では、Sensor
というデバイス名が手順で出てくる場合は、指定した名前に置き換えながら進めてください。
デフォルトを使用
を選択します。
これらのリソースはtar.gzとしてダウンロードしてください
を選択し、作成された証明書をダウンロードします。ダウンロードしたら、完了
を選択します。
次に、デバイスから特定のトピックに対して送られたデータをGreengrass経由でAWS IoT Coreへ送信するための、サブスクリプションの設定を行います。
サブスクリプションは、Greengrass CoreのMQTTブローカーが、どの様にメッセージをルーティングするかを指定する仕組みです。「データの送信元」、「データの送信先」、「対象となるデータ」を指定することで、デバイス間でメッセージングや、デバイスとクラウドとのメッセージングを可能にします。
AWS IoT Greengrassグループの左側のメニューから、サブスクリプション
を選択し、サブスクリプションの追加
を選択します。
ソースの選択
を選択すると展開されるので、デバイス
> Sensor
と選択します。
ターゲットの選択
を選択すると展開されるので、サービス
> IoT Cloud
と選択します。
両方とも指定したら、次へ
を選択します。
どのトピックに送られたメッセージを対象にするかをここで指定します。トピックのフィルターにdata/#
と入力して、次へ
を選択します。
MQTTではトピックに対してメッセージを送ることをパブリッシュと言い、メッセージを受け取りたい時は、トピックに対してサブスクライブをします。サブスクリプションではトピックにワイルドカード(#,+)が利用できます。今回は、data/#
と指定したので、data/
で始まるトピックはすべてAWS IoT Coreへ送信されます。
レビュー画面ではそのまま完了
を選択します。
これで、Sensorデバイスからdata/#
というトピックに対してメッセージが送られると、AWS IoT Coreにルーティングする設定が出来ました。
サブスクリプションの設定は編集することができません。 そのため、サブスクリプションの設定を間違ってしまった場合は、間違った設定を一度削除し、同じ手順で再度サブスクリプションを作成してください。
最後に、右上のアクション
> デプロイ
でこの設定をGreengrassにデプロイします。
初めてデプロイする時にダイアログが表示されますが、Greengrass Coreデバイスの検出方法をどの様に行うかの確認ですので、Automatic detection
のボタンを選択します。
この手順での作業は以上となります。