WiFiモジュール(7) ― 2019年08月25日
環境センサー+LINE通知
今回使用したマイクロコントローラーはESP8285を使用したWeMos D1 mini Liteです。ESP-12Fとほぼ同じ大きさでUSBシリアル通信チップ(CH340Gを使用)までボード上に装備ています。
IoTで利用できる(MQTTクライアント)ネットワーク時計に環境(温度、湿度)センサーを加えて見ました。OLED表示は時間よりも温度湿度を強調した表示になっています。3.5x2cmの表示領域に128x64ドットを表示していますので小さいです。(大きいものは値段が高い)😂
2.4G WiFi機能を装備しているマイクロコントローラなので時計はインターネットで合わせますのでPC並みに正確です。センサーの違いで2種類作成しました。2つ目の方は人間を感知するとLINEに温度、湿度、気圧を通知する機能をプログラミングしてあります。こちらのマイクロコントローラーはESP-12Fを使用しています。プログラムの更新はUSBシリアル通信基盤を経由してPCと接続し行います。
「何の役に立つの?」という質問はご法度です。動機は
・面白そうだから作る。
・こんな物があるからとりあえず動かしてみる。
・「LINEに通知が送れる」なら作ってみる。
などなど😆😆😆
プログラムはPCでArduino開発環境というソフトウエアを使用して作っていきます。教育用ということもあって世界中の人がいじっているのでライブラリーが充実しています。ゆえにやりたいことがすぐできるというわけです。
Raspberry Piでも同じようにプログラミングしますがこちらではコンパイルが不要なPython言語を多く利用しています。
最近のプログラミング手順はゼロからプログラミングなどしません。プロトタイプあるいはライブラリーについているサンプルを利用して必要な修正を加えるプログラミングです。まさにネットワーク時代のプログラミング?(コピペ!!)😵
はじめてのIoT(2) ― 2017年05月06日
家電製品の連動
家電製品の中にはある機器が動作したら合わせて動作させたい機器があります。連動させるための仕組みが用意されている場合は良いのですがそうでない場合はまず機器Aの動作を監視することで機器Bを動作させるかどうかの判断を行います。簡単には機器Aが接続されたコンセントに電流が流れているかを監視します。電流が想定されるだけ流れていた場合、機器Bの電源をONにするという仕組みで連動させることが可能です。今回はそんな連動ボックスを作成してみました。
電源連動ボックスの心臓部は、AC100Vの電流を検出するセンサーです。電流センサには U-RD社の極小型クランプ式交流電流センサー CTL-6-S32-8F-CLを使用します。このセンサーはAC100Vラインに接続した負荷の消費電流に応じて1/800の電流が出力されるのでその電流を抵抗に流し電圧に変換後、AD変換してESP8266が処理します。
ESP8266には(ESP-12Eでも)ADコンバーターが1CHしかありませんのでADコンバーターはI2Cに接続できるTI社のADS1115 ADコンバーターを使用しました。ADS1115は4チャネルの入力が可能です。今回はそのうちの2チャネルを使用してAC100Vラインの電流を監視します。残りは未使用ですがその他のアナログ入力(センサーなど)に使用できます。アナログ入力に温度センサーとして3Dプリンターで使用している100KΩのNTCサーミスターを使用しました。デジタル出力のセンサーなら値を読み取るだけで済むのですがアナログ入力の場合は電圧を読み取り、ソフトウエア(計算式)で温度への変換を行います。0~50℃で使用するB値を選択しています。
赤外線リモコンでリレーをON/OFFすることもできるように赤外線リモコン受信モジュールを付けて適当なTVリモコンのキーを割り当てるようにしました。バッファロー社のHDMI切替器に赤外線受信機が付いていたのでそれを流用しました。
出力制御にはAC100VをON/OFFするので2回路リレーモジュールを使用しました。
温度湿度制御BOXのときとは異なりこのモジュールはリレー回路と制御回路がフォトカプラーでアイソレートされていますのでESP8266の3.3Vロジック電圧で直接動作します。リレー電源は5Vです。
電源連動ボックスの設定WEB画面です。
左側の2つのボックスがリレーのコントロールBOXです。右側はセンサー類を入れているツールBOXです。ツールBOX内のアイコン近くの数値は現在値を1秒間隔で表示しています。コントロールBOX内の電源アイコンは現在のリレーの状態を表示します。このスクリーンショットではコントロール1にAC電流センサー1を割り当ててしきい値は20mA以上になったらリレーをONにする。コントロール2は赤外線リモコンを割り当てるという設定です。
操作は簡単でツールBOXからアイコンをコントロールBOX内にドラッグするとしきい値設定画面が開きますので条件式と値を設定するだけです。AC電流センサーはmA単位、温度センサー(サーミスター温度センサー)は0.1℃単位でしきい値を設定できます。写真ではコントロール1の設定を温度センサーに変更してしきい値を設定しているところです。WEB画面を凝りすぎたため、PCからのみの操作になります。(スマホからではドラッグ操作ができません。)
また、電源投入時の初期値をフラッシュに保存する機能もついていますので保存時の設定で本機を起動することができます。フラッシュメモリーは書き換え限界がありますので手動セーブにしています。
はじめてのIoT(1) ― 2017年04月23日
家電製品のON/OFF
最近良く耳にする「IoT」なる単語が気になって調べてみた。
WiKiペディアでは
モノのインターネット(英語: Internet of Things, IoT)とは、様々な「モノ(物)」がインターネットに接続され(単に繋がるだけではなく、モノがインターネットのように繋がる)、情報交換することにより相互に制御する仕組みである。それによる社会の実現も指す。「物のインターネット」と表記された例もある。
とありました。気になる文言はありますが、要はPCやスマートフォーン、タブレットなどと言った最初からインターネット接続を想定されているもの以外の機器をインターネットに接続し、その機器の持つ情報や操作できる機能を遠隔から利用しようというものです。クラウド利用が前提のような記述もありますが、なんだArduinoやESP8266ボードを利用した制御、計測コントローラーにネット接続機能を付加してあげれば良いようです。
AC100VをON/OFFする制御ボックスを作成してみました。
温度湿度センサーDHT11も接続して設定温度湿度でAC100VをON/OFFできるようにしています。
ケースには市販の電源ボックスを使用し、スイッチやコンセントは家電建材用を使用しました。
ESP8266のファームウエアの中にWEBサーバー機能を内蔵し、ブラウザからリアルタイムに情報を見ることができます。また、設定温度湿度の変更と、手動でスイッチのON/OFF操作ができます。
画面はスマートフォーンからでも見やすいよう考慮しています。




最近のコメント