ご利用の流れ(SCO-M5SNRF9160)

[更新: 2021年8月16日]

「さくらのモノプラットフォーム」βテストにおいて提供されるM5Stack対応LTEモジュールを使ったご利用開始の流れを説明するページです。

SCO-M5SNRF9160はM5Stack Coreボードにスタッキングすることで、さくらのモノプラットフォームと簡易的な接続を提供する評価ボードです。 サンプルプログラムとしてボタン押下によるデータ送信や、ボード内に搭載されたNordic nRF9160のサンプルファームウェアアップデートのサンプルコードを提供しており、企画・開発段階での検討に役立ちます。

1. 準備

本項では以降の作業を進めるために必要となるハードウェアおよびソフトウェアについて記載します。

1-1. 使用するハードウェア

  • M5Stack Coreボード
    • 動作確認は M5Stack Basic , M5Stack Gray でのみ実施しています
    • 以降の手順は上記のいずれかのボードを使用して行うことを想定して記載します
  • M5Stack対応LTEモジュール cat.M1 nRF9160(SCO-M5SNRF9160)
  • USBケーブル(Type-C)
    • 対向は接続対象によって適切なものを選定ください

1-2. USBドライバーおよびボード定義のインストール

M5Stackに対してプログラムを書き込めるようにするため、参考URLに示される手順に従いUSBドライバーおよびArduino IDEをインストールします。

次にArduino IDEを起動し、再度参考URLに従い環境設定を行ったうえで、ボードマネージャから「M5Stack」をインストールしたら「M5Stack-Core-ESP32」を選択します。 また、合わせてライブラリマネージャから「M5Stack」をインストールします。

2. コントロールパネルへのログイン

さくらのセキュアモバイルコネクトのご利用にあたっては管理ツールとしてコントロールパネルを提供しています。

さくらのクラウドのコントロールパネル にログインします。ログイン情報はβ版提供のご案内メールに記載されています。

ログインが完了するとさくらのクラウドホーム画面に遷移しますので、「セキュアモバイルコネクト」をクリックします。

ヒント

βテストにおいては本来作成が必要な会員IDおよびユーザーは事前に弊社側で作成を済ませています。

SIM一覧画面に遷移します。以降はこのコントロールパネルを使用して各種リソースを作成および設定を行います。

3. さくらのセキュアモバイルコネクトでのSIMの作成

さくらのセキュアモバイルコネクトのSIMは入手直後は有効化されておらず、ユーザー自身でコントロールパネルへの登録および有効化の作業が必要です。

さくらのクラウドコントロールパネルメインメニューより「セキュアモバイル」を選択し、左側のサイドメニューから「SIM」をクリックします。「SIM一覧」画面が表示されたら右上の「追加」をクリックします。

「SIM追加」画面が表示されたら必須項目であるICCIDおよびPASSCODE、接続先として許可するキャリアの選択等を行います。

ヒント

SCO-M5SNRF9160の場合、登録に使用するICCIDおよびPASSCODEは基板に記載されています。

名前欄に任意の名称を入力し、右下の「作成」をクリックします。ここでは名前欄に「new-sim」を入力しています。

リソース作成が行われるため、確認モーダルが表示されます。確認のうえ、問題がなければ「作成」をクリックします。

注意

βテストにおいてはリソースの作成や利用において課金はされません。

SIMの作成が開始されますので「閉じる」をクリックします。ステータスが成功になっていない場合でも処理は進行します。

重要

登録時にエラーが出る場合は、PASSCODEを確認ください。大文字「アイ」と小文字の「エル」等判別しづらい文字については、両方のパターンにて入力をお試しください。

再度左側のサイドメニューから「SIM」をクリックします。「SIM一覧」画面に新しいSIMが作成されていることを確認します。

以上でSIMの作成は完了です。

参考

SIM

4. SIMのプロジェクトへの紐付け

さくらのモノプラットフォームを利用するためには、複数のSIMやサービスアダプタを管理する「プロジェクト」に登録する必要があります。

さくらのクラウドコントロールパネルメインメニューより「セキュアモバイル」を選択し、左側のサイドメニューから「SIM」をクリックします。「SIM一覧」画面が表示されたら該当のSIMをダブルクリックするか、チェックボックスで選択したうえで右上の「詳細」をクリックします。

右上の「接続先の変更」をクリックし、接続先の変更画面から接続先に「モノプラットフォーム」を、プロジェクトに作成済みのリソースを、それぞれ選択のうえ変更をクリックします。

