材料の準備:
1.220V、5V変圧器を回します
2.Esp8266リレーモジュール(フォトカプラは、以下に、白の3つのバーで印刷テープでなければなりません)
3.Esp01
4.220v国内の電力、5Vの学習ランプ、esp01バーナーと少量デュポンライン
物理的地図:
具体的な配線:
(1)220V変圧器が上記被写体を有する三のプラグは地面の二つの色、トランスの接地接続、ゼロラインを有しているにかかわらず、火災の行の、とすることができます
(2)リレー接続
リレーの電源
正極1.VCC 5Vに接続された変圧器
2.GNDタップ変圧器、5Vマイナス
パワーリレー制御
正極1.COM 5Vに接続された変圧器
2.NO陰極ランプまたはNC接点ラーニング
トランス5Vに接続された光負極を学びます
プログラミングコード:
書式#include <ESP8266WiFi.h> 書式#include <PubSubClient.h> int型トウ= 0 ; // IO14(D5) のconst のchar * SSID = "WIFIの名前" ; のconst のchar *パスワード= "パスワードWIFI " ; constの char型 * = mqtt_server "IPアドレス" ; // 使用HIVEMQ情報転送サービス のconst のchar * TOPIC = "テーマ" ; //は、メッセージの件名をサブスクライブ のconst のchar *のclient_id = "いいえ" ; //現在のクライアントデバイスID識別 WiFiClient espClientを; // 定義wifiClient例 PubSubClientクライアント(espClient); // PubSubClient例定義 ロング lastMsg = 0 ; // 長に記録された送信情報一度 ボイドセットアップ(){ pinMode(トウを、出力); // LED出力モード搭載定義 Serial.begin(115200 ); setup_wifi(); //は、無線LANの初期実行は、そこに具体的に説明されています client.setServer(mqtt_server、1883); // セットポートMQTTサーバーと使用ポート1883デフォルトMQTTある client.setCallback(コールバック); // セットのコールバックESP8266を受信したときに、サブスクリプション・メッセージがこれを呼び出します方法 } ボイドsetup_wifi(){ ディレイ(10 ); // 電源ボード後に基板が点灯するように少し待って、開始する Serial.printlnを(); Serial.print(" 接続する" ); Serial.println(SSID)。 WiFi.begin(SSID、パスワード); WiFi.mode(WIFI_STA); しばらく(WiFi.status()!= WL_CONNECTED){ 遅延(500 ); Serial.print(" " ); } Serial.println("" )。 Serial.println(「Wi-Fiが接続されました」)。 Serial.println(" IPアドレス:" ); Serial.println(WiFi.localIP())。 } ボイドコールバック(CHAR *トピック、バイト・ペイロード、符号なし整数の長さ){ Serial.print(" メッセージ[到着" )。 Serial.print(トピック)。 // 打印主题信息 Serial.print(" ] " ); について(INT I = 0 ; I <長さ、I ++ ){ Serial.print((CHAR)ペイロード[I]); // プリント主題 } Serial.println(); IF((CHAR)ペイロード[ 0 ] == ' 0 ' ){ digitalWrite(小平、0); // 点灯 Serial.println(" 持っている光を" ); } 他{ digitalWrite(小平、1); //は点灯 Serial.printlnを("ライトを持っている" ); } } 無効に再接続(){ 中(!Client.connected()){ Serial.print(" MQTT接続を...しよう" ); // 接続を試み IF (client.connect(CLIENT_ID) ){ Serial.println(" 接続" ); //はトピック成功接続購読 client.subscribe(トピック); } 他{ Serial.print(" 失敗し、RC = " ); Serial.print(client.state()) ; Serial.println("5秒後にもう一度試して" ;) // 再試行する前に5秒待って (遅延5000 ;) } } } 空ループ(){ 場合(!client.connected()){ 再接続(); } ()client.loop; 長いです今= ミリ秒(); もし(現在- lastMsg> 2000 ){ lastMsg = 今; client.publish(" 自宅/ステータス/ "、" {デバイス:CLIENT_ID、 'ステータス'} 'で' " ); } }
成功しEsp01がリレーモジュールに挿入された燃焼後のマイクロチャネル制御アプレット(私の他のブログうちの小さなマイクロチャネルプログラムコードチェック)で電力供給を受けることができ