あなたは想像します リモートで何かをオンまたはオフにします? 暖房をオンにしたり、誤ってオンにした場合はオフにしたり、自動ブラインドを使用している場合はブラインドを開閉したり、どこからでもエアコンを操作して適切な温度で家を作ることができます。 まあ、それは何ですか ソノフ.
たとえば、 あなたが市場で見つけることができるのはIteadSonoffです。 これはESP8266モジュールをベースにしたデバイスであり、メーカーであり、ArduinoでDIYプロジェクトを作成する場合は確かに馴染みがあるように聞こえます。 これは非常に人気のあるWiFiモジュールであり、すでに Hwlibreの特別記事。 それに モジュールはリレーを追加しました 接続されたデバイスに作用し、WiFi経由で電源をオフまたはオンにできるようにします。
ソノフとは何ですか?
Un SonoffはWiFiスマートスイッチです 電化製品の電源をリモートでオン/オフできるようにします。 このデバイスを使用すると、自宅やオフィスのWiFiルーターを介してインターネットに接続できます。 ネットワークに接続されている任意のデバイスから、どこからでも、デバイスと対話してデバイスを制御できます。
多くの商用ソノフは AndroidまたはiOS用の独自のアプリ 簡単に制御できます。 たとえば、SonoffBasicにはアプリeWeLinkがあります。 さらに、これらのアプリの多くでは、特定の時間にアクティブになるようにタイマーを構成することもできます。 たとえば、休暇中に家を離れることができるので、ラジオのオンとオフを切り替えたり、ブラインドを上げたり、盗難を防ぐために家が占有されているように見せたりするようにプログラムできます...
さらに、いくつかの商用ソノフは実装します センサーに接続できるように機能します また、温度、音、プレゼンスセンサー、湿度などに応じて、デバイスの電源がオンまたはオフになります。 これは、庭の灌漑システム、家の適切な空調などに役立ちます。 住宅用に設計された一部のモデルでさえ、Amazon Alexa / Echo、GoogleHomeなどと互換性があります。
その他のアドオン
ソノフに加えて、 他のデバイスがあります これは、WiFiソケット、WiFi電球ソケット、WiFiスイッチ、WiFi-RFゲートウェイ、SC-WiFiステーションなど、WiFiリレーまたはソノフを完全に補完するものとして興味を引く可能性があります。
ArduinoとESP8266モジュールで独自のSonoffを作成する(簡単)
非常にシンプルで安価なデバイスであるにもかかわらず、必ずしも購入に興味があるとは限りません。 あなたがメーカーであり、商用のソノフを購入する代わりに、独自のDIYプロジェクトを作成したい場合は、 自分で作成できます。 これは、Arduino用のリレーモジュールとWiFiモジュールを使用することで発生します。 このようにして、プロジェクトを接続し、高電圧デバイスの中断または接続を担当するリレーで操作する準備が整います。
他の可能性は Sonoffをハックする 新しい機能をもたらすためにすでに行われています。 このために、あなたが持っている最良のオプションは イテッド・ソノフ。 たとえば、 製品が見つかりません。、メーカー志向の中国企業のデバイス。 デバイスは非常によく文書化されているため、簡単にハッキングして変更し、プロジェクトに適合させることができます。 ESP8266をベースにすることで、すべてが簡単になり、モバイルデバイス用の独自の制御アプリが含まれます。
Arduinoで簡単なSonoffを作成する
多分それはあなたにとってより簡単になるでしょう Arduinoで独自のSonoffを作成する Iteadのファームウェアを変更する必要があります。 Iteadやその他の既製のデバイスの使用は非常に簡単ですが、それらを使用することからファームウェアを変更することまで、大きな違いがあります。 したがって、Sonoffを自分で作成する簡単な方法に興味があるかもしれません。
何が必要ですか
藤堂 あなたが必要なもの このプロジェクトの場合は次のとおりです。
- Arduino UNO、またはそれはまた別のプレートの価値があるでしょう。
- はんだ付けする場合は、ブレッドボードまたはPCB。
- ESP8266モジュール
- リレーモジュール
- 接続用の配線
- ArduinoIDEとプログラミング用ケーブルを搭載したPC
- WiFi経由で制御したい電気機器
ステップバイステップの構築
始めるために あなたの自家製ソノフを構築するこれに従ってください ステップバイステップガイド:
- すべての要素を取得したら、 回路図面を正しく接続する 写真のように。 私が「デバイス」を置いた場所は、あなたが制御したいものが接続される場所であることを忘れないでください:ストーブ、ファン、テレビ、電球、...そしてプラグはそのデバイスに電力を供給しなければなりません。 ご覧のとおり、行われるのは、デバイスに接続されている導線のXNUMXつを遮断し、リレーを介在させてスイッチとして機能させることです。 接続について質問がある場合は、次のマニュアルを参照してください。
- さて、以下は ArduinoIDEのプログラム それを正しく動作させるために。 初心者の方は、 PDFをダウンロード Arduinoのプログラミングマニュアルのリレーと赤、緑、青のLEDを制御する簡単なコード例は次のとおりです。
#include <SoftwareSerial.h> #define DEBUG true SoftwareSerial esp8266(2,3); void setup() { SSSerial.begin(19200); esp8266.begin(19200); pinMode(10,OUTPUT); digitalWrite(10,LOW); pinMode(11,OUTPUT); digitalWrite(11,LOW); pinMode(12,OUTPUT); digitalWrite(12,LOW); pinMode(13,OUTPUT); digitalWrite(13,LOW); sendData("AT+RSTrn",2000,DEBUG); sendData("AT+CWMODE=2rn",1000,DEBUG); sendData("AT+CIFSRrn",1000,DEBUG); sendData("AT+CIPMUX=1rn",1000,DEBUG); sendData("AT+CIPSERVER=1,80rn",1000,DEBUG); } void loop() { if(esp8266.available()) { if(esp8266.find("+IPD,")) { delay(1000); int connectionId = esp8266.read()-48; esp8266.find("pin="); int pinNumber = (esp8266.read()-48)*10; pinNumber += (esp8266.read()-48); digitalWrite(pinNumber, !digitalRead(pinNumber)); String closeCommand = "AT+CIPCLOSE="; closeCommand+=connectionId; closeCommand+="rn"; sendData(closeCommand,1000,DEBUG); } } } String sendData(String command, const int timeout, boolean debug) { String response = ""; esp8266.print(command); long int time = millis(); while( (time+timeout) > millis()) { while(esp8266.available()) { char c = esp8266.read(); response+=c; } } if(debug) { Serial.print(response); } return response; }
Arduino IDEに接続し、シリアルポートを介してプログラムすると、すべてが正常に機能するはずです。 シリアルモニターを使用することもできますが、iOSまたはAndroid用のよりシンプルなWebインターフェイスまたは小さなアプリを作成する必要があります。 の場合 HTMLコード それはより簡単で、次のようになります。そうすれば、ブラウザからLEDとリレーに接続されたデバイスのオンまたはオフを管理できます。
<html> <head> <title>Control con Sonoff</title> </head> <body> <button id="10" class="led">A</button> <button id="11" class="led">LED AZUL</button> <button id="12" class="led">LED VERDE</button> <button id="13" class="led">LED ROJO</button> <script src="jquery.min.js"> </script> <script type="text/javascript"> $(document).ready(function(){ $(".led").click(function(){ var p = $(this).attr('id'); $.get("http://XXX.XXX.X.X:80/", {pin:p}); }); }); </script> </body> </html>
任意のテキストエディタで記述して、名前を付けて保存できます コントロール.html。 正常に機能するには、http://XXX.XXX.XX:80を次のように置き換える必要があることに注意してください。 あなたの場合の適切なIP、つまり、WiFiネットワーク内のESP8266に割り当てられたもの...一方、デバイスラベルAを使用しているデバイスの名前に置き換えて、より直感的にしたい場合は、お気軽に行ってください。そう ...
このcontrol.htmlをで開くと どのWebブラウザでもSonoffを処理できます。 ボタンをクリックすると、回路がどのように機能するかがわかります。
Sonoffファームウェアの変更(詳細)
実行できる別の操作は、その複雑さのためにほとんどのユーザーには推奨されませんが、変更することです。 Iteadsonoffファームウェア。 それは可能ですが、それは多くのステップを含み、あなたが何をしているのか本当にわからない場合は複雑です。 あなたにアイデアを与えるために、私はあなたが必要とするものと重要なステップ、そしてあなたが重要なステップを読んだ後にあえてする場合のためのファームウェアと完全なガイドへのリンクをあなたに残します...
ESPurnaの使用
何が必要ですか
Itead Sonoffを使用してプログラムするには、 以下のアイテムが必要になります:
- Itead Sonoff WiFi ベーシック
- FTDIまたはTTLアダプターとケーブル(USB /シリアルピン)
- ドライバー
- プロジェクトに必要なその他の要素
- プログラミング用コンピュータ
Itead Sonoff WiFi Basicファームウェアの変更(基本手順)
Itead Sonoffを変更するには、XNUMXつ購入して 次の手順に従ってください:
デバイスを取り扱う前に、デバイスが切断されていることを確認してください。 ネットワークに接続されているときにリレーまたは回路を操作することはお勧めできません。220vのACで作業することになり、低電圧で動作する無害なDC回路ではないためです...
- ソノフからプラスチックキャップを取り外します 内部回路にアクセスできるようにします。 ドライバーを使用して最初にサイドカバーを取り外してから、メインケースのXNUMXつの部分を結合しているジョイントを取り外し可能になるまでこじ開けることができます。
- 目の前の回路を見ると、非常によく区別できます。 ESP8266モジュールのパーツ:
- リレー周辺の電気素子はAC / DCコンバーターからのものです。
- 四角い黒のコンポーネントは、5v(制御部分)と220v(出力)で動作するリレーです。
- 中央にはいくつかのシリアル接続ピンがあります。 それらを使用して、マイクロコントローラーをプログラムしたり、より多くの要素を接続したりできます。 GPIO14では、アクチュエーターまたはセンサーを接続できます。
- ピンの横にプッシュボタンも表示されます。 これを押すと、設定できるモードを変更できます。
- 操作とそのモードまたは状態を示すLED。
- そして、PBCの両端にある10つの緑色のコネクタ。 それらの2,2つは入力であり、もう220つは出力です。 リレーに最も近いのはAC入力、つまりデバイスが電気ネットワークに接続されている場所です。 もうXNUMXつは、オフまたはオンにするデバイスを接続できるコンセントです。 最大XNUMXA、つまりXNUMXvでXNUMXkWの消費をサポートすることを忘れないでください。
- 次に、接続ピンを使用してプログラムをロードします。 彼女のために FTDIまたはTTLが必要になります、これらのピンをコンピューターのUSBに接続できます。 ただし、接続する以外に、統合マイクロコントローラーにはUARTモードとFLASHモードの0つの動作モードがあることを覚えておく必要があります。 UARTモードでは、プログラムとFLASHをロードして実行できます。 プログラムを記述できるようにUARTモードに移行するには、GPIO2(LOW)ピンとGPIO3(HIGH)ピンを特定の状態にする必要があります。 プログラムは、RXおよびTXとマークされたピンを介してロードされます。 もちろん、3v0とGNDの電源ピン、GPIO13プッシュボタン、LEDまたはGPIO12、およびGPIOXNUMXのリレーも使用する必要があります。
- 正しく接続し、USBケーブルでPCに接続したら、プログラミング自体から始めることができます。 覚えておいてください FTDIはRX接続とTX接続を交差させる必要がありますつまり、IteadからTXへのRXとFTDIからのTX、またはその逆です。
- 後で、それは使用の問題になります Arduino IDE 実行する制御に必要なコードを作成します(記録するマイクロコントローラーデバイスとしてESP8266ボードを選択する必要があります)。 それはまたあなたを助けることができます XosePérezによって開発されたファームウェア。 それはESPurnaと呼ばれています そしてそれはSonoffWiFiに固有のものです。 そのコントロールパネルを使用すると、ネットワークとセキュリティのパラメータを制御できます。
- 結局、あなたがすでにそれを持っているとき、あなたはピンを返すことができます GPIO0およびGPIO2から高高状態へ それぞれフラッシュモードに戻り、プログラムを実行します。
- 終了したら、次のことができます Sonoffで正しい接続を行う 必要なデバイスを接続して電力を供給します。 アプリからあなたはすべてを制御することができます...
詳しくは - 簡単なプログラミング
Tasmotaの使用
ESPurnaの代わりにTasmotaでそれを行うには、 一般的な手順 そうするために彼らはそうなるでしょう:
- 前のケースと同様に、最初にIteadSonoffのケースを開く必要があります。
- 次に、配線またはピンをはんだ付けして、電源接続とUSB-UARTTTLアダプターを作成できるようにする必要があります。
- Arduino IDEに移動し、ツールで、代わりにESP8266ボードを選択する必要があります Arduino UNO またはデフォルトで持っているもの。 新しいボードをインストールします。
- 現在 Tasmotaをダウンロード ArduinoIDEと統合するために適切にインストールします。
- 今こそ、プロジェクトを必要に応じてプログラムおよび構成し、マザーボードに保存するときです。完了したら、ESPurnaの場合と同様に、コンポーネントをソノフに接続できます。
詳しくは - ホームオートメーション
Webサーバーが機能せず、ブラウザに読み込まれません。
ホラファン、
あなたがあなたのウェブブラウザにIPを置くときということですか? ローカルネットワーク内で正しいIPを設定したことを確認しましたか? パブリックIPは無効です。 それはsonoffに割り当てられたものでなければなりません。 さらに、htmlコードでは、Xを適切なIPに置き換える必要もあります。
挨拶!
実際、私は両方を実行しましたが、ブラウザーにIPをロードすると、接続に失敗します。 また、Webサーバーを実行すると、ボタンの形式ではなく、テキストで読み込まれます。
ホラファン、
それは私にとって正しく機能します、なぜそれがあなたに起こるのか分かりません...
調査し、問題が見つかった場合はお知らせします。
ご挨拶とお読みいただきありがとうございます
こんにちは、
私たちが持っているライブラリでは、ATコードを使用していることを理解していません…。
また、この記事の焦点であるESP8266のWIFIモードを使用していることもわかりません。
より明確で明確な例を挙げれば、プロジェクトが理解できることがわかります。
挨拶。
忘れてた、
必要なものがリレーである場合、ESP8266はそれ自体を制御します。ファームウェアをロードする場合は、Arduinoを使用します。
別の挨拶。
私はあなたのすべてのステップに従いましたが、それは私にはうまくいきません、私のESP8266に与えられたIPが何であるかを知る方法