*

センサーの値を見える化する(1)-温度センサ:MDK001の値の見える化

公開日: : 最終更新日:2020/06/06 Python, RaspberryPi, 開発, 電子工作

どもです。

ここしばらく、PCツールとかの話が多かったのですが、久方ぶりに組み込み開発のネタです。
内容は、タイトルにもあるように、「温度センサの値の見える化」です。

1.作業環境

今回の作業環境です。

作業環境
H/W RaspberryPi3
OS Raspbian GNU/Linux 10 (buster)
ライブラリ libpigpio/libcgpio(0.3.0)
python3 ver.3.7.3
温度センサ MDK001

使用するライブラリのうち、libcgpioは自作したライブラリになります。
C言語でRaspberryPiのGPIOを使用するためのライブラリです。
GitHubで公開していますので、あわせて参照・使用していただければ幸いです。
使用するセンサ(MDK001)については、マルツさんのサイト、またはこのサイトから参照できるデータシートを参照して下さい。
MDK001の使い方については、過去のエントリ:温度センサの出力値の比較、あるいはQtでRaspberryPi/GUI開発(11)-SPI通信をしてみた(その3)を参照して下さい。

2.「見える化」の方法

2.1.コンセプト

今回の「見える化」は、下図のようなコンセプトで行います。
sensor_graph_visualization_001_01
全ての処理は、RaspberryPi3で行います。
C言語のアプリケーションでセンサー値を取得し、その値をpythonでクラウドサービスにアップロードします。
センサー値の取得は、これまでの資産を活用することも兼ねて、C/C++で実装したアプリを作成・使用します。
C/C++とpythonのデータの交換は、ファイルを介して行うことしています。
また、図には出ていませんが、クラウドサービスへのデータ送信はcronを用いた一定周期で行います。

2.2.クラウドサービス

今回、センサ値をグラフ化して「見える化」を実現します。
グラフは、「Ambient」というサービスを使用します。
コチラのサービスでは、ユーザ登録を行えば(制限はありますが)誰でも利用ができます。
また、データの登録のためのpythonのAPIが公開されており、データを送信/登録をとても簡単に行うことができます。
APIのダウンロード、インストールの手順については、こちらのチュートリアルを参照して下さい。

3.実装

今回、センサの値の取得は、過去のエントリで作成したコードを改修したものを用います。
ココでは長くなるので、割愛します。
pythonでのファイルからのデータ読み出しとデータの送信のコードを示します。

このコードは、ReadSensorData()でC/C++のアプリが書き込んだデータを読み出しています。
それ以外のコードは、Ambientのチュートリアルのモノを流用しています。
なお、コード内の「xxxx」と「yyyy」の部分には、それぞれ「チャンネルID」と「リードキー」を指定します。
これらは、「チャンネル」を作成した際に生成/指定される値になります。

4.見える化の結果

とある日の私の部屋の気温の変化を見てみます。
sensor_graph_visualization_001_02
少し波形を解説します。
朝の早い時間での温度変化は、起床して部屋の換気をしてみたタイミングです。
また、夕方の大きな温度変化は、仕事から帰宅してエアコンを動かしたタイミングです。
その後気温が上昇していますが、これは就寝のためにエアコンを停止したタイミングです。
sensor_graph_visualization_001_003

5.まとめ

今回、センサーの値をクラウドサービスにアップロードして見える化してみました。
初めての見える化ということで、MDK001から取得した気温をしました。
センサーの値を視覚的に認識できるようになり、変化が分かりやすくなりました。
しかし、データが1つだけなので、まぁ~、得られたグラフは面白くない。
今後は見えるデータを少し多くしていくと同時に、どのようなセンサーの値を見える化したら面白いか、ということも考えていきます。

ではっ!

関連記事

no image

RaspberryPiのOS:RaspbianをNOOBSでセットアップしてみた

どもです。 今回の内容は、「今更!?」ですがNOOBSでRaspbianをセットアップしたとい

記事を読む

Rasp_DHT11

温度(湿度)センサを使ってみた(2)-RaspberryPi/pigpioでDHT11

どもです。 前回は、DHT11をAdrudinoにつないで温度/湿度を測定してみました。 そこで

記事を読む

toppers

C言語でEV3開発(25)-Q_Learningを実装してみた…が!?

どもです。 今回の内容は、「失敗しました」という内容です。 最近、流行になっている深層学習/

記事を読む

iot_raspberrypi_gateway_001_eye_catch

IoT開発(9)
RaspberryPiをIoTゲートウェイにする(III)
MariaDBのセットアップ

どもです。今回のエントリは、以下のエントリの続きです。 IoT開発(7)RaspberryPiをI

記事を読む

think_about_utest

VisualStudioで実行した単体テストの結果の出力(2)-出力ファイルの読める化

どもです。 前回の続きです。 前回は、VisualStudio/C#での単体テストの効率

記事を読む

image027

気圧センサを使ってみた-RaspberryPi/pigpioでMPL115A1

どもです。 前回は、DHT11をRaspberryPi/pigpioで使用、温度を測定してみました

記事を読む

raspberry-pi

ライブラリでRasPiのピンにアクセス(2)-SPIのインターフェース追加

どもです。 前回のエントリでは、RaspberryPiのピンをより簡便に使用できるようにするた

記事を読む

sensor_graph_visualization_002_eye_catch

センサーの値を見える化する(2)-温湿度センサ:DHT11の値の見える化

どもです。 前回に引き続き、今回もセンサ値の見える化です。 前回のエントリの最後に、「見

記事を読む

arduino_relay_switch_002_ae_g5v_drv_eye_catch

Arduinoでリレースイッチ(2)-AE-G5V-DRV

どもです。 前回の記事では、「フォトカプラリレー」を使用したLチカについて書きました。 その

記事を読む

Arduino_Logo

ホールセンサーの種類と使い方(割込み編)

どもです。 前回に引き続き、今回もホールセンサーについてです。 1.前回からの違い 前回の

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

arduino_relay_switch_002_ae_g5v_drv_eye_catch
Arduinoでリレースイッチ(2)-AE-G5V-DRV

どもです。 前回の記事では、「フォトカプラリレー」を使用したLチ

tlp222af_001_eye_catch
Arduinoでリレースイッチ(1)-TLP222AF

どもです。 つい先日、やっとのことでリレースイッチを手に入れるこ

c_sharp_eye_catch
外部からMariaDbにアクセスする(2)-C#からMariaDbにアクセスする。

どもです。 前回のエントリで、外部からMariaDbにアクセスす

c_sharp_eye_catch
外部からMariaDbにアクセスする(1)-データベースの設定

どもです。 今回は、Linux上のMariaDbにWindows

think_about_utest
middle_unit
最小…よりも(ほんの)少し大きいテストフレームワーク

どもです。 今回は、単体テストのフレームワークについて書きます。

→もっと見る

PAGE TOP ↑