さまざまなメーカーの多くのWiFiプラグが市場に存在しています。 Luminea ZX-2820を使用することにしました。購入後、ネジがなく、ハウジングが接着されているため、このプラグを開くことが困難であることが判明したため、別のものを購入した方が良いでしょう。しかし、わかりました、あなたはジョイントを切って、大きなダムをせずにハウジングを慎重に開くためにナイフが必要です。内部的には、ESP8285/ESP8266モジュール(Tuya Tywe2s)があり、PCB上の利用可能なパッドと簡単に再フレーズできます。また、電圧、電流、異なるパワータイプ、消費エネルギーを測定できるインテリジェントな単相エネルギーメーターICもあります。また、中国のMQTTクラウドを使用する元のファームウェアを取り除くのは良い気持ちです。代わりに、私のソフトウェアは地元の自己維持MQTTブローカーに接続します(私からの他のプロジェクトを参照)。
ハードウェアは、市販の製品Luminea ZX-2820です。 Pearl(https://www.pearl.de/a-zx2820-3103.shtml)およびAmazon(https://www.amazon.de/--/-/ en/lumume-home-control-elesion-socket/dp/b078159rf6?lulangage=de_de)によって販売されています。 
PCBに座っているESP8285(Tuya Tywe2s)モジュールがあります。実際、それは内部フラッシュ(1mbyte)を備えたESP8266です。次の表は、GPIOとその機能の間の割り当てを示しています。
| 信号 | Tywe2s | タイプ |
|---|---|---|
| ボタン | GPIO3 | 入力 |
| BL0937 CF | GPIO4 | 割り込み |
| BL0937 CF1 | GPIO5 | 割り込み |
| BL0937 SEL | GPIO12 | 出力 |
| 導かれた | GPIO13 | 出力 |
| rel | GPIO14 | 出力 |

この単相エネルギーメーターは、非常に人気のあるHLW8012と非常によく似ていますが、少なくともピン互換です。データシートを比較することで、いくつかの大きな違いがあります。 https://github.com/xoseperez/hlw8012からドライバーコードを取得し、メインプログラムの横で見つけることができるBL0937に移植しました。最も重要な変化が影響を受けました
シリアルヘッダー(3.3V、RXD、TXD、GND)、およびGPIO0およびリセット(IO0、RST)は、PCBの裏側とTuya Tywe2Sモジュール自体にテストパッドとして入力されます。シリアルヘッダーにアクセスしていくつかのケーブルをはんだ付けするには、小さな穴をハウジングにカットする必要があります(ホット接着剤で穴を再び閉じることができます)。フラッシュプロセス用にワイヤを固定するためにはんだを簡単に追加できます。 ESP8266チップのシリアルプログラミングインターフェイスに接続する必要があります。これは、シリアル間USBコンバーター(FT232Rなど)Tx、RX、3.3V、およびGNDピンをESP8266 RX、TX、3.3V、GNDピン(クロス接続!)に接続することによって行われます。 5Vではなく3.3V電圧を供給するように、シリアル間コンバーターを再確認してください。 5VはESPチップを損傷します! 
ボードを初めてフラッシングモードにするには、IO0(GPIO0)をGNDに短縮する必要があります。これは、フラッシュが進行中に短絡のままになる可能性がありますが、その後フラッシュしたソフトウェアを起動するためにショートを削除する必要があります。初めてフラッシュしてフラッシュしたソフトウェアがブーツを上げる場合、空中とwifiが簡単にリフラッシュできます。 Arduino IDEはこの機能をサポートしており、ソフトウェアのダウンロード用のUARTチャネルの代わりにプラグのIPアドレスを選択できます。 OTAのパスワードはesp8266です。 OTAによる成功したフラッシュプロセスは、その後、高速LED切り替えによって示されます。 
Lolin(Wemos) D1 mini Lite Boardを選択しますAsync MQTT clientライブラリをインストール:https://github.com/marvinroger/async-mqtt-client/archive/master.zipAsync TCPライブラリをインストールしてください:https://github.com/me-no-dev/espasynctcp/archive/master.zipArduinoOTAライブラリをインストールします。構成は、WifimanagerのWebフロントエンドで完全に実行されます。最初の起動時に、ソフトウェアはアクセスポイントモードで起動します。このモードでは、次のようなパラメーターを構成できます
これらの設定が保存された後、次の起動により、ソフトウェアは通常の操作モードにブーツを入れ、WiFiおよびMQTTブローカーに接続します。ブローカーへの接続の成功は、LEDをオンにすることで示されます。 Wifimanager構成メニューを再度入力すると、ソフトウェアの起動中に押したボタンを押してください。
ソフトウェアはMQTTトピックに加入します。このトピックでは、ZX-2820のRelais状態を変更し、消費されたエネルギーをリセットできます。ソフトウェアは、3秒ごとに、電圧、電流、アクティブパワー、反応力、見かけの出力、消費エネルギーの新しいサンプリング値を公開します。また、このソフトウェアは、電力損失、WIFI損失、またはMQTTブローカーの利用不能の場合、WiFiおよびMQTTブローカーへの再接続をサポートします。 MQTTトピックは、デバイス固有のMac-Address文字列から始まります(例として、次の「A020A600F73A」)。これは、衝突を避けるためにMQTTクラウドに複数のコントローラーを持っている場合に役立ちます。
サブスクライブトピック:
トピックを公開:
オープンした住宅: 
PCB上のTYWE2SおよびBL0937モジュール: