こんにちは、mockmockチームエンジニアの岡嵜です。
本記事は mockmockアドベントカレンダー 4日目の記事です。
昨日は「mockmockでAWS IoT Coreにデータを送るプロジェクトを作成する」でした。
今回は、mockmock から Google Cloud IoT Core にデータを送るプロジェクトを作成する方法をまとめます。
今回やること
Google Cloud IoT Coreにmockmockからデータを送るプロジェクトを作成します。
構成としては以下の通りです。
Google Cloud Platformの準備
Pub/Subのトピックを作成する
Pub/Subのトピックを作成するため、コンソールを開きます。
Google Cloud Platformのコンソールにアクセスし、「画面左上のハンバーガーアイコン」→「Pub/Sub」の順でクリックしてください。
「トピックを作成」をクリックしてください。
モーダルが開くので、「トピックID」に任意のトピックIDを入力し「トピックを作成」をクリックしてください。
以上でPub/Subのトピックの作成は完了です。
IoT Coreのレジストリを作成する
IoT Coreのレジストリを作成するため、コンソールを開きます。
Google Cloud Platformのコンソールにアクセスし、「画面左上のハンバーガーアイコン」→「IoT Core」の順でクリックしてください。
「レジストリを作成」をクリックしてください。
以下の通り入力して「作成」をクリックしてください。
項目 | 入力値 |
---|---|
レジストリID | 任意のレジストリID |
リージョン | asia-east1 |
プロトコル | MQTT |
デフォルトのテレメトリーのトピック | 先の手順で作成したPub/SubトピックID |
デバイス状態のトピック | 先の手順で作成したPub/SubトピックID |
CA証明書の追加 | なし |
以上でIoT Coreのレジストリの作成は完了です。
サービスアカウントの作成
IoT Coreで受信したデータをPub/Subに送信するためのサービスアカウントを作成します。
コンソールを開くため、Google Cloud Platformのコンソールにアクセスし、「画面左上のハンバーガーアイコン」→「IAMと管理」→「サービスアカウント」の順でクリックしてください。
「サービスアカウントを作成」をクリックしてください。
「サービスアカウント名」に任意のサービスアカウント名を入力して、「作成」をクリックしてください。
「役割」に「Cloud IoT プロビジョナー」を選択して、「続行」をクリックしてください。
「キーを作成」をクリックします。
「キーのタイプ」に「JSON」を選択して、「作成」をクリックしてください。
秘密鍵がダウンロードされます。
「完了」をクリックしてください。
以上でサービスアカウントの作成は完了です。
mockmockの準備
プロジェクトを作成する
プロジェクト新規作成画面へアクセスし、以下の通り入力後、「登録」をクリックしてください。
項目 | 入力値 |
---|---|
プロジェクト名 | 任意のプロジェクト名 |
サーバタイプ | [GCP] Cloud IoT Core |
キャパシティ | cn1 |
プロトコル | MQTTS |
GCPリージョン | 先の手順で確認したIoT Coreのレジストリのリージョン |
GCPレジストリID | 先の手順で確認したIoT CoreのレジストリID |
GCP認証キー | 先の手順でダウンロードしたサービスアカウントの秘密鍵 |
データテンプレートを作成する
送信するデータのテンプレートを作成します。
データテンプレート新規作成画面へアクセスし、「テンプレート名」に任意の名前を入力後、「登録」をクリックしてください。
mockグループを作成する
mockグループ新規作成画面へアクセスし、以下の通り入力後、「登録」をクリックしてください。
項目 | 入力値 |
---|---|
mockグループ名 | 任意のmockグループ名 |
最大稼働時間[sec] | 600 |
mockステータスを作成する
次に「mockステータス」を作成します。
「作成したmockグループ名」→「mockステータス」→「mockステータス作成」の順でクリックしてください。
以下の通り入力後、「登録」をクリックしてください。
項目 | 入力値 |
---|---|
状態名 | default |
初期状態 | チェック |
Topic | events |
QoS | 1 |
Retain | 無効 |
最小送信間隔[sec] | 10 |
最大送信間隔[sec] | 10 |
データテンプレート | 作成したデータテンプレート名 |
mockを作成する
いよいよmockを作成します。「mockステータスタブ」で「mock新規作成」をクリックしてください。
そのまま「登録」をクリックしてください。
テスト送信する
設定に齟齬が無いかテスト送信をして確認します。「mockステータスタブ」で「送信」をクリックしてください。
このように「成否」に「true」が表示されれば成功です。
mockmockからデータを送信する
いよいよデータを送信します。
mockを起動する
「作成したmockグループ名」→「mock作成」の順でクリックしてください。
そのまま「登録」をクリックしてください。
mockが作成されました。
作成したmockの「操作」→「起動」をクリックしてください。
mockが作成され、データ送信が始まります。
送信したデータを確認する
設定したデータが送信されているか確認します。
Google Cloud Platformのコンソールにアクセスし、「画面左上のハンバーガーアイコン」→「Pub/Sub」→「トピック」の順でクリックしてください。
先の手順で作成したトピックIDをクリックします。
「サブスクリプションを作成」をクリックします。
以下の通り入力後、「CREATE」をクリックしてください。
項目 | 入力値 |
---|---|
サブスクリプションID | 任意のサブスクリプションID |
配置タイプ | pull |
サブスクリプションの有効期限 | 操作がなかった日数の経過後に期限切れになります⇛1日 |
確認応答期限 | 10秒 |
メッセージ保持期間 | 1日 |
確認済メッセージを保持 | チェックなし |
「メッセージを表示」をクリックしてください。
「PULL」をクリックすると、mockmockから送信されたメッセージが表示されます。
mockを停止する
起動中のmockの「操作」→「停止」をクリックしてください。
以上でmockの停止は完了です。
まとめ
本記事では、mockmockからGoogle Platform IoT Coreにデータを送るプロジェクトを作成しました。
Google Platform IoT Coreを使ってIoTシステムを構築している人はぜひお試しください。
明日は @cheekykorkind が Azure IoT Hub
にデータを送るプロジェクトを作成する方法をご紹介します