【活用事例】密状態を検出するエッジデバイス

【活用事例】密状態を検出するエッジデバイス

  • このトピックには0件の返信、1人の参加者があり、最後にyamagishiにより2021-02-28 09:58に更新されました。
0件の返信スレッドを表示中
  • 投稿者
    投稿
    • #12064
      yamagishi
      参加者

        こちらは、KDDI協賛 Leafony応用コンテストの参加作品です。

        【STM32コンテスト】密状態を検出するエッジデバイス

        目次

        1. 自己紹介
        2. 概要
        3. 目的
        4. 仕様
        5. 構成
        6. 機能
        7. 実装
        8. 外観
        9. 動作事例
        10. 開発環境
        11. 「密集状態」と本試作機の内部処理に関して
        12. あとがき

        1. 自己紹介

        大和無線電機株式会社は電子部品の販売と、関連サービスの提供をおこなう電子部品の総合商社です。私はお客様に製品を紹介するデモ機を作成しています。

        2. 概 要

        コロナ禍では密を避けることが大切です。密集したら注意を促したり、密集しやすい場所や状況を捉えて対策をおこなうことは感染拡大の防止に有効です。*1
        そのためのしくみを考えてみました。今回は密集状態を検出するエッジデバイス部分の試作をおこないました。赤外線で人を検出する非接触センサとSTM32リーフを組み合わせました。

        *1 : 厚生労働省 https://www.mhlw.go.jp/content/10900000/000606000.pdf

        ( 図.1 )システム全容と今回の対象部分

        本投稿のPDF版はこちらです。( 本ページと同じ内容です。)
        本投稿の動画版はこちらです。( 2分間で概略をご覧頂けます。)

        アプリケーション例( 想定 )

        ・エレベータ
        ・更衣室
        ・ロッカールーム

        3. 目 的

        ・密集したら注意を促す。
        ・密集状況をクラウド上のデータベースに通知する。
        ・多くの場所で容易に使用できる。

        STM32リーフの必要性

        ・密集度は面で計測 ( メモリ容量が必要 )
        ・多点での演算が必要 ( 演算速度が必要 )

        密集度は面で計測

        単位面積あたりの人数を基本とします。計測点は一辺(N)の二乗分必要となります。
        今回は一辺32点のセンサを使用しますので、面では1024点の計測点があります。1点あたり2byteとした場合、2kbyteの容量が必要となります。

        多点での演算が必要

        状況を分析処理するために、各計測点や計測点間の演算を行います。計測点が多いため十分な演算速度ないと応答速度が低下します。
        密集状態を評価するために計算やAIを用いた場合に、その選択肢を増やすためにも演算速度に余裕があるMCUが望まれます。

        4. 仕 様

        目的を実現するために下記の仕様としました。

        ・数メートル先の密集度を計測
        ・クラウドに密集状況を送信
        ・警告の発報( 外部警報器へ )
        ・環境情報( 温度、湿度、照度 )の取得
        ・小型( 名刺サイズ )
        ・電池駆動
        ・安価( 安価に必要な場所に設置できるように )

        5. 構 成

        構成は下記の通りです。

        ( 図.4 )回路ブロック図 / PDF版:http://www.daiwa-leafony.jp/tu2a/d11.pdf

        ポートアサインは、こちら(PDF版:http://www.daiwa-leafony.jp/tu2a/d12.pdf)をご参照ください。

         

        5-1. 使用したリーフ

        ・AP03 STM32 MCUリーフ
        ・AI01 4-Sensors リーフ
        ・AC02 BLE Suger リーフ
        ・AZ01 USBリーフ( 開発用 )
        ・AX02 29pin リーフ( ユニバーサル基板との接続用 )

        29pinリーフに基板対基板用コネクタを接続して、ユニバーサル基板と接続します。
        Leafonyコネクタのネジを延長して、ユニバーサル基板を挟んで固定します。

        ( 図.2)使用したリーフ

         

        5-2. 使用したセンサ

        OMRONのMEMS非接触温度センサ D6Tを使用しました。
        対象物(今回は人間)の表面温度を非接触で計測します。センサは赤外線(8~12μm)を計測します。計測は面でおこないます。1辺 32点、合計 1,024点の計測点の温度を計測します。

        ( 図.3 )MEMS非接触温度センサ


        図はメーカー資料からの引用です。

        6. 機 能

        機能は下記の通りです。

        6-1. 機能の一覧

        ( 表.1 )機能一覧表

        温度計測機能MEMS非接触温度センサ数メートル( 6m )先の温度を計測
        温度・湿度・照度計測機能4-Sensors リーフ本デバイスの周辺温度、湿度、照度を計測
        アップリンク機能BLE Suger リーフBluetooth GWを介して上位システム、インターネットに接続
        リモート設定機能BLE Suger リーフスマートフォンから各種設定値を変更( 拡張機能 )
        警報出力機能リレー1a 接点出力で外部の警報器を ON/OFF
        LED出力機能LED電池残量の表示等多目的利用
        ( JP-SWで電源LED表示に変更可能 )
        表示機能OLED各種情報の表示。 RGB 96 X 64 pixcel
        スイッチ入力機能プッシュSW(2つ)表示情報の切り替え等の各種操作
        電源電圧測定機能ADC電源電圧の測定
        スリープ機能DC/DCコンバータ等省電力( 拡張機能 )
        密状態判定機能プログラム計測した温度分布から密状態を判定するプログラムモジュール

         

        ( 図.5 )機能ブロック図 / PDF版:http://www.daiwa-leafony.jp/tu2a/d15.pdf

         

        6-2. データ処理過程

        ( 図.6 )データ処理図 / PDF版:http://www.daiwa-leafony.jp/tu2a/d16.pdf

         

        7. 実 装

        回路とプログラムは下記の通りです。

        7-1. 回 路

        ( 図.7 )回路図 / PDF版:http://www.daiwa-leafony.jp/tu2a/d13.pdf

         

        7-2. ソフトウエアの構成

        ( 図.7 )ソフトウエア構成図 / PDF版:http://www.daiwa-leafony.jp/tu2a/d14.pdf

         

        8. 外 観

        外観は下記の通りです。

        8-1. 寸法など

        ・寸法: 横 71mm X 縦 51mm X 高さ 31mm( 突起部を含まず )
        ・重さ: 45g

        8-2. 外 観

        9. 動作事例

        MEM非接触センサの特性から数メートル先を範囲としています。
        下記の事例では撮影の都合上、センサ直近に手をかざして計測状況の確認をしています。実験ではペットボトルに温水を入れて試験を行いました。( 撮影場所は照明が多く室温が高くなっています。)

        表示例

         

        ・温度分布: MEMS非接触温度センサの計測結果 ( 計測範囲の温度分布 )
        ・温度、湿度: 4-Sensorsrリーフの計測結果
        ・判定: 温度分布から密状態か否かを判定して表示

        密集状態の判定方法は、こちら(PDF版:http://www.daiwa-leafony.jp/tu2a/d19.pdf)をご参照ください。

        10. 開発環境

        ・Arduino IDE 1.8.9

        使用しているライブラリ等

        ・Adafruit_GFX_Library 1.10.5
        ・Adafruit_SSD1331_OLED_Driver_Library_for_Arduino 1.2.0
        ・SPI 1.0
        ・Wire 1.0
        ・sme-hts221-library-master 1.1.2
        ・SrcWrapper 1.0.1
        ・Adafruit_BusIO 1.7.1

        ・D6T OMRON サンプルコード:https://github.com/omron-devhub/d6t-2jcieev01-arduino

        11.「密集状態」と本試作機の内部処理に関して

        本試作では、ハードウエア、ソフトウエアの動作確認を目的としているため、本試作機に搭載する密集状態の検出、分析等の検討と検証は対象としていません。本試作機での密集状態の処理は、機器の動作確認を目的としたもので、実際の密集状態を表しているものではありません。

        本試作での対応は、こちら(PDF版:www.daiwa-leafony.jp/tu2a/d17.pdf)をご参照ください。

         

        12. あとがき

        多くの計測点数(画素数に相当)でしたが、STM32なのでメモリ容量も処理速度も気にせずに試作できました。
        システムのMCU周辺部以外に通信、SD記録、外部拡張など、リーフで簡単に組み合わせを変えられるので、実証試作の工数を大幅に減らすことができました。また、アプリケーションに特化した部分に注力できるので、開発時間を有効に使うことができました。

        専門知識がないので人の密集度の計測や分析などは「f(x}」でまとめていまいましたが、計算モデルやAIによる密集度の検討や処理に興味を持ちました。日頃、「密」という言葉を簡単に使ってしまっているのですが、その定義や定量化が明確になっていないのかなと思いました。ここの相違が齟齬を生むのであれば、明確にすることも必要だなと感じました。

        この機会をいただいて、改めて密ということを見直すことができました。ありがとうございました。

    0件の返信スレッドを表示中
    • このトピックに返信するにはログインが必要です。