LoginSignup
4

More than 3 years have passed since last update.

mockmockでGoogle Cloud IoT Coreにデータを送るプロジェクトを作成する

Last updated at Posted at 2019-12-03

こんにちは、mockmockチームエンジニアの岡嵜です。

本記事は mockmockアドベントカレンダー 4日目の記事です。
昨日は「mockmockでAWS IoT Coreにデータを送るプロジェクトを作成する」でした。

今回は、mockmock から Google Cloud IoT Core にデータを送るプロジェクトを作成する方法をまとめます。

今回やること

Google Cloud IoT Coreにmockmockからデータを送るプロジェクトを作成します。

構成としては以下の通りです。

Untitled_mockmock_-_Cacoo.png

Google Cloud Platformの準備

Pub/Subのトピックを作成する

Pub/Subのトピックを作成するため、コンソールを開きます。
Google Cloud Platformのコンソールにアクセスし、「画面左上のハンバーガーアイコン」→「Pub/Sub」の順でクリックしてください。

IoT_Core_–_IoT_Core_–_mockmock-dev_–_Google_Cloud_Platform_と_Slack___ext-fusic-soracom___fusic.png

「トピックを作成」をクリックしてください。

トピック_–_Pub_Sub_–_mockmock-dev_–_Google_Cloud_Platform_と_Slack___ext-fusic-soracom___fusic.png

モーダルが開くので、「トピックID」に任意のトピックIDを入力し「トピックを作成」をクリックしてください。

トピック_–_Pub_Sub_–_mockmock-dev_–_Google_Cloud_Platform.png

以上でPub/Subのトピックの作成は完了です。

IoT Coreのレジストリを作成する

IoT Coreのレジストリを作成するため、コンソールを開きます。
Google Cloud Platformのコンソールにアクセスし、「画面左上のハンバーガーアイコン」→「IoT Core」の順でクリックしてください。

トピック_–_Pub_Sub_–_mockmock-dev_–_Google_Cloud_Platform_と_Slack_____ext-fusic-soracom___fusic.png

「レジストリを作成」をクリックしてください。

IoT_Core_–_IoT_Core_–_mockmock-dev_–_Google_Cloud_Platform_と_Slack_____ext-fusic-soracom___fusic.png

以下の通り入力して「作成」をクリックしてください。

レジストリの作成_-_mockmock-dev_-_Google_Cloud_Platform.png

項目 入力値
レジストリID 任意のレジストリID
リージョン asia-east1
プロトコル MQTT
デフォルトのテレメトリーのトピック 先の手順で作成したPub/SubトピックID
デバイス状態のトピック 先の手順で作成したPub/SubトピックID
CA証明書の追加 なし

以上でIoT Coreのレジストリの作成は完了です。

サービスアカウントの作成

IoT Coreで受信したデータをPub/Subに送信するためのサービスアカウントを作成します。
コンソールを開くため、Google Cloud Platformのコンソールにアクセスし、「画面左上のハンバーガーアイコン」→「IAMと管理」→「サービスアカウント」の順でクリックしてください。

IoT_Core_–_mockmock-dev_–_Google_Cloud_Platform_と_Slack_____ext-fusic-soracom___fusic.png

「サービスアカウントを作成」をクリックしてください。

サービス_アカウント_–_IAM_と管理_–_mockmock-dev_–_Google_Cloud_Platform_と_Slack_____ext-fusic-soracom___fusic.png

「サービスアカウント名」に任意のサービスアカウント名を入力して、「作成」をクリックしてください。

サービス_アカウントの作成_–_IAM_と管理_–_mockmock-dev_–_Google_Cloud_Platform_と_Slack_____ext-fusic-soracom___fusic.png

「役割」に「Cloud IoT プロビジョナー」を選択して、「続行」をクリックしてください。

サービス_アカウントの作成_–_IAM_と管理_–_mockmock-dev_–_Google_Cloud_Platform_と_company_session_detail_rb_—_joburu_academic.png

「キーを作成」をクリックします。

サービス_アカウントの作成_–_IAM_と管理_–_mockmock-dev_–_Google_Cloud_Platform_と_company_session_detail_rb_—_joburu_academic.png

「キーのタイプ」に「JSON」を選択して、「作成」をクリックしてください。
秘密鍵がダウンロードされます。

サービス_アカウントの作成_–_IAM_と管理_–_mockmock-dev_–_Google_Cloud_Platform.png

「完了」をクリックしてください。

サービス_アカウントの作成_–_IAM_と管理_–_mockmock-dev_–_Google_Cloud_Platform.png

以上でサービスアカウントの作成は完了です。

mockmockの準備

プロジェクトを作成する

プロジェクト新規作成画面へアクセスし、以下の通り入力後、「登録」をクリックしてください。

IoT開発を加速する仮想デバイス作成サービス___mockmock.png

