概要
Armadillo-640とBT/THオプションモジュールを組み合わせて使用する事で、
BLE通信機能を持った機器と無線通信を行う事が出来ます。
以前、以下のHowTo記事でご紹介した、オムロン株式会社製環境センサ2JCIE-BL01と通信させてみました。
「オムロン 環境センサ」からBLE GATTを用いてデータ収集
通信によって収集したデータは、タッチパネル上にWxPythonを使ってグラフ描画させてみました。
データ収集・グラフ表示共に、pythonを使って構築しています。
機器構成
- Armadillo-640
Arm Cortex-A7(528MHz)のSoC「i.MX 6ULL」(NXPセミコンダクターズ製)を搭載した、
シングルボード型の組み込みプラットフォームです。
通信機器などに最適なスタンダードなモデルで、4GBのオンボードストレージ(eMMC)を搭載し、データロガーなどにも最適です。
フィールド利用を想定し、動作温度範囲-20℃~+70℃をカバーしており、耐環境試験データも公開しています。 - BT/THオプションモジュール
太陽誘電製の無線モジュール EYSKBNZWBを搭載したオプションモジュールです。
WLAN対応モデルと非対応モデルをラインアップしており、WLAN対応モデルにはArmadillo-WLANモジュール(AWL13)が搭載されます。 - LCDオプションセット(7インチタッチパネルWVGA液晶)
ノリタケ伊勢電子製のタッチTFTモジュール「GT-1P」シリーズをベースとした、
Armadillo-640対応の液晶パネルセットです。
カラー表示対応で、手袋をはめた状態でも操作可能です。
Armadillo-640との接続はフラットケーブルのみで、電源供給・映像信号出力・タッチパネル信号の入力全てを賄っています。
※注意事項※
当社Webページで配布しているBT/THオプションモジュール用 DTB (Device Tree Blob)では、LCD拡張インターフェースに接続する機器を限定しないために、
LCDオプションセットを使用するための設定を含んでおりません。
BT/THオプションモジュールとLCDオプションセットを併用するためには、
Device Treeをソースコードからビルドする必要があります。
当社Webページよりlinuxカーネルのソースコードをダウンロードし、
下記マニュアルを参考にビルドしてください。
10.2. Linuxカーネルをビルドする
その際、arch/arm/boot/dts/armadillo-640_con9_thread.dtsを編集し、
以下のようにarmadillo-640-lcd70ext-l00.dtsiをincludeするための行を追加してください。
#define ARMADILLO640_AT_DTWEB #include "armadillo-640.dts" +#include "armadillo-640-lcd70ext-l00.dtsi" //この行を追加 / { chosen {
グラフ表示
下記を参考にwxpythonをセットアップしておいてください。
Armadillo640へのwxPython Phoenixのインストール(eMMC使用)
Armadillo640へのwxPython Phoenix(Python3に対応したwxPython)のインストール
また、サンプルプログラム実行のためには以下のパッケージのインストールが必要となります。
xserver-xorg-core xserver-xorg-input-all xserver-xorg-video-fbdev
出力されたcsvをグラフ表示するためのサンプルプログラムは以下になります。
*txt形式でアップしているので、拡張子をpyに変更してご使用ください。
サンプルプログラム
サンプルプログラム実行時は以下のようにコマンド実行してください。
[armadillo ~]# X -retro -nocursor & [armadillo ~]# DISPLAY=:0 python3 graph.py &
サンプルプログラムでは、取得したデータのうち、「温度」と「照度」をグラフへ表示させています。
BLE通信
環境センサとの通信を行うためのサンプルプログラムは以下になります。
*txt形式でアップしているので、拡張子をpyに変更してご使用ください。
サンプルプログラム
基本的には下記記事のサンプルプログラムと違いがありませんが、
「オムロン 環境センサ」からBLE GATTを用いてデータ収集
通信対象が2JCIE-BU01ではなく2JCIE-BL01なので、データの並びなど少し変更を加えています。
実行にあたっては、事前に以下のパッケージをインストールしておいてください。
python3-pip
また、「pip3 install 」コマンドで以下のpythonモジュールをインストールしておいてください。
libglib2.0-dev bluepy
以下のように環境センサのBDアドレスを指定して実行します。
[armadillo ~]# python3 omron_bag_gatt.py XX:XX:XX:XX:XX:XX(BDアドレス)
実行ディレクトリの直下にlogというディレクトリを作成し、通信に成功すると1分ごとにデータが出力されます。
データの取得・ファイルへの書き込みが完了すると、以下のメッセージがコンソールに出力されます。
----------------------------------- write to csv. -----------------------------------
実行
BLE通信プログラムとグラフ描画プログラムをそれぞれ動作させると、
以下のように1分ごとにデータが更新されてグラフが描画されるようになります。