mockmockでSORACOM Beamにデータを送るプロジェクトを作成する

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

## この記事は
mockmockアドベントカレンダー 7日目の記事です。
mockmockでSORACOM Beamにデータを送るプロジェクトを作成する方法をまとめます。

## やりたいこと

mockmockから json形式の `{"temperatures":float値}` をSORACOM Beamに送る！ことです。

## 手順
mockmockの設定と、SORACOM cliを設定します。順番は以下の通りです。
#### [mockmock]プロジェクトを作成します
イメージで赤い線を引いたところを同じくします！  
- [mockmock] プロジェクト設定を作成します
![createProject.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/247584/230bce73-936a-6c72-f586-9ffea35db478.png)


- [mockmock] グラフバリュージェネレーターを作成します
`最大値(max)`、`最小値(min)`、`周期(T)[sec]`、`原点基準`、`グラフ原点時刻`、`ゆらぎ幅`などの項目はイメージと同じくします。グラフは自由に動きます。自由に作ってください！
![graph.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/247584/b20a660a-f80d-0ce3-91f1-bbe35cff2ced.gif)


- [mockmock] データテンプレートを作成します
![selectDataTemplate.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/247584/54a1d233-d876-1823-4b06-54712187b73a.png)


- [mockmock] mockグループを作成します
![createGroup.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/247584/5f023958-b58c-ac0f-8bf7-88f6ec636a5b.png)


- [mockmock] mockステータスを作成します
![createStatus.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/247584/5500e065-c251-47a4-bec4-b84ee1822262.png)


- [mockmock] mockを作成します
![createMockBtn.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/247584/43c579fe-82e8-366b-cd62-ba7001a066a6.png)


- [mockmock] SORACOM 認証キーを作成します
![beforeCreatingSoracomAuthKey.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/247584/14230c2c-e61c-3696-419b-f8156802fb34.png)
新規作成をクリックすると以下の画面がでます。安全なところに保管お願いします。
![soracomAuthKeyDown.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/247584/4b0c7eb4-f9f9-6b94-987d-d1ba6b71a269.png)


- [SORACOM] SORACOM cliのインストールを設定します
私はAmazonLinux2をDockerで用意してSORACOM cliを入れました。
SORACOM公式を参考お願いします：https://dev.soracom.io/jp/docs/cli_guide/

- [SORACOM] SORACOM cliのprofileを設定します
`[mockmock] SORACOM 認証キーを作成します`で安全なところに保管した鍵を使います
  ![cli_profile.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/247584/975f015b-cde7-adef-f3c9-23b37a5b2bb4.png)

- [mockmock] SORACOM 認証情報を作成します
![soracomStoreKey.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/247584/25f6446c-c0d6-8e1c-17d9-961c93380f96.png)


- [SORACOM] 手持ちの認証情報を登録します
変更する内容をJSONで用意します。(私はAWSの情報を入れました。)
![cli_credential.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/247584/477b3fb0-1489-82df-ea5f-c5e14d9c7e9b.png)
コマンドを実行します。
![cli_credential_update.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/247584/8e24479f-4c0d-c866-f064-34b522aebc1d.png)


- [SORACOM] デバイスグループの設定を変更します
変更する内容をJSONで用意します。
![beamJson.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/247584/1a9b41ac-885d-35fb-163f-5e26ce85e513.png)
コマンドを実行します。
![beamJsonPutConfig.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/247584/09037278-293d-089f-943a-a6635ddb13e2.png)


- [mockmock] SORACOM デバイスグループ設定を確認します
正しく設定されたら、以下のイメージのようになります
![soracomDeviceGroupShow.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/247584/2e12b9f1-59a5-2860-af8e-71b15239e3fe.png)

### データ送信
- [mockmock] テスト送信します
![testSuccess.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/247584/ce90ac81-becb-f14d-902e-4fbd65f5e616.png)


### データ送信結果を確認
- [mockmock] mockを起動します(mockから送信開始)
![mockWorkSuccess1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/247584/4ddea294-87ac-601b-8cb1-04fdf4c892bc.png)
![mockWorkSuccess2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/247584/17c19976-5a7c-a9aa-7191-e5a9ca8643f2.png)






## まとめ
本記事では、mockmockでSORACOM Beamにデータを送るプロジェクトを作成しました。
SORACOM Beamを使って構築している人はぜひお試しください。

明日は @m-shimao  がmockmockでSORACOM Funnelにデータを送るプロジェクトを作成する方法をご紹介します。


## 参考
https://console.mock-mock.com/docs/guides/soracom