M-Bus Adapter for SPRESENSEを使う

# はじまり

いつか使いたいと思ってほったらかしにしているものが沢山ある。

 + spresense
 + m5stack
 + 電子ペーパー
 + 100円均一のおもちゃ
 + 蓄光素材
 + ドライヤー
 + 掃除機
 + etc, 

このままでは何もせずに不燃ごみになってしまう。どれか一つだけでも手を付けるべく基板を購入した。
買った基板は[M-Bus Adapter for SPRESENSE](https://thousandiy.wordpress.com/2020/05/30/spresense-to-m5stack-adapter/)。
これがあれば、SPRESENSEとM5Stackが両方ともに利用実績解除できる。

必要なものは

 + Spresense
 + M-Bus Adapter for SPRESENSE
 + M5Stack
 + Micro SD
 + type-C USBケーブル
 + Micro USB ケーブル

# 結果

位置情報が表示できないStacckができました！

![first-complete.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/3ea6c943-b3e8-6b22-eb14-60ccb0dd0f77.jpeg)
<font color="dark_pink">もちろん外でも取れない</font>

# M5Stackを使ってみる。

ESP32を直接使ったことはあるのだが、M5Stackとして使うのはこれが初めて。
[M5Stackのgithub](https://github.com/m5stack/M5Stack)を参考に環境を整える。
FactryTestの実行まで確認する。

![factorytest.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/1b06e483-d3f0-d729-39be-a980dec57102.jpeg)
<font color='dark_pink'>特に問題なくここまで進めて逆に心配になる。</font>


# SPRESENSEを使ってみる。

GPSがデフォルトで使える！すごい！で勢いで購入したSPRESENSE。
[Spresense SDK Getting Started Guide (CLI)](https://developer.sony.com/develop/spresense/docs/sdk_set_up_en.html)を元に環境を設定する。
helloの実行までやる。

![spresense_hello.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/5b4199a1-5803-79d7-8796-ee16502bea0e.png)
<font color='dark_pink'>特に詰まるところもなかった</font>

# [M-Bus Adapter for SPRESENSEを使ってみる。

ではいよいよM-Bus Adapter for spresenseの出番。こんな感じで結合する。

![contact-spresense.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/c3748ca7-1e7f-0625-480f-d18cd3b32bde.jpeg)
<font color="dark_pink">やっとStackらしさがでたM5Stack</font>

ありがたいことに作者さんのgithubにサンプルがあるので、ありがたく利用させていただく。

 + [tomorrow56/SerialTFT](https://github.com/tomorrow56/SerialTFT)

まずはArduino IDEから使える様にするために、[Arduino IDEライブラリのインストールとディレクトリ(フォルダ)構成 (Windows, Mac, Linux対応)](https://www.indoorcorgielec.com/resources/arduinoide%E8%A8%AD%E5%AE%9A/arduino-ide%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%A8%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E6%A7%8B%E6%88%90/)を参考にライブラリを取り込む。

![add-library.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/14112f90-3476-5c36-4607-23cc8be3268f.png)

次にSpresenseへプログラムを書き込む。サンプルがArduino IDE想定で作成されているので、[Spresense Arduino スタートガイド](https://developer.sony.com/develop/spresense/docs/arduino_set_up_ja.html)を参考に書き込む。
書き込むサンプルは[SPRESENSE_M5LCD_gnss_map.ino](https://github.com/tomorrow56/SerialTFT/blob/master/SerialTFT/examples/SPRESENSE_M5LCD_gnss_map/SPRESENSE_M5LCD_gnss_map.ino)

![write-complete-spresense.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/55859a43-b901-4d70-a205-3b79bc54a419.png)
<font color='dark_pink'>成功後のrebootが確認できればOK</font>

SPRESENSEへの書き込みが終わったら次はM5Stack。まずは、M5Stack-SD-Updaterを導入する。

 + [M5Stack-SD-Updaterのすすめ](https://qiita.com/tomorrow56/items/c58f099595bc873e4c65)
 + [初心者向けM5Stackの始め方（M5Burner/LovyanLauncher編）](https://raspberrypi.mongonta.com/howto-start-m5stack-m5burner-lovyanlauncher/)


手順としては

 + SDカードをFAT32でフォーマット
 + [tobozo/M5Stack-SD-Updater](https://github.com/tobozo/M5Stack-SD-Updater/releases)からSD-Apps-Folder.zipをダウンロード
 + SDカードにSD-Apps-Folder.zipを展開
 + M5StackにSDカードをセット(ここまで)

![sd-card-expand.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/f96ee712-2aa0-ccd0-19c3-7c9edf89e77c.png)

いよいよを[M5_SerialLCD.ino](https://github.com/tomorrow56/SerialTFT/blob/master/SerialTFT/examples/M5Stack_sketch/M5_SerialLCD/M5_SerialLCD.ino)書き込む。
スイッチをいれて実行

![first-complete.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/a8ec98ce-a1bb-0202-6bea-b83208913de6.jpeg)
<font color="dark_pink">出来た！(できてない)</font>

# ふりかえり

Spresense単品でGNSS取得サンプル動かしてみたけどダメだった。

![no-position.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/36124f0f-1ee6-2338-b06d-9d973b5dab13.png)
<font color='dark_pink'>ずっとNo Positioning Data</font>