項目 入力値
プロジェクト名 任意のプロジェクト名
サーバタイプ [GCP] Cloud IoT Core
キャパシティ cn1
プロトコル MQTTS
GCPリージョン 先の手順で確認したIoT Coreのレジストリのリージョン
GCPレジストリID 先の手順で確認したIoT CoreのレジストリID
GCP認証キー 先の手順でダウンロードしたサービスアカウントの秘密鍵

データテンプレートを作成する

送信するデータのテンプレートを作成します。

データテンプレート新規作成画面へアクセスし、「テンプレート名」に任意の名前を入力後、「登録」をクリックしてください。

IoT開発を加速する仮想デバイス作成サービス___mockmock.png

mockグループを作成する

mockグループ新規作成画面へアクセスし、以下の通り入力後、「登録」をクリックしてください。

IoT開発を加速する仮想デバイス作成サービス___mockmock.png

項目 入力値
mockグループ名 任意のmockグループ名
最大稼働時間[sec] 600

mockステータスを作成する

次に「mockステータス」を作成します。
「作成したmockグループ名」→「mockステータス」→「mockステータス作成」の順でクリックしてください。

IoT開発を加速する仮想デバイス作成サービス___mockmock.png

以下の通り入力後、「登録」をクリックしてください。

IoT開発を加速する仮想デバイス作成サービス___mockmock.png

項目 入力値
状態名 default
初期状態 チェック
Topic events
QoS 1
Retain 無効
最小送信間隔[sec] 10
最大送信間隔[sec] 10
データテンプレート 作成したデータテンプレート名

mockを作成する

いよいよmockを作成します。「mockステータスタブ」で「mock新規作成」をクリックしてください。

IoT開発を加速する仮想デバイス作成サービス___mockmock.png

そのまま「登録」をクリックしてください。

IoT開発を加速する仮想デバイス作成サービス___mockmock.png

テスト送信する

設定に齟齬が無いかテスト送信をして確認します。「mockステータスタブ」で「送信」をクリックしてください。

IoT開発を加速する仮想デバイス作成サービス___mockmock.png

このように「成否」に「true」が表示されれば成功です。

IoT開発を加速する仮想デバイス作成サービス___mockmock.png

mockmockからデータを送信する

いよいよデータを送信します。

mockを起動する

「作成したmockグループ名」→「mock作成」の順でクリックしてください。

IoT開発を加速する仮想デバイス作成サービス___mockmock.png

そのまま「登録」をクリックしてください。

IoT開発を加速する仮想デバイス作成サービス___mockmock.png

mockが作成されました。
作成したmockの「操作」→「起動」をクリックしてください。

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f36303939362f30343133653938332d313232612d613261322d663362332d3439626137346561313033312e706e67.png

mockが作成され、データ送信が始まります。

送信したデータを確認する

設定したデータが送信されているか確認します。
Google Cloud Platformのコンソールにアクセスし、「画面左上のハンバーガーアイコン」→「Pub/Sub」→「トピック」の順でクリックしてください。

トピックの詳細_–_Pub_Sub_–_mockmock-dev_–_Google_Cloud_Platform_と_company_session_detail_rb_—_joburu_academic.png

先の手順で作成したトピックIDをクリックします。

トピック_–_Pub_Sub_–_mockmock-dev_–_Google_Cloud_Platform_と_company_session_detail_rb_—_joburu_academic.png

「サブスクリプションを作成」をクリックします。

トピックの詳細_–_Pub_Sub_–_mockmock-dev_–_Google_Cloud_Platform.png

以下の通り入力後、「CREATE」をクリックしてください。

サブスクリプションをトピックに追加_–_Pub_Sub_–_mockmock-dev_–_Google_Cloud_Platform.png

項目 入力値
サブスクリプションID 任意のサブスクリプションID
配置タイプ pull
サブスクリプションの有効期限 操作がなかった日数の経過後に期限切れになります⇛1日
確認応答期限 10秒
メッセージ保持期間 1日
確認済メッセージを保持 チェックなし

「メッセージを表示」をクリックしてください。

サブスクリプションの詳細_–_Pub_Sub_–_mockmock-dev_–_Google_Cloud_Platform.png

「PULL」をクリックすると、mockmockから送信されたメッセージが表示されます。

サブスクリプションの詳細_–_Pub_Sub_–_mockmock-dev_–_Google_Cloud_Platform_と_受信トレイ.png

mockを停止する

起動中のmockの「操作」→「停止」をクリックしてください。

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f36303939362f37653830313761622d313837322d383436632d636137392d3063326431396136376434662e706e67.png

以上でmockの停止は完了です。

まとめ

本記事では、mockmockからGoogle Platform IoT Coreにデータを送るプロジェクトを作成しました。
Google Platform IoT Coreを使ってIoTシステムを構築している人はぜひお試しください。

明日は @cheekykorkindAzure IoT Hub にデータを送るプロジェクトを作成する方法をご紹介します

参考

[GCP] Cloud IoT Coreにデータを送る

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
What you can do with signing up
4