Monarch対応LITEONモジュールBreakout Board - UnaMKR mini -

[UnaBiz社](https://www.unabiz.com/)から、Sigfox Monarch（グローバル・シームレス・ローミング）対応の[LITEON製](http://www.liteonit.com/)モジュール([WSG309S](https://www.kccs-iot.jp/solution/product/module11/))を搭載したBreakout Board、[UnaMKR mini](https://unabiz.github.io/UnaMKR/#/?id=about-unamkr-mini)がリリースされています。
![unamkr-mini.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172313/8c56ed8f-8a8f-7008-60f6-8137189f82c8.png)
[UnaMKR for Arduino](https://qiita.com/ghibi/items/e6c9656ccc1614e4624d)という製品も出ていますが、この製品は、UnaMKRのModemモードに特化した製品といえるでしょう。

##製品の特長
LITEON WSG309Sの特長を引き継いだBreakout Boardとなっているため、簡単にMonarch技術の検証ができるものとなっています。

- World Sigfox 0G Network対応（Monarch、RC1-RC6）
- BLEとSigfoxのハイブリッドモジュール

#UnaMKR miniのピン配置
すべてのピン配置は[こちら](https://unabiz.github.io/UnaMKR/#/10.1-Hardware)を見てください。ここでは、シリアルATコマンドで通信するために必要な最低限のピンアサイメントを記します。

|ピン番号|ピン名|LITEONモジュールのピン名|説明|
|:------|:-----|:---------------------|:---|
|18|D11|UART_RX|BlueNRG-2 DIO11|
|19|D8|UART_TX|BlueNRG-2 DIO8|
|31|GND||GND|
|32|3V3||3V3|

#事前準備
今回は、PCと接続し、PC側のターミナルソフトから直接ATコマンド制御しますので、UnaMKR miniとUSB-TTLシリアルコンバータがあれば十分です。

##同梱物確認
UnaMKR miniには、UnaMKR mini本体、900MHz帯アンテナ、アンテナケーブル、BLE用アンテナ（ケーブル）、ブレッドボード連結ピンが同梱されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172313/59e105fa-9531-896b-276c-f8ba11d53443.png)

##USB-TTLシリアルコンバータ
今回は、3.3VとシリアルRXTXさえあれば良いので、数百円で手に入るかと思います。私は、CP2102というものを使っていますが、別にこれじゃなくても結構です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172313/7e2ea074-5ec1-62da-1237-8bd74bb30bd3.png)

#PCとUnaMKR miniを接続
PCのUSBポートとUnaMKR miniを下の写真のように接続します。
![UnaMKR2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172313/36c2b527-f103-bf26-889d-8050c620e76d.jpeg)
UnaMKR miniとUSB-TTLコンバータとの接続は、下表にあわせて接続してください。

|UnaMKR mini|USB-TTL Conv.|
|:---------:|:-----------:|
|3V3|3V3|
|GND|GND|
|D8(UART-TX)|RXD|
|D11(UART-RX)|TXD|

##シリアルポート設定
お手持ちのターミナルソフト（Windowsの場合はTera Termやputtyがおすすめ）を立ち上げ、シリアルポート設定を下表のように設定してください。

- Baud Rate: 115200
- Data Bits: 8
- Parity: None
- Stop Bits: 1
- Flow Control: None

接続が成功すると、UnaMKR miniのRW LEDが緑色に点灯します。
ターミナルソフトから`AT?`コマンドを送信し、`OK`応答が返ってきたら接続は成功です。

#Monarch動作確認
[Sigfox Monarch](https://qiita.com/ghibi/items/3283348a81e09e784b8d)は、グローバル・シームレス・ローミング用の技術となっており、動作原理としては、基地局から定期的に送信されるMonarchビーコンをデバイスが受信し、そのビーコンに従い、その国の技術基準にあったメッセージフレームを送信するものです。
LITEONモジュールには、2種類のMonarchモード（自動/手動）が用意されています。

##Monarch自動モード
>このモードは、Monarchビーコンが受信可能なエリアでのみ確認することができます。

`AT$ZONE?`コマンドにより現在モジュールに設定されているRadio Configuration（RC）を確認し、RCを自動的に変更したい場合は、`AT$MONARCH=[検知待ち時間(sec)]`を送信します。この場合、約300秒間の待ち時間でMonarchビーコンを検知します。
成功すると、`OK`応答が返ります。改めてAT$ZONE?でRCを確認すると、RCが1なっていることがわかります。（今フランスです。）
<img width="266" alt="ATmonarch.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172313/f12e84ad-ec94-a962-ea8a-ecf88e1553e1.png">
あとは、おなじみの`AT$SF`コマンドでSigfoxメッセージを送信できます。

##Monarch手動モード
Monarchビーコンが受信できない場所で、RCを変更するATコマンドは、`AT$SETZONE=[ZONE番号]`です。例えば、日本（RC3）に変更したい場合は、`AT$SETZONE=3`とします。

#SDRドングルを使ったMonarch動作確認
RCを変えたところで、その国に行かないとメッセージが送信されるかどうかもわかりません。そこで、SDRドングルをSigfox Network Emulatorとして使用し、動作確認をしてみます。
SDRドングルの使用方法は[こちら: SDR dongle - Sigfox Network Emulator (SNE)の使い方](https://qiita.com/ghibi/items/320b258a878fb5a84d66)を見てください。

##UnaMKR miniとSDRドングルの接続
SDRドングルには、アッテネータとSMAケーブルが付属されていますので、下の写真のように、UnaMKR miniとSDRドングルを接続します。
![SDRDongle.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172313/7a4eae55-2e91-508d-0901-d57d0b419445.jpeg)

##各RCでの送信テスト
SNEのRADIO設定（Radio Configuration）を変更しながら、`AT$SETZONE`でデバイスのRCを変更し、`AT$SF`コマンドでメッセージを送信していきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172313/187c8f50-fff1-55eb-9cd8-0cd18010ff3a.png)
上図では、RC1で1234というデータを送信した後、
SNEとデバイスのRCを2→3と変更していき、メッセージの到達を確認しています。（04というデータはデバイスだけをRC4に設定し、メッセージ送信していますので、受信できなくて当然です。）

##その他ATコマンド
UnaBiz Githubに対応する[ATコマンド一覧](https://unabiz.github.io/UnaMKR/#/39.1-Modem)があります。BLE制御のコマンドもありますので、是非お試しください。

[Sigfox Japan KCCS](https://qiita.com/organizations/sigfox)

>UnaMKR miniは、2019年12月現在、日本国内での販売チャネルはありません。もし、必要な場合は連絡ください。[Twitter@ghibi](https://twitter.com/ghibi)