さくらのモノプラットフォームを使用したアプリケーション開発　第1.5回（事前準備編）

## はじめに
　本記事は、さくらインターネット株式会社（以下、さくらインターネットとする）により開発環境が用意されているモノプラットフォームを使用する記事です。IoT向けのサービスを開発したい人、扱いたい人を対象としています。M5stackを利用してさくらインターネットのモノプラットフォーム及び、さくらインターネットのモノプラットフォーム開発基板を使用した開発について全４回にわたって説明していく予定です。

この連続記事は
１回目　システムと全体の構成の説明
２回目　ハードウェアの組み立て
３回目　モノプラットフォームの設定
４回目　クラウドアプリケーションの作成
のような順番で進めていきます。

第一回目の記事は[こちら](https://qiita.com/shinfrom/items/715c2255b173bd2dabdc?fbclid=IwAR3oqqowBvhYcmDrVxEZiGN2Xlm26QCgn8HzJ7z7cUvWsSuD5vyfxCITYww)です。

　今回は１回目と２回目の間の1.5回目となります。事前準備編として、必要な部品、道具、環境について説明していきます。
## この記事の対象者
- さくらインターネットのモノプラットフォームを体験してみたい人
- IoTを体験してみたい人
- 開発基板を請求したがその後どうして良いかわからない人
- webエンジニア、ソフトウェアエンジニア
を対象としています。
## 必要な部品・道具・環境の概要
　さくらインターネット提供の開発基板を組み立てる際には、カーボン抵抗（炭素被膜抵抗）1/4W 1kΩ、3mm黄緑色LED 570 um 70度、抵抗入りトランジスタ DTC114EL、表面実装用タクトスイッチが必要になります。
　実際の組み立てには、はんだごてと、はんだが必要になります。この２つがあれば組み立てることはできますが、他にもはんだごて台、はんだ吸い取り線、ニッパ―などがあると効率的に作業を行うことができるようになります。
　さらに通信モジュールをコントロールするためにM5stack、環境センシングのためのセンサーが必要になります。
　M5stackの開発環境を用意するためにArduinoIDE、PC、クラウドの実行環境としてGCPを使用する予定です。
## 必要な部品の紹介
| 部品 |必要な個数| 価格（円） |
| --- | --- |---|
| [ピンヘッダ1.27mm 2*5(10p)](https://akizukidenshi.com/catalog/g/gC-13800/) |2 |25|
|[カーボン抵抗（炭素被膜抵抗）1/4W 1kΩ](https://akizukidenshi.com/catalog/g/gR-25102/)|2|100|
|[3mm黄緑色LED 570 um 70度（何色でも大丈夫です）](https://akizukidenshi.com/catalog/g/gI-11637/)|2|10|
|[抵抗入りトランジスタ DTC114EL](https://akizukidenshi.com/catalog/g/gI-12467/)|2|10|
|[表面実装用タクトスイッチ](https://akizukidenshi.com/catalog/g/gP-06185/)|1|100|

※抵抗は１袋１００個入りですので、１つ購入すれば大丈夫です。
## 必要な道具の紹介
### 必要な道具
| 道具 |必要な個数| 価格（円） |
| --- | --- |---|
|[ニクロムはんだごて](https://akizukidenshi.com/catalog/g/gT-02536/)|1|850|
|[はんだごて（温度調整機能付き）](https://akizukidenshi.com/catalog/g/gT-05660/)|1|8500|
|[はんだ 0.8mm](https://akizukidenshi.com/catalog/g/gT-02594/)|1|280|

※はんだごてについては、安価なものと比較的高価なものの２つ紹介しています。安価なものでも使用できますが、温度調整機能付きの方が作業効率が上がります。これからもはんだ付けを行なう機会がありそうであれば、温度調整機能付きのものを購入することを推奨します。
### あると便利な道具
| 道具 |必要な個数| 価格（円） |
| --- | --- |---|
|[はんだごて台（クリーナー付き）](https://akizukidenshi.com/catalog/g/gT-02537/)|1|770|
|[はんだ吸い取り線](https://akizukidenshi.com/catalog/g/gT-02539/)|1|210|
|[チップリフレッサー](https://akizukidenshi.com/catalog/g/gT-03641/)|1|450|
|[精密ニッパ―](https://akizukidenshi.com/catalog/g/gT-06872/)|1|1680|
|フラックス|||
## 必要な機材
| 機材 |必要な個数| 価格（円） |
| --- | --- |---|
|[M5stack basic](https://www.switch-science.com/products/7362?_pos=3&_sid=35de45861&_ss=r)|1|5423|
|[GROVE 温・湿度気圧センサー(BME280)](https://www.switch-science.com/products/3374?_pos=4&_sid=f0557528d&_ss=r)|1|2816|
|[M5stackプロトモジュール用プラスチックフレーム（2個入り）](https://www.switch-science.com/products/8450)|1|253|
|六角レンチ(1.5mm)|||

※フラックスと六角レンチについてはAmazonなどで購入できます。

## 必要な環境の紹介
　今回は、M5stack用のプログラムの開発環境としてArduinoIDE、クラウドアプリケーションの開発環境としてGCPでNode-REDを使用する予定にしています。PCへのArduinoIDEのインストール、GCPのアカウントの準備が必要になります。
## 事前準備の手順
### ArduinoIDEのインストール
　以下のリンクを参考にインストールしておいてください。
[Arduino公式ドキュメント](https://docs.arduino.cc/software/ide-v1/tutorials/Windows#download-the-arduino-software-ide)
Arduinoは１系と２系がありますが、どちらでも構いません。 

### ArduinoIDEにESP32の開発環境を作成する
　以下の２つのサイトを参考にESP32の開発環境を作成してください。
[Arduino core for the ESP32 のインストール方法](https://www.mgo-tec.com/arduino-core-esp32-install)
[ESPRESIF ドキュメント](https://docs.espressif.com/projects/arduino-esp32/en/latest/installing.html#before-installing)

　もし、わかりにくいようであれば、以下のサイトも参考にされてみてください。
[ESP32ではじめようIoT開発ハンズオン　実装用資料](https://qiita.com/shinfrom/items/2f350d789a89b7086df3)
### GCP Compute Engineの準備
　請求先設定済みGoogleアカウントが必要になります（無料枠がない方は課金が必要になります）。
　他のサーバーでも行うことは可能ですが、手順が違う場合がありますので、手順を調整してください。
　仮想マシンの構成、必要なアプリケーションのインストールについては、４回目のクラウドアプリケーションの作成の回で説明予定です。
## パーツの購入や準備の手順の説明
　必要な部品と、必要な道具については、秋月電子通商のリンクをつけていますので、秋月電子通商で購入すると便利です。M5stackとセンサ―については、スイッチサイエンスのリンクをつけています。
　購入する際には送料がかかりますので、一度に購入することを推奨します。特に抵抗やLEDなどの単価の安いものについては送料の方が高くなってしまうこともありますので、注意してください。
## おわりに
　今回は、さくらのモノプラットフォームを使用したアプリケーション開発のために必要なものを紹介しました。必要な道具の他にも、あると便利な道具についても紹介しています。作業効率が上がることで、開発自体も楽しくなりますので、この機会にそろえてみるのはいかがでしょうか。GW中に必要なものをそろえて、GWが明けたら本格的に開発を始めていきましょう。

　記事執筆中に[ラズパイ/M5Stack用サンプルで学ぶIPネットワーク通信プログラム入門](https://amzn.asia/d/hJB0l2W)という本が届きました。この本の中で、さくらのモノプラットフォームの使用方法についても扱われています。GW中の読書にいかがでしょうか。
## リリース予定
　GWが明けてから2回目以降を順次公開していき、5月中に完了する予定にしています。

　ご意見ご要望があれば可能な限り内容を反映させたいので、コメント等いただけると幸いです。
## 関連記事
[さくらのモノプラットフォームを使用したアプリケーション開発　第1回](https://qiita.com/shinfrom/items/715c2255b173bd2dabdc)
[さくらのモノプラットフォームを使用したアプリケーション開発　第2回](https://qiita.com/shinfrom/items/0b813d01c8522356c3c4)
[さくらのモノプラットフォームを使用したアプリケーション開発　番外編](https://qiita.com/shinfrom/items/2bce28565778e495962b)

## 参考情報
[さくらのモノプラットフォーム　開発者向け情報](https://iot.sakura.ad.jp/platform/development/)
[秋月電子通商](https://akizukidenshi.com/catalog/)
[スイッチサイエンス](https://www.switch-science.com/)
### 参考動画
[アルディーノIDE v2.0のインストール](https://youtu.be/su8pZzPY37I)
[Esp32をArduino IDEで使えるようにしよう](https://youtu.be/yGKforrbP74)
[0-1.GCPアカウント作成方法](https://youtu.be/mGtyJPeVwxM)