国内综合精彩aⅤ无码不卡_日本少妇做爰全过程_欧美性爱在线播放免费_午夜?V日韩一区二区_免费a级毛片无码免费播放_成在人线av无码喷水_亚洲精品网站色视频_国产婷婷精品成人_老师撩起裙子让我桶的视频_秋霞影院国产

8266+貝殼+小度 修改后可以控制,但是延時很嚴重

作者:yjf | 更新時間:2020-12-25 | 瀏覽量:1308

#include <ESP8266WiFi.h>
 WiFiClient client;
const int relay1 =D3;//#define relay1 D3(原來的代碼不行,改了就可以控制了)//LED連接在8266的GPIO2上
const char *ssid     = "*****";//這里是我的wifi,你使用時修改為你要連接的wifi ssid
const char *password = "*******";//你要連接的wifi密碼
const char *host = "121.42.180.30";

void setup() {
  Serial.begin(115200);
  delay(10);
  pinMode(relay1,OUTPUT);
  // We start by connecting to a WiFi network

  Serial.println();
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);
  
  WiFi.begin(ssid, password);
  
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  Serial.println("");
  Serial.println("WiFi connected");  
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
  const int httpPort =8181;
  if (!client.connect(host, httpPort)) {
    Serial.println("connection failed");
    return;
  }
  Serial.print("connecting to ");
  Serial.println(host);
  client.write("{\"M\":\"checkin\",\"ID\":\"****\",\"K\":\"****\"}\r\n");//登陸設備,修改成自己的ID和key
  delay(10);
}

void loop() {
 char valueread;
      while(client.available()){
      String line = client.readStringUntil('\r');
     Serial.print(line);
     int i;     
     for(i=0;i<=150;i++)
     { 
      if((line[i]=='s') &&( line[i+1]=='t'))//這里需要修改為stop才可以控制
      {  
        digitalWrite(relay1,HIGH);
        client.write("{\"M\":\"say\",\"ID\":\"ALL\",\"C\":\"LED1 is on\",\"SIGN\":\"ok\"}\r\n");        
        }

         if((line[i]=='p') && (line[i+1]=='l'))//這里需要修改為Play才可以控制
      {  
        digitalWrite(relay1,LOW);
        client.write("{\"M\":\"say\",\"ID\":\"ALL\",\"C\":\"LED1 is off\",\"SIGN\":\"ok\"}\r\n");  
       }
  
     
     }   
  }
  client.write("{\"M\":\"say\",\"ID\":\"*****\",\"C\":\"123456\"}\r\n");//修改自己的ID,向設備發(fā)送信息,防止掉線
  delay(2000);
}

 

開始使用網(wǎng)站的代碼一直不行,研究好久改了幾個地方可以控制了,但是現(xiàn)在有個問題,控制延時5秒左右,不知道是什么情況,請大家參謀參謀。。。謝謝嘻嘻嘻


評論:共4條

貝殼物聯(lián) 評論于:2020-12-26 21:26:37
整個loop不要delay(2000),太長,心跳間隔通過millis()函數(shù)差值控制。
貝殼物聯(lián) 評論于:2020-12-26 21:27:50
譬如:
void loop() {

delay(5);
//定時檢查在線狀態(tài),兼做心跳
if (millis() - lastCheckStatusTime > statusInterval) {
checkStatus();
}
//定時上傳光照數(shù)據(jù)
if (millis() - lastUpdateTime > updateInterval) {
int sensorValue = analogRead(sensorPin);
sensorValue = map(sensorValue, 0, 512, 0, 100);
update1(DEVICEID, INPUTID, sensorValue);
lastUpdateTime = millis();
}
//監(jiān)聽esp01s透傳過來的服務器指令
if (Serial.available()) {
String wifiInputString = Serial.readStringUntil('\n');
processWifiMessage(wifiInputString);
}
}
yjf 評論于:2020-12-30 11:46:49
謝謝老板,我試試 ,,但是我前面試過把delay(2000)刪除也還是延時5秒
wangplus 回復于:2021-04-26 18:16:16
回復 @yjf:想法反饋調(diào)試信息,確認程序確實更新了。
返回頂部