ArduinoのIDEは、ESP-01S / ESP-01 IOT実際の検出温度と湿度アップロードサーバMQTT開発しました

まず、ハードウェアの準備

ESP8266 2にUSB、DHT11温度と湿度センサー、/ ESP8266-01 1 ESP8266-01(少数を購入後、学習、もし違いESP-01 / ESP-01Sの

ESP8266説明にUSB:なぜ2を買います

第二に、ソフトウェア準備

アルドゥイーノ、(MQTTサーバーは、ローカルに配置することができているか、リモートサーバー上に配置することができます)EMQX、MQTTBox(MQTTクライアントプログラム)、それはWindowシステムであれば、その後、関連するUSB​​ドライバをインストールします。

第三に、以下の方法をご紹介しEMQXインストールは、リモート・サーバーにデプロイされます。

MQTTサーバーの設定

第四に、インストールの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テーマ 

 

 

おすすめ

転載: www.cnblogs.com/easyidea/p/11568386.html