<em id="ri2my"></em>
  • <em id="ri2my"></em>
    <em id="ri2my"><label id="ri2my"><nav id="ri2my"></nav></label></em>
  • <em id="ri2my"><label id="ri2my"></label></em>
    <div id="ri2my"></div>
    1. <em id="ri2my"><label id="ri2my"></label></em>
    2. <em id="ri2my"><ol id="ri2my"></ol></em>
      <em id="ri2my"></em>

      1. MWELCOME TO BIGIOT很穩,但是設備一直顯示不在線

        作者:MarkBlain | 更新時間:2017-12-25 | 瀏覽量:2178

        ESP8266遠程控制LED,按照例程操作后,串口一直正常顯示{"M":"WELCOME TO BIGIOT"},但是網頁端“智能設備”一直顯示“不在線”。很蛋疼。求助啊!!


        評論:共10條

        貝殼物聯 評論于:2017-12-25 07:56:18
        顯示{"M":"WELCOME TO BIGIOT"}說明與服務器建立了聯系,但是并沒發送正確的登錄信息,告訴服務器是誰連接上來了。
        MarkBlain 回復于:2017-12-25 09:34:27
        回復 @貝殼物聯:
        我用的是《遠程控制通訊——基于Arduino + ESP8266控制LED燈并返回控制結果》的源碼,希望能看一下,感激不敬!!!!
        /*
        
        *注意 :Arduino IDE版本請使用1.6.5-1.8.2
        */

        #include <aJSON.h>
        //============= 此處必須修該============
        String DEVICEID="1"; // 這里已經改成服務器端ID ========
        String APIKEY="493822592"; // 這里也改成服務器端密碼========
        //=======================================
        const int LED = 4;// LED正極連接針腳4
        unsigned long lastCheckInTime = 0; //記錄上次報到時間
        const unsigned long postingInterval = 40000; // 每隔40秒向服務器報到一次
        String inputString = "";
        boolean stringComplete = false;
        boolean CONNECT = true;
        char* parseJson(char *jsonString);
        void setup() {
        pinMode(LED, OUTPUT);
        Serial.begin(115200);
        delay(5000);
        }
        void loop() {
        if(millis() - lastCheckInTime > postingInterval || lastCheckInTime==0) {
        checkIn();
        }
        serialEvent();
        if (stringComplete) {
        inputString.trim();
        //Serial.println(inputString);
        if(inputString=="CLOSED"){
        Serial.println("connect closed!");
        CONNECT=false;
        }else{
        int len = inputString.length()+1;
        if(inputString.startsWith("{") && inputString.endsWith("}")){
        char jsonString[len];
        inputString.toCharArray(jsonString,len);
        aJsonObject *msg = aJson.parse(jsonString);
        processMessage(msg);
        aJson.deleteItem(msg);
        }
        }
        // clear the string:
        inputString = "";
        stringComplete = false;
        }
        }
        void checkIn() {
        if (!CONNECT) {
        Serial.print("+++");
        delay(500);
        Serial.print("\r\n");
        delay(1000);
        Serial.print("AT+RST\r\n");
        delay(6000);
        CONNECT=true;
        lastCheckInTime=0;
        }
        else{
        Serial.print("{\"M\":\"checkin\",\"ID\":\"");
        Serial.print(DEVICEID);
        Serial.print("\",\"K\":\"");
        Serial.print(APIKEY);
        Serial.print("\"}\r\n");
        lastCheckInTime = millis();
        }
        }
        void processMessage(aJsonObject *msg){
        aJsonObject* method = aJson.getObjectItem(msg, "M");
        aJsonObject* content = aJson.getObjectItem(msg, "C");
        aJsonObject* client_id = aJson.getObjectItem(msg, "ID");
        //char* st = aJson.print(msg);
        if (!method) {
        return;
        }
        //Serial.println(st);
        //free(st);
        String M=method->valuestring;
        String C=content->valuestring;
        String F_C_ID=client_id->valuestring;
        if(M=="say"){
        if(C=="play"){
        digitalWrite(LED, HIGH);
        sayToClient(F_C_ID,"LED on!");
        }
        if(C=="stop"){
        digitalWrite(LED, LOW);
        sayToClient(F_C_ID,"LED off!");
        }
        }
        }
        void sayToClient(String client_id, String content){
        Serial.print("{\"M\":\"say\",\"ID\":\"");
        Serial.print(client_id);
        Serial.print("\",\"C\":\"");
        Serial.print(content);
        Serial.print("\"}\r\n");
        lastCheckInTime = millis();
        }
        void serialEvent() {
        while (Serial.available()) {
        char inChar = (char)Serial.read();
        inputString += inChar;
        if (inChar == '\n') {
        stringComplete = true;
        }
        }
        }
        貝殼物聯 回復于:2017-12-25 11:12:22
        回復 @MarkBlain:示例代碼看不出問題來
        MarkBlain 回復于:2017-12-25 14:39:33
        回復 @貝殼物聯:能否告知一下測試方法或技術文檔,謝謝!
        hzc1111 評論于:2018-02-24 01:56:01
        同樣出現此問題+1
        MarkBlain 回復于:2018-02-26 09:05:58
        回復 @hzc1111:我調通了。你將心跳包延時改為2000.同時注意ESP8266干電池3v(兩節干電池)供電
        hzc1111 回復于:2018-02-27 05:15:34
        回復 @MarkBlain:我的其實也沒問題,原來是我把設備ID填錯了笑哭了 笑哭
        shannon 評論于:2018-02-24 22:22:27
        同問+1
        ericsma 評論于:2018-03-16 17:40:10
        刷個分?
        13682710810 評論于:2020-03-12 21:45:27
        很玄學,試了很久突然就好了。官網代碼改了一些
        返回頂部

        <em id="ri2my"></em>
      2. <em id="ri2my"></em>
        <em id="ri2my"><label id="ri2my"><nav id="ri2my"></nav></label></em>
      3. <em id="ri2my"><label id="ri2my"></label></em>
        <div id="ri2my"></div>
        1. <em id="ri2my"><label id="ri2my"></label></em>
        2. <em id="ri2my"><ol id="ri2my"></ol></em>
          <em id="ri2my"></em>

          1. 免费高清视频