2. 梅本体

2.1. ハードウェア仕様

2.1.1. 主要項目

 下表にMSM-PF梅端末ハードの仕様(主要項目)を示します。
../../_images/ume_spec.png

2.1.2. ブロック図

 下図にMSM-PF梅端末(ハード)の回路ブロック図を示します。
../../_images/ume_blockDiagram.png
 電源はコイン電池(CR2450)、USB電源(マイクロUSB)、エネルギーハーベスター(光または熱電)電源のいずれかを選択することができます。また外付けのウェイクアップタイマーによりMCUは超低消費電力の間欠動作をしています。
 通信モジュールにはBLEとPrivate LoRaを標準装備しており、いずれかを選択できます(後述の設定ファイルにより選択)。オンボードで温湿度センサーを実装している他にデジタルセンサー(I2CおよびSPI)とアナログセンサーの外部入力端子を備え、アナログ、デジタルそれぞれ最大2台ずつのセンサーを接続することができます。なお差動回路動作のアナログセンサーの接続も可能ですが、その場合アナログセンサー接続台数は1となります。

2.1.3. 外観

 MSM-PF梅端末の外観(上面、正面)を示します。簡易樹脂筐体を採用しておりサイズは幅70mm、奥行50mm、高さ40mmです。防水防塵未対策であることにご留意ください。
../../_images/ume_onCover.png

 次の写真は筐体の蓋部を取り外した状態です。主回路基板の上にコイン電池(CR2450)基板を積み重ねた二階構造とすることで底面積の小型化を図っています。
../../_images/ume_noCover.png

 熱電発電ハーベスターに対応した電源基板を準備しています。市販のペルチェ素子に放熱フィンを取りつけた熱電発電モジュールを接続することで、温度差発電による電力でMSM-PF梅端末を駆動することが可能です。熱電発電モジュールおよび電源基板に関する詳しい情報については別途お問い合わせください。
../../_images/ume_board.png

2.1.4. コネクター、スイッチ、端子台

 MSM-PF梅端末正面には給電用のマイクロUSB端子が配置されています。この端子に5V出力のUSB電源を差すことでMSM-PF梅端末の駆動が可能です。なおこのとき次に示すSW1の操作が必要ですのでご注意ください。
../../_images/ume_port_usb.png

 MSM-PF梅端末奥面にはスライドスイッチSW1、SW3とボタンスイッチSW2の計3つのスイッチが配置されています。SW1は電源の切替スイッチでUSB給電モード/電源OFF/コイン電池またはハーベスター給電モードを切り替えます。SW2は強制割り込みスイッチで、このスイッチを押すとディープスリープ状態でもトリガーがかかりセンサー測定モードに強制遷移させることが可能です。なおSW3は未使用です。
../../_images/ume_sw.png

 左側面の配置されている端子台(上下8端子、計16端子)は外部接続センサー用の端子です。端子台への各種センサーの接続方法については 2.1.5. 外部接続用センサー端子台への接続 で説明します。
 右側面端末の端子台は上部がエネルギーハーベスター(光、熱電)電力の入力端子、写真下部がMSM-PF梅デバッグ用の端子です。ハーベスター接続端子の接続方法 2.1.7. エネルギーハーベスターの接続 で説明します。またデバッグ用コネクターについては、付録「梅の開発環境(STM32 Cube IDE)」 を参照してください。
../../_images/ume_port_sensorAndDebugger.png

2.1.5. 外部接続用センサー端子台への接続

 端子台への外部接続センサーの接続方法について説明した図表を示します。同形状の端子台(CN3、CN6)が基板上下に実装され番号が付与されていますが、正面から見たときCN3とCN6では番号の振り方が左右逆転していることに注意して下表にしたがって各種センサーを端子台へ接続してください。接続可能なセンサーは 2.1.6. 接続可能なセンサー一覧 を参照してください。
../../_images/ume_port_sensor_detail.png

../../_images/ume_busType.png

../../_images/ume_I2C.png

 端子台へのセンサーの接続は上表のバス種別に従って上の例のように接続します。
 各種センサーの接続は端子口に差し込み、センサーが固定されて離れない状態になれば接続できています。またバス種別を変更したいときにセンサーを繋ぎ変える場合のセンサーの取り外し方は、下図の例のように取り外したい端子口の上の細穴に、ジャンパー線の先端のような細長くて折れにくいもの(または専用ピン)を差し込みながらセンサーを端子口から引き抜くと外れます。なおあまり深く差し込みすぎると、センサー用の配線が外れやすくなりますのでご注意ください。
../../_images/ume_sensorDiscon.png

2.1.6. 接続可能なセンサー一覧

 MSM-PF梅に接続し動作を確認しているセンサーは以下に示す5種類のセンサーとなります。

 1. デジタル3軸加速度センサー(5kHz対応)
   品番 KX134-1211
   メーカー Kionix
   x軸 8.2kHz, y軸 8.5kHz, z軸 5.6kHzまでの振動周波数に対応
   レンジは±8gから±64gから選択
   測定精度は標準的

 2. アナログ1軸加速度センサー(高精度、10kHz対応)
   品番 PKGX-20-4039
   メーカー 村田製作所
   z軸のみ10kHzまでまでの振動周波数に対応
   高感度、高精度タイプのため回転機器予知保全用途に好適

 3. デジタル3軸磁気センサー
   品番 AK09915C
   メーカー 旭化成エレクトロニクス
   一般的な3軸地磁気センサー
   サンプリング周波数200Hzまで対応

 4. デジタル温湿度センサー
   品番 BME680
   メーカー Bosch Sensortec
   環境センサー(温湿度、気圧、ガス)のうち現在は温湿度のみ対応

 5. アナログ電流センサー
   品番 CCT261631-30-6-00
   メーカー TDK
   一般的なCT型電流センサー

新たなセンサーを接続する場合には、特にデジタルセンサーではドライバーの作成が必要です。

2.1.7. エネルギーハーベスターの接続

 下図はMSM-PF梅端末をエネルギーハーベスター電源で駆動する場合の接続方法示した図です。ハーベスターの発電電力端子は主回路基板上のハーベスター入力端子台に接続するか、ハーベスター電源回路基板のコネクターに直接接続してください。前者の場合は主回路基板とハーベスター電源回路基板間を図のように接続する必要がありますので、ハウジング(SM02B-SRSS-TB(LF)(SN)、JST製)に合致したコネクターを準備して接続して下さい。また正負極を間違えないように接続して下さい。
../../_images/ume_eneHa.png

2.2. ソフトウェア仕様

2.2.1. ソフトウェア構成図

 梅のソフトウェア構成図を以下に示します。ファームウェアは RTOS 上で動作します。RTOS は Amazon FreeRTOS を使用します。アナログセンサーに対してはADC(ADC1)を介してデータを取得します。デジタルセンサーに対してはI2C(I2C4)を介してデータを取得します。BLEモジュールやLoRaモジュールに対してはUSARTを介して制御します。
../../_images/umeSw_block.png

2.2.2. 機能ブロック図

 梅の機能ブロック図を以下に示します。各機能の詳細は 2.2.3. 機能詳細 を参照してください。
../../_images/ume_funcBlockDiag.png

2.2.3. 機能詳細

2.2.3.1. 概要

 梅の全体フローチャートを以下に示します。起動時、メインタスク以外は停止状態です。センサーデータ取得機能はセンサー1タスク~センサー4タスクが担います。BLE通信機能とLoRa通信機能は通信タスクが担います。設定変更機能はコマンドタスクが担います。
../../_images/ume_flowChart_overall.png

 メインタスクのフローチャートを以下に示します。はじめに、データフラッシュ(ここに梅の設定が保存されています)を読み込み、起動周期をWakeupタイマーに設定します。本体のスイッチONによる起動の場合は、ポート情報の取得を行います。一方、シャットダウンモードからの起床の場合は、センサーデータの取得を行います。その後、通信タスクを起動してGWに取得データを送信します。データ送信後、コマンドタスクを起動して、GWからの設定変更要求に従って設定変更を行います。コマンドタスクが終了したらシャットダウンモードへ移行します。Wakeupタイマに設定した時間経過後、再び起動します。
../../_images/ume_flowChart_mainTask.png

2.2.3.2. センサーデータ取得機能

 センサータスクのフローチャートを以下に示します。センサーデータを取得する場合はセンサーデータを取得します。取得し終わったら、メインタスクに取得完了通知を出します。センサーデータを送信する場合は、通信タスクにデータ送信依頼を出します。センサーデータ取得依頼が来たら、再び取得します。
../../_images/ume_flowChart_sensorTask.png

2.2.3.3. BLE通信機能およびLoRa通信機能

 通信タスクのフローチャートを以下に示します。まず、通信種別がBLEならBLEモジュールを、LoRaならLoRaモジュールを初期化します。送信依頼が来たら、データ送信します。送信を完了したら、メインタスクに送信完了を通知します。コマンドを受信したら、コマンドタスクに受信ありを通知します。
../../_images/ume_flowChart_commsTask.png

2.2.3.4. 設定変更機能

 コマンドタスクのフローチャートを以下に示します。まず、梅からGWへコマンド送信要求を行います。要求を受けたGWは梅にコマンドを送信します。梅はそのコマンドを受信します。受け取ったコマンドがコマンド終了通知以外の場合は、そのコマンドを確認し、確認結果を送信します。これをコマンド終了通知が来るまで繰り返します。受け取ったコマンドがコマンド終了通知だった場合は、データフラッシュへ必要なデータを保存します。本体スイッチONによる起動の場合、Wakeupタイマを1分に設定しコマンドタスクを終了します。シャットダウンモードからの起床の場合、起動周期の設定変更があればWakeupタイマに設定し、コマンドタスクを終了します。
../../_images/ume_flowChart_commandTask.png