モノのインターネット(IoT)と配管

モノインターネットについて公開した後、ESP-8266モジュールを使用するというアイデアの手紙を受け取りました。



「Master-Kitには非常に興味深いものがあります。 電動ボールバルブです。 この変更は3〜6ボルトの電圧で作動し、家庭用パイプラインの給水を著しく開閉します。







私の場所には、モーターのないクレーンがあり、残念ながら非常に不便な場所にあります。 水を止める必要があるたびに、プラスチックのスケッチ「Snake Man」を実行する必要があります。 したがって、私は一度電動クレーンを設置し、体操を忘れることにしました。 しかし、最近改装されたバスルームの蛇口を制御するためにたくさんのワイヤーを引っ張りたくなかったので、ワイヤレスソリューションについて考え始めました。



ESP-8266モジュールに注目が集まり、







これに基づいて、マスターキットにはすでにMP3500デュアルチャネルWi-Fiリレーがあります。



しかし、高電流や高電圧を制御する必要はなく、制御ボードを電動クレーンの本体に隠したいので、デバイスのサイズを最小限にしたかったのです。 テストのために、ブレッドボードと出力コンポーネントを使用することにしました。











ESP8266モジュールはループによってボードに接続され、モジュールのプログラミングには、すでに標準となっているPL2303チップ上のUSB-UARTアダプターを使用しました。 アダプタのドライバは、インターネット上で問題なく見つかりました。



しかし、ESPプログラミングでは、nodeMCUファームウェアを使用することにしました。これにより、ATコマンドのセットではなく、高レベルのスクリプト言語LUAを使用してモジュールを制御できます。



Wi-Fiを介してタップと通信するために、マサチューセッツ工科大学Appinventorのプロジェクトを使用して、Androidでスマートフォン用のプログラムを作成することが決定されました。



だから、順番に。



電動クレーンには3つの出力があります。1つは共通、2つは3〜6ボルトの正電圧を印加する制御で、クレーンを開閉できます。 したがって、ESPモジュールの2つのGPIOピン(汎用入力/出力)で十分に制御できます。 「実験」のスキームは次のようになります。







3.3 V電源はUSB-UARTコンバーターから取得され、コンバーターのRXDおよびTXD端子は、プログラミングのためにESPモジュールのTXDおよびRXD端子にそれぞれ接続されます。 抵抗器は、ESPモジュールの製造元の推奨に従って、リードを電源電圧に引き込みます。トランジスタは、開閉時に60 mAに達するバルブの制御電流を増幅します。 また、クレーンは電流を消費しません。



ESPモジュールは2つのモードで動作できます。アクセスポイントとして(スマートフォンが直接接続する場合)、およびインフラストラクチャモードで、ほぼすべてのアパートメントにある既存のルーターに接続できます。 したがって、2番目のモードでは、スマートフォンは既にルーターに接続されています。 モジュールのモードは、セットアッププロセス中に設定できます。これは、スマートフォンを使用しても実行されます。



単純なWebサーバーがモジュールで発生し、コマンドの到着を待機し、受信の成功を報告し、処理し、クレーンを回すのに必要な時間に対応するGPIOを0または1に切り替えて実行します。



ご覧のとおり、これはESPモジュールの内部機能のみを使用し、追加のマイクロコントローラー制御回路を使用する必要はありません。 ところで、ESPモジュールには、さまざまなモードで動作する多数のGPIOが存在します。これにより、その範囲が大幅に拡大します。



モジュールのファームウェアは、ESPモジュール用の非常に便利なIDEであるESPlorerユーティリティを使用してアップロードされます。これにより、LUA、Python、ATコマンドを使用してモジュールをすべて1つのボトルで操作できます。

スマートフォン用のプログラムは、制御コマンドを送信し、Wi-Fiモードをリモートで構成するために使用されます。











すでに述べたように、Appinventorプロジェクトを使用して作成されました。 このプロジェクトでは、Androidデバイスのプログラミングの分野で特別な知識を必要としない視覚環境でプログラミングが行われます。



もちろん、プログラムはやや冗長になります。結果のコードの量は従来のプログラミングよりもはるかに大きくなりますが、これは開発の単純さと速度によって報われます。 環境を学ぶのは簡単で、完全に消化可能なアプリケーションを自分で書くことができます。 さらに、最新のスマートフォンのメモリは、それらにロードされるプログラムのサイズに大きな制限を課しません。



以下は、スマートフォンのモジュール管理プログラムのスクリーンショットです(すべての写真は元のサイズの新しいウィンドウで開くことができます)。







データ交換の開発中に現れた冗長要素がありますが、基本はButton3ボタンを押すイベントハンドラーです-5秒間GPIO00出力の状態を変更してタップを開き、Button4-GPIO02出力の状態をタップを閉じます。 たとえば、Button3がクリックされると、モジュールで発生したサーバーはGET呼び出しhttp:// ip_address / mode = cmd&sw0を送信しGPIO00の出力はその状態を0に変更します。 Clock2タイマーが4000ミリ秒間オンになり、この時間後にタイマーイベントがトリガーされ、同じコマンドが送信され、GPIO00の出力状態が1に変わります。クレーンが開いています。







次のスクリーンショットは、ESPモジュールのモードとパラメーターの設定を担当するプログラムの一部を示しています。 ここでは、Wi-Fiモードに加えて、IPアドレス、ポート、ネットワークマスク、ゲートウェイ、ワイヤレスSSIDおよびパスワードを変更できます。 モジュールにパラメータを送信した後、モジュールは自動的に再起動して新しいパラメータを使用します。







LUAで書かれたモジュールファームウェアは、ドキュメントに記載されているかなり標準的な方法で、着信コマンドを受信して​​処理するサーバーを編成します。



結論:ESP8266の束-水道の蛇口は機能しています。 物事の本当のインターネットが判明しました。 SMD要素でボードを作成し、完成したデザインに組み立ててインストールします。 終了します-登録解除します!」



パフォーマンステストビデオ:




All Articles