10
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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にデータを送る

10
4
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
10
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?