対象となるプロジェクトへの接続、および自動的にIPアドレスの採番が行れますので「閉じる」をクリックします。ステータスが成功になっていない場合でも処理は進行します。

詳細画面でモバイルゲートウェイ欄およびIPアドレス欄が表示されており、それぞれに値が入っていることを確認します。

以上でSIMの紐付けは完了です。

ヒント

βテストにおいては本来作成が必要なプロジェクトは事前に弊社側で作成を済ませています。
また、将来的にはSIMの追加時にプロジェクトへの登録を行えるようになる予定です。 その場合はSIMの作成時に合わせて紐付けるプロジェクトを指定することで本手順を省略できます。

5. ハードウェアの組み上げと接続

本ハードウェアを使うために、M5StackからBottomモジュールを取り外します。

SCO-M5SNRF9160を間に挟み込むようにスタッキングします。

ピンがズレて取り付けられていないことを確認し、PCとUSBケーブル(Type-C)で接続します。

Arduino IDEを開き、上部「ツール」>「ボード」から「M5Stack-Core-ESP32」を指定します。

同様に上部「ツール」>「シリアルポート」からM5Stackが接続されたポートを指定します。

以上でハードウェアの組み上げと接続は完了です。

ヒント

接続されているシリアルポートがわからない場合、デバイスマネージャーから「Silicon-Labs CP210x USB to UART Bridge」に割り当てられているCOMポート番号を確認します。

6. サンプルスケッチの書き込み

GitHub sakura-internet/sipf-std-client_sample_m5stack から最新ソースコードのZipファイルをダウンロードします。

解凍したソースコードからサンプルのスケッチファイル「sipf-std-m5stack.ino」を開き、M5Stackボードに書き込みます。

ヒント

スケッチファイルは同階層に含まれるヘッダファイル(sipf_client.h)およびソースファイル(sipf_client.cpp)を使用するため、Arduino IDEで開く際にはスケッチファイルと同じ階層に両ファイルを配置するようにしてください。

Arduino IDEで正しく認識された場合、スケッチファイルに加えてヘッダファイルおよびソースファイルがタブとして表示されます。

書き込みが完了し、SIPF Client for M5Stack画面がディスプレイに表示されていることを確認します。 合わせて、タイトル部の下に表示されるBootingおよびSetting auth modeがいずれもOKになっていることを確認します。

ヒント

サンプルスケッチは随時更新されており、画像の表示が異なる場合がございます。

また、書き込みに失敗する場合、以下の3点が設定されていることを確認してください。

  • ボードに「M5Stack-Core-ESP32」が選択されている
  • シリアルポートに適切なCOMポートが選択されている
  • 「M5Stack」ライブラリがインストールされている

任意のボタンを押下し、ディスプレイ内RESULT欄にボタンが押されたこと、およびIoTクラウド側で正常に受信できたことを示すオブジェクト送信IDが表示されることを確認します。

以上でサンプルスケッチの書き込みは完了です。

注意

現時点のファームウェアおよびサンプルスケッチではデバイスからクラウドへの片方向のみの通信に対応しています。

7. WebSocketサービスアダプタを使った動作確認

さくらのクラウドコントロールパネルメインメニューより「モノプラットフォーム」を選択し、左側のサイドメニューから「サービスアダプタ」をクリックします。

「サービスアダプタ一覧」画面が表示されたら作成済みのサービスアダプタをダブルクリックするか、チェックボックスで選択したうえで右上の「詳細」をクリックします。

ヒント

βテストにおいては本来作成が必要なサービスアダプタは事前に弊社側で作成を済ませています。
また、βテストにおいては特別に割り当てられた会員IDおよびアカウントにのみ該当項目が表示されます。

詳細画面が表示されたら、SIPF Client for M5Stackが動作するM5Stackのボタンを押下し、ディスプレイに表示されているtagおよびvalue情報とWebSocketにより受信したデータが一致していることを確認します。

以上で動作確認を含めた利用開始手順は完了です。以降は任意のサービスからWebSocketに接続し、デバイスからのデータを参照することができます。

注意

βテストにおいては特別に割り当てられた会員IDおよびアカウントにのみ該当項目が表示されます。

8. 参考資料

8-2. ファームウェア

8-3. SCO-M5SNRF9160ファームウェアのFOTA実行方法

SCO-M5SNRF9160のファームウェア sipf-std-client_nrf9160 には最新版のファームウェアへの更新が行えるFOTAの機能があります。

SIPF Client for M5Stackのコマンド中継機能を使用し、SCO-M5SNRF9160のFOTA機能を起動し更新を行います。

本項ではSIPF Client for M5StackでFOTAを実行する手順をご案内します。

PCとM5StackをUSBケーブルで接続し、Arduino IDEのシリアルモニター または 任意のターミナルソフトでM5StackのUSBシリアルポートを開きます。

M5Stackをリセットし +++ Ready +++ が表示されている状態にします。

rst:0x1 (POWERON_RESET),boot:0x16 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:9720
ho 0 tail 12 room 4
load:0x40080400,len:6352
entry 0x400806b8
M5Stack initializing...OK
### MODULE OUTPUT ###
*** SIPF Client(Type00) v.0.1.0 ***
Trying to attach to LTE network (TIMEOUT: 60000 ms)
SEARCHING
REGISTERD
ICCID: 8981040000000xxxxxx
#####################
+++ Ready +++

ロックを外し更新コマンドを実行します。

$$UNLOCK UNLOCK
OK
$$UPDATE UPDATE
FOTA DOWNLOAD START
  1% DOWNLOADED
  2% DOWNLOADED
  3% DOWNLOADED
  4% DOWNLOADED
  5% DOWNLOADED
  7% DOWNLOADED
  8% DOWNLOADED
  9% DOWNLOADED

更新ファイルのダウンロードが始まります。

97% DOWNLOADED
98% DOWNLOADED
99% DOWNLOADED
99% DOWNLOADED
FOTA DOWNLOAD FINISHED
REBOOT & RUN UPDATE

ダウンロードが完了するとSCOがリブートします。

** Booting Zephyr OS build v2.4.99-ncs2  ***
I: Starting bootloader
I: Primary image: magic=good, swap_type=0x2, copy_done=0x1, image_ok=0x1
I: Secondary image: magic=good, swap_type=0x2, copy_done=0x3, image_ok=0x3
I: Boot source: none
I: Swap type: test
I: Bootloader chainload address offset: 0x10000
I: Jumping to the first image slot

リブート後、ブートローダーの機能によりダウンロードした更新ファイルでアップデートを行います。

アップデートが完了するとRTOSの起動メッセージが表示された後、sipf-std-client_nrf9160が起動します。

*** Booting Zephyr OS build v2.4.99-ncs2  ***
Flash regions           Domain          Permissions
00 02 0x00000 0x18000   Secure          rwxl
03 31 0x18000 0x100000  Non-Secure      rwxl

Non-secure callable region 0 placed in flash region 2 with size 32.

SRAM region             Domain          Permissions
00 07 0x00000 0x10000   Secure          rwxl
08 31 0x10000 0x40000   Non-Secure      rwxl

Peripheral              Domain          Status
00 NRF_P0               Non-Secure      OK
01 NRF_CLOCK            Non-Secure      OK
02 NRF_RTC0             Non-Secure      OK
03 NRF_RTC1             Non-Secure      OK
04 NRF_NVMC             Non-Secure      OK
05 NRF_UARTE1           Non-Secure      OK
06 NRF_UARTE2           Secure          SKIP
07 NRF_TWIM2            Non-Secure      OK
08 NRF_SPIM3            Non-Secure      OK
09 NRF_TIMER0           Non-Secure      OK
10 NRF_TIMER1           Non-Secure      OK
11 NRF_TIMER2           Non-Secure      OK
12 NRF_SAADC            Non-Secure      OK
13 NRF_PWM0             Non-Secure      OK
14 NRF_PWM1             Non-Secure      OK
15 NRF_PWM2             Non-Secure      OK
16 NRF_PWM3             Non-Secure      OK
17 NRF_WDT              Non-Secure      OK
18 NRF_IPC              Non-Secure      OK
19 NRF_VMC              Non-Secure      OK
20 NRF_FPU              Non-Secure      OK
21 NRF_EGU1             Non-Secure      OK
22 NRF_EGU2             Non-Secure      OK
23 NRF_DPPIC            Non-Secure      OK
24 NRF_REGULATORS       Non-Secure      OK
25 NRF_GPIOTE1          Non-Secure      OK

SPM: NS image at 0x1c200
SPM: NS MSP at 0x2001deb8
SPM: NS reset vector at 0x2297d
SPM: prepare to jump to Non-Secure image.
*** SIPF Client(Type00) v.0.1.0 ***
Trying to attach to LTE network (TIMEOUT: 60000 ms)
SEARCHING
REGISTERD
ICCID: 8981040000000xxxxxx
+++ Ready +++

以上でSCO-M5SNRF9160のファームウェア更新は完了です。

ヒント

SIPF Client for M5Stackの初期化処理を実行するため、M5Stackをリセットしてください。