sgimライブラリのサンプルスケッチ

ここでは、sgimライブラリのサンプルスケッチについて説明します。

 [動作概要]

  • SGIMボードの上に実装されている緑色のLEDを0.4秒間隔で点滅させます。
  • sgimの動作確認等で利用します。

detect_motion

 [動作概要]

  • MCUのスリープ(正確にはスタンバイモードと呼びます)、加速度センサ、Sigfox通信を組み合わせたサンプルです。
  • 起動したら、加速度センサ等の初期化を行い、3g以上の加速度を検知する動作に入り、MCUはスタンバイモードに入ります。
  • 加速度の監視では、加速度センサを、サンプリング周波数50Hz、計測レンジ+/-4g、ローノイズモード、分解能14-bitで動作させています。
  • また加速度を監視している間は、MCU(ATSAMD21G18A)はRTCのスリープ機能を使ってスリープし、高い加速度を検知しなくてもALARM_INTERVAL分ごとに一度起きるようにしています。
  • 3g以上の高い加速度を検知したら、MCUは通常モードに戻り、Sigfox通信機能を使って、3軸それぞれの最大加速度(mg単位)をアップロードします。


 [補足事項]

  • このスケッチは、常時スリープするため、SerialUSBへのシリアル出力はできません。従ってシリアルモニタを使ったデバッグはできません。
  • 2回目以降、このスケッチを書き込む際は、書込み直前に2度続けてリセットスイッチを押して、MCUをUSBデバイスとしてPCに認識させる必要があります。その際、最初の場合と異なるCOM番号として認識されますのでご注意ください(この辺りの挙動は、Arduino Zeroと同様です)
  • このスケッチでは、Sigfoxで通信を行います。そのため、Sigfox回線を開通し、Sigfox backend(Sigfoxのクラウドサービス)側で予め適切な設定を行っておく必要があります。
  • このスケッチは、普段はMCUをスリープさせて消費電力を低く抑え、一定以上の加速度の検知またはRTCのアラームにより起きて処理や通信をするといった典型的なIoTアプリケーションのサンプルとなっています。
  • このスケッチでは、下記の動作条件において、スリープ時(スタンバイ時)の消費電流は60uA程度となります。
    • SGIMに外付けの回路を設けない
    • 電源として、ニッケル水素二次電池(エネループ等)2本を直列に接続して、SGIMの2V5端子に直接給電する
    • 通常の室温程度(20~25℃前後)の温度環境下を想定する

monitor_sigfox

 [動作概要]

  • SGIMに搭載されているSigfox通信モジュールSFM10R3ATのIDとPACをシリアルモニタに表示します。
  • その後、ATコマンドの入力待ちとなる。ATコマンドを入力すると、レスポンスがシリアルモニタに表示されます。


 [補足事項]

  • このスケッチで、IDとPACを知ることができます。IDとPACは、Sigfox回線の開通方法に必要な情報です。
  • ATコマンドの利用は、Sigfox通信をよく理解した上級者向けの機能ですので、SGIMのサポート外とさせていただきます。一般的な利用では、ATコマンドの詳細を知る必要はなく、sgimライブラリを利用するだけでSigfox通信を利用することが可能です。
  • ATコマンドで周波数や送信出力を変更することもできますが、国内では電波法違反となる場合がありますので、十分にご注意ください。