まず、ハードウェアの準備
ESP8266 2にUSB、DHT11温度と湿度センサー、/ ESP8266-01 1 ESP8266-01(少数を購入後、学習、もし違いESP-01 / ESP-01Sの)
ESP8266説明にUSB:なぜ2を買います
第二に、ソフトウェア準備
アルドゥイーノ、(MQTTサーバーは、ローカルに配置することができているか、リモートサーバー上に配置することができます)EMQX、MQTTBox(MQTTクライアントプログラム)、それはWindowシステムであれば、その後、関連するUSBドライバをインストールします。
第三に、以下の方法をご紹介しEMQXインストールは、リモート・サーバーにデプロイされます。
第四に、インストールのArduino IDE
ESP8266の5、コンフィギュレーションのArduino IDE開発環境
第六に、ESP-01と接続されているDHT11
セブンコードを書くためのArduino IDEを開きます
それはローカルMQTTサーバーであれば、名前のWi-FiとのWi-Fiパスワードを変更するために注意を払って、その後、アドレス127.0.0.1に記入
書式#include <SimpleDHT.h> 書式#include <ESP8266WiFi.h> 書式#include <PubSubClient.h> int型 pinDHT11 = 2 ; // GPIO2 ESP8266ののconst のchar *のSSID = " XXXXX " ; // モバイルのWi-Fiホットスポットのconst のchar * =パスワード" XXXX " ; // 電話のWi-Fiパスワードのconst のchar * mqtt_server = " XXXXXXX " ; // サーバーのURLまたはIPアドレス// constの文字列MACADDRESS = WiFi.macAddress(); // char *クライアントID macAddress.c_str =一定(); // MACアドレス のconst のchar *クライアントID = " ESP8266_01_A " ; // 接続MQTTのユーザー名 WiFiClient espClient; PubSubClientクライアント(espClient); SimpleDHT11 DHT11(pinDHT11); ロング lastMsg = 0 ; チャー MSG [ 50 ]; int型値= 0 ; ボイドセットアップ(){ // pinMode(BUILTIN_LED、OUTPUT); // 出力ピンはBUILTIN_LED初期化さ Serial.begin(115200 ); setup_wifi()。 client.setServer(mqtt_server、1883 ); client.setCallback(コールバック); } 無効setup_wifi(){ ディレイ(10 ); WiFi.begin(SSID、パスワード); // 私たちはに接続するためのWiFiネットワークからの起動 中(WiFi.status()!= WL_CONNECTED) { 遅延(500 ); } Serial.println(" 接続された無線LAN " ); } /// フィードバックが受信 無効にコールバック(CHAR *トピック、バイト・ペイロード、符号なし整数の長さ){ Serial.printは(" メッセージ[到着" ;(; Serial.print(トピック)Serial.print)" ] " ;) のために(int型 I = 0を Iは、長さを<; Iは++ ){ Serial.print((CHAR ペイロード[I])); } } 無効再接続(){ // 我々が再接続するまでループを しながら(!client.connected()){ IF(client.connect(クライアントIDを)){ // 接続 Serial.print(" MQTT成功した接続"); // 接続MQTT成功 // client.publish( "ESP_01テーマ"、 "こんにちは、世界"); //接続後、発表... client.subscribe(" ESP_01テーマ"); // 接続したら、トピックを投稿 } 他{ 遅延(5000); // 5秒間待ってからもう一度試してください } } } 空ループ(){ IF(!{client.connected()) 再接続(); } client.loop(); ////// //温度と湿度 バイト =温度0 ; バイト湿度= 0 ; int型 ERR = SimpleDHTErrSuccess。 もし(!(ERR = dht11.read(&温度、湿度&、NULL))= SimpleDHTErrSuccess){ Serial.print(" DHT11が失敗した読み取り、=誤ります"); Serial.println(ERR);遅れ(1000年)。 返します。 } 文字列TMP = " 温度:"。 // 字符串拼接 TMP + = 文字列(温度)。 TMP + =文字列(" 湿度:" )。 TMP + = 文字列(湿度)。 Serial.print((int型)温度)。Serial.print(" * C、"); Serial.print((INT)湿度); Serial.println(" H " ); client.publish(" ESP_01テーマ"、tmp.c_str())。// テーマ送信 遅延(2000 ); ////// //温度と湿度を }
八、燃焼プロセス
以上の修理されたコンピュータに接続されたUSB接続のESP8266 ESP-01、火傷する準備ができて。
IDEの左上隅をクリックして書き込みを開始するには、矢印。
九、テストプログラム
ESP8266良い火傷は、USB-ESP8266に添付、テイクダウンコンバータを変更しない動作状態を確認するために、アイコンIDEの右上隅を開くには、コンピュータにオーバー。
テン、オープンMQTTBox加入ESP_01テーマ