作ってみました

前回作成した「密を検知するエッジデバイス」をインターネットに接続するためのゲートウェイを作成しました。

 

 

 

 

仕 様

• エッジデバイスからの情報収集( Beacon )

• クラウドへのデータ送信( LTE-M )

• 密検出エッジデバイス機能( 温度分布、CO2濃度、温度、湿度 )

 本機だけでも使用できるようにエッジ機能も搭載しています。

 

「密検出エッジデバイス」の製作記はこちらです。

 

エッジ機能を併せ持つゲートウェイ。下部の黒い板状のものはアンテナです。

搭載する機能

仕様に基づき左記の機能を載せました。機能の概要は下部の表をご覧ください。

 

使ったリーフ( ボード )

 

AI01 4 Sensors 温湿度などの検出

AP03 STM32 MCU CPU基板

AZ01 USB 開発時にPCと接続

AC02 BLE Suger GWと接続

AX02 29pin ベース基板と接続

 

LTE-M モジュール

クラウドに接続してデータを送受信するためにLTE-M ボードを使用しました。

 

マイクロテクニカ
LTE-M簡単通信ボード LTE-STICK

ublox社 SARA-R410M-02

 

機 能 部 品 内 容
クラウド通信機能 LTE-STICK LTE-Mにより3G通信をおこなう
クラウド連携機能 プログラム LTE-Mを介してクラウドにつながりデータの送受信をおこなう
エッジデバイス通信機能 BLE Suger リーフ 複数のエッジデバイスから BLE(Beacon)でデータを受信する
エッジデバイス連携機能 プログラム 複数のエッジデバイスのデータを収集する
( 以下はデバイス機能です )
温度計測機能 MEMS⾮接触温度センサ 数メートル( 6m )先の温度を計測
CO2計測機能 CO2センサ CO2の濃度を計測
温度・湿度・照度計測機能 4-Sensors リーフ 本デバイスの周辺温度、湿度、照度を計測
リモート設定機能 BLE Suger リーフ スマートフォンから各種設定値を変更( 拡張機能 )
LED 出⼒機能 LED 電池残量の表⽰などの多⽬的に利⽤( JP-SWで電源LED 表⽰に変更可能 )
表⽰機能 OLED 各種情報の表⽰。 RGB 96 X 64 pixcel( 拡張機能 )
電源電圧測定機能 ADC 電源電圧の測定
スリープ機能 DC/DCコンバータ等 省電⼒( 拡張機能 )
省電⼒( 拡張機能 ) プログラム 計測した温度分布から密状態を判定するプログラムモジュール

センサからクラウドまで ~ なぜインターネットにつなげると良いのか

「センサで測定したデータがクラウドまで届く具体的なしくみを知りたい」という声にお応えします。

 

 

IoT( Internet of Things )とは?


ことば通り「物がインターネットを使う」システムやアプリケーションです。


今まではPCでWebページを閲覧したり、メールで情報交換したり、スマートフォンでSNSを利用することが 多かったと思います。これらは人が操作して情報を交換します。「人がインターネットを使う」でした。

 

IoTは人が介在せずに、物が直接インターネットを使うところに特徴があります。 この場合の「物」とは幅が広く自動車、家電、各種機械、遠隔地のセンサなどさまざまです。

IoTのメリットは?


例です。工場で使う工作機は状態を定期的に確認(保守)して不調ならば修理します。 IoTに対応すれば工作機の状態をインターネット経由で取得して、不調の兆候があれば事前に対処することができます。

・ 人が定期的に現場に出向かなくても良い。
・ 常に状態を把握できる。
・ 兆候(故障の前兆)を知ることができる。
・ 故障前に対処できる。

人件費や出張費用を抑える、工作機が故障してラインの停止を防ぐことができます。

その他でも
・ 人のいない遠隔地でも対応できるので自然災害の予知や予防が期待できる。
・ 広範囲でも対応できるので農業などに貢献できる。
・ 危険な場所や状況でも対応できる。

そのためには・・・
・ 人が介在していなくても、インターネットに接続できる。
・ 人が介在していなくても、測定したり動かしたりすることができる。
・ そのために自動化、省電力化、小型化、・・・が必要になります。

センサからクラウドまで ~ 具体的な流れ

ここではエッジデバイスで測定した温度を、ゲートウェイ経由でクラウドに届けるまでの概要を説明します。
エッジデバイスで温度測定からゲートウエイに送信まで

4-sensors leaf

 

温度センサで温度を測定する。

・温度センサで温度(物理量)を電流の変化に変える(狭義のセンサ)
・電流の変化をデータに変える。
・データをMCUに伝える。(I2C)

 

 

温度(物理量)
電流の変化
データ化

 

I2C通信

MCU leaf

 

・センサとI2C通信する。
・センサに温度測定の指示(センサの設定)をおこなう。
・センサから測定結果(データ)を送ってもらう。
・データを変換する(データそのままだと℃を表していない。)
・温度(℃)に変換した測定値を保管する。

 

 

データの受信
データの変換
データの保管

 

UART ( シリアル通信 )

BLE leaf

 

・MCUとBLEモジュールはUART(シリアル通信)で接続する。

・MCUからの指示でBLEモジュールを制御する。

・BLE(Beacon)で定期的に測定した温度データ発信する。
・Beacon通信は送信しっぱなしの通信です。

 

 

BLE Beacon 送信

( アドバタイジング )

 

BLT通信

ゲートウエイからクラウドに接続まで

エッジデバイスからゲートウエイにデータを受信

 

・エッジデバイスからBeaconが発せられるまで待機
実際は...
BLE通信(Advertising)をすべて受信している。 通信文の中に自分の知りたい相手のIDがあるか確認して、その対象とするIDがあったらその通信文を確保する。

 

 

Beacon待機

BLE Beacon 受信

 

 

 

UART ( シリアル通信 )

MCU leaf

 

・目的とする通信があったらデータを確保する。
・クラウドへの通信が許可された条件ならば送信準備 をおこなう。
・すべてのデータを送信するのではなく「ある温度以上になったらば」などの条件をつけておくことが多い。

 

 

データの受信
データの保管

クラウド送信の判断

 

UART ( シリアル通信 )

LTE-M モジュール

 

・LTE-MボードはUART(シリアル)で接続する。

・MCUからの指示でLTE-Mボードを制御する。

・クラウドへの通信は人がインターネットを使う場合と同じ手順。

・ATコマンドによる制御なので、LTE-Mモジュールに文字列を送る。

 

 

LTE-M通信の準備
( UART通信 )

 

LTE-M 回線接続

LTE-M 回線

 

・LTE-M ボードを制御してLTE-M回線に接続する。
 使用する回線の種類(通信会社とそこで提供しているサービス)を決めて、回線の種類に応じて LTE-Mボードを選択する。( LTE-Mボードに搭載している LTE-Mモジュールが回線と種類に対応しています。

 

 

 

回線接続
( LTE-M 通信 )

 

プロバイダ接続
クラウドサービスの利用

インターネット接続プロバイダ、各種クラウドサービス

 

・LTE-M ボードにLTE-M通信用のSIMカードをセット
 インターネット接続プロバイダと契約して SIMカードを入手

・プロバイダを介してインターネットに接続
・クラウド上のサービスと通信

 

ここまでくると後は人がブラウザを操作しているのと同じで 文字列をサービスに送信して、その結果をサービスから受信することによって進めていきます。

 

 

インターネット接続
クラウドサービスの利用
( インターネット通信 )

センサからクラウドまで ~ 通信の全体像

複数のエッジデバイスは、それぞれ測定したデータをBLE(アドバタイジング)で発信します。

 

ゲートウエイはその発信を受信します。

 

ゲートウエイは自分で持っているセンサで測定したデータも持っています。

 

クラウドに発信する条件になったら、LTE-Mボードを介してクラウドに接続します。

 

クラウドへの接続は、LTE-M回線の接続、プロバイダを経由してインターネットに繋がり、その先(インターネット上)にあるサービスに接続します。

_

センサからクラウドまで ~ いろいろな通信とプログラムを使う

接続する相手によりいろいろな種類の接続(通信)手段を使用します。使用している通信とその種類です。

 

使用している通信 種 類 実際のポート
4-Sens. Leaf I2C PB9, PB8
BLE Leaf UART PA0, PA1
LTE-Mボード UART PA9, PA10
USB(デバッグ) USB PA3, PA2
OLED(オプション) SPI PA8, PB6, PA7, PA5, PB5

デバイスやシステムによりいろいろな種類のプログラムを使用します。使用しているプログラムとその種類です。

 

使用しているプログラム等 対 象 備 考
Arduino Leafony 組み込み系プログラミング
JavaScript SmartPhone Web プログラミング
html / css Web Web ページ記述
bootstrap Web Web ページ記述
JavaScript, PHP Server サーバサイドプログラミング

LTE-Mモジュールを選ぶ

LTE-M とは?

 

LTE-M( Long Term Evolution - Machine )は、携帯電話のネットワークを利用しているIoT向け通信サービスです。携帯電話の通信規格です。

 

IoTではインターネットと接続しますが、接続方法は人がインターネットを利用するときと同じです。近くのLANに有線、無線で接続してLANを介してインターネットに接続する方法、Wi-Fiに接続する方法などもあります。


LTE-Mはスマートフォンと同じで、電話回線を介してインターネット・プロバイダに接続してインターネットとのやりとりをおこないます。そのため、LANやWi-Fiがない場所(野っ原とか)でもIoTデバイスとインターネットを接続できます。

移動通信にも対応できますが、高速移動での通信には別途方式を検討することも必要です。

使用したLTE-M回線

スマートフォンと同じ様に回線事業者を選択します。今回は auにしました。

LTE-Mは回線により通信方式が異なるため、 LTE-Mモジュールは 利用する回線に合わせて選択します。

 

使用したインターネットプロバイダ

インターネットと接続するにはインターネットプロバイダが必要です。soracom社にしました。接続サービス以外にデータ保管やそのデータを使用したグラフ化サービスなどクラウドサービスもあります。

 

使用したクラウドサービス

いろいろなアプリケーションを考えることができます。今回は「密」状態をLINEで通知する簡易的な方法にしました。LINE Notifyを使用しました。

LTE-M モジュールの中身(例)

LTE-M通信には LTE-Mモジュールが必要です。モジュールが搭載され周辺回路も付いている LTE-Mボードを使用します。

MCUとの接続方式は多種あります。Leafonyとの接続は UARTを使用しています。

 

 

 

 

引用:u-Blox SARA-R4 series Data sheet

Figure 1: SARA-R410M and SARA-R412M modules’ simplified block diagram
https://content.u-blox.com/sites/default/files/SARA-R4_DataSheet_UBX-16024152.pdf

 


LTE-Mボード各種

今回はサイズを優先に選択しました。

製作時点ではありませんでしたが、現在は LTE-M Leafもでています。

 

 

 

今回使用したLTE-Mボード

マイクロテクニカのLTE-M簡単通信ボード [LTE-STICK]を使用しました。u-Blox社の SARA-R410M-02が載っています


 

LTE-M用アンテナ

ボードとセットで技術基準適合認証(技適)を取得する必要があります。取得済みのものを使用しました。

 

 

 

SIMカード

SORACOM社のものです。通信回線(今回は au)を指定して購入します。

設計する

仕様が決まったあとは設計です。

ソフトウエアまで含めたブロック図

 

全体の構成をブロック図で検討しました。
組み込み系はハードウエアとプログラムが密接な関係にあるため、両面から全体の構成がイメージできるようにブロック図を書きました。

Arduinoを使用しました。デモンストレーション用であること、トリリオンノード研究会の発表でもArduinoが多用されているためです。Leafonyの各リーフ(ボード)やそこに搭載しているチップは、対応するライブラリがありますのでそれを使用します。

 

ピン(ポート)配置表

 

MCUのピン(ポート)アサインをおこないます。

最初に使用するMCUにより利用できるポートが決まります。以下の図では左端の AP03(STM32)です。

次に接続するリーフ接続ポートを並べます。今回は USB リーフ(AZ01)、BLE Sugerリーフ(AC02)、4-Sensorsリーフ(AI01)です。これらのリーフの使用ポートは事前に決まっていますので、そのポートは優先的に決まります。外部に接続する周辺部品を接続するポートは、リーフで使用していないポートになります。

今回は、MEMS温度センサ(D6T)、LTE-Mボード、OLED(表示器)、その他(スイッチや電源電圧監視)です。

 

それぞれのポートは、ADCやUART、I2C,SPIなどMCUの内部と関連深い(得意とする)ポートがあります。(変更できる場合もあります。)ポートの特徴も考慮しながら個々のポートの特徴も配慮して決めていきます。

 

(ご参考)ポートを決めるときに便利な表を用意しました。こちらです。

 

プログラムの設計

 

仕様(ハードウエア)から各部品とのインタフェースを検討します。周辺デバイスに対応したライブラリがあればその導入、ライブラリがなければコードを書きます。 MEMS温度センサ(D6T)のインタフェースはライブラリがありません。メーカーから提供されている資料に基づき作成しました。

 

アプリケーション部分も仕様(ソフトウエア)を機能に分けて、機能ブロック間の関係を明確にします。私はデータを軸に考えますのでデータの構造と流れを中心に設計していきます。以下の図は各周辺デバイスとデータの流れを中心にした機能ブロック図です。

このアプリケーションの主要機能はゲートウエイです。受信したデータを送信する中継機能です。課題は転送時にデータがつまらないようにすることと、エラー発生時に双方に対応をおこなうことです。必要に応じてリングバッファなどを配意しています。

ケースに収める

今回はケースに収めます。できるだけ小さくなるように。

注意点は以下のとおりです。

 

・ケース内寸 幅、奥行き、高さに収まる

・スイッチやOLEDが使いやすい場所にある(ひとつの面に集まる)

・部品同士が干渉しない(ぶつからない)

・電磁気的な配慮(電源線とアンテナの位置関係など)

・配線(特にコネクタ付のケーブルハーネスの挿抜)

・組み立てられる ← これを忘れて困ることが多い私です。

3Dモデリング

 

昔はバルサ材などでモックアップを作っていました。(これはこれで良いところあります。)今回は3Dモデリングで確認します。

 

FUSION360

3Dモデリングには、Autodesk社の FUSION360を使用しています。とても強力なCAD/CAM/PCB統合ツールです。

個人で非商用の場合は機能制限ありますが無償で使えます。こちら

● 部品干渉の確認が目的なのでかなり手抜きです

 

● MEMS温度センサのケーブルハーネスの取り回しスペースを確保

※下赤丸が最も手間、上赤丸が最も上です。下方向からの視座です(錯視あり)

● MEMSセンサ、LTE-Mモジュール、Leafony、OLEDの干渉確認

MEMS温度センサが上面設置なので全方向から確認します

● 3Dモデルからケースの部品図を展開

この図面を元にアクリル加工します

組み立てる

基板上に部品を実際に並べて、場所やお互いの干渉を確認しながら配置を検討します。(いろいろと考えながら楽しい時間です。)

現在は試作でも簡単にPCBを使えますが、ユニバーサル基板を使用しました。(半田付けしないと試作した気持ちにならない私です。その割にはへたですみません。)

部品をすべて取り付けて配線完了。

ケースにも収めてみて、部品同士やケースとの干渉がないことを確認します。

 

完成!

右が今回作成したゲートウエイ、左が前回作成したエッジデバイスです。

 

複数のエッジデバイスを対象にしています。Leafonyブロックをエッジデバイスのエミュレータとして使用しました。

デモ機らしくしてみた

営業用デモ機なのでケースにまとめてみました。

 

中身は以下のとおりです。

・密検出エッジデバイス( 前回の試作機 )

・密検出ゲートウエイ(今回の試作機)

・MEMS温度センサ・デモ機

・電池、充電器

・USBケーブル

・三脚、取付アダプタ

 

ちょっと、かっこよくなりました。(かな?)

 

IoTを作る ~ 難しさと楽しさ ~

IoTアプリケーションを作成するときには、電子回路からクラウドまで多くの多彩なデバイスやシステム、プログラミング言語を扱います。

 

動作環境もエッジデバイスは電源(電力)や、通信環境の制約があったりしますが、クラウドではどちらも豊富にありかなり選択が可能です。対象とするデバイスやシステムの環境、設計・試作する技術もハードウエア、ソフトウエア、通信など幅広く知識も技術も求められます。

 

すでにAIなどの実装もはじまり、クラウドでは多種のサービスとの連携も進んでいます。常に新しいことに直面します。ICTの世界は常に変わっていくのでそこに追いつくのが大変です。けれども、そこがおもしろいのだと思います。新しいものやことを知り、それによりさらに新しいものを作っていく。やりたいことや作りたいものが拡がっていきます。

 

最近ではYoutubeなどの動画系や、専門的なネットセミナーなども多くなっています。学ぶ機会も方法も多様になりました。もし、バグなどの問題があっても世界中の誰かが同じような経験を持ちその情報にアクセスできます。

・・・と思う私ですが、気がつくとPCの前で居眠りしてたり。

ドキドキし続けることが課題です。

 

最後までご覧いただきありがとうございました!

 

製作記の記載内容は製作者の意見です。大和無線電機株式会社の公式な見解ではありません。本記事には各企業や組織の登録商標、商標が含まれています。

 

( 次回予告 )漏水検知システム / アプリケーションとして考える

電池が不要な漏水センサがあります。そのセンサの紹介と、そのセンサを活用したアプリケーションの製作記です。

 

PoCですが原理試作というよりは、アプリケーションとしての実証をめざして試作しました。

 

クラウドとの通信やアプリケーションの操作性の実現方法など具体的な内容をお届けしたいと思います。

使用したリーフ

STM32 MCU リーフ

・ BLE Suger リーフ

・ USB リーフ

・ 4 Sensors リーフ

・ 29pin リーフ

 

使用した通信方法

BLE( エッジデバイス間 )

BLE( GW - スマートフォン間 )

・ LTE-M( GW - クラウド間 )

現在、制作中です。
近日中に公開します。
 

PR

この製作記で登場した OMRON D6Tをはじめ、IoT向けのセンサや半導体、各種電子部品を多数用意しています。左はセンサの例です。ぜひ、ご活用ください。

 

  IoTサイト IoT向け電子部品専用サイト https://daiwa-iot.jp/

  通販サイト 試作・小ロットから量産まで https://sample-box.jp/

ページの終了