<noscript id="mmkmi"><source id="mmkmi"></source></noscript>
  • <noscript id="mmkmi"><kbd id="mmkmi"></kbd></noscript>
  • <table id="mmkmi"><source id="mmkmi"></source></table>
  • 用匯思銳底板Airkiss 和Esptouch配置鏈接貝殼遠程開關

    作者:peter | 更新時間:2017-04-23 | 瀏覽量:2977

    在貝殼網站上申請了一片匯思銳的8266開發底板

    首先下載樂鑫的固件然后按照下圖燒寫固件

    打開匯思銳調試工具,按照上面一步一步設置

    點擊airkiss 按鈕進入airkiss 配網模式。

    進入樂鑫信息科技公眾號,進行配置

    鏈接后串口調試圖,這樣你的網絡就鏈接到了WIFI上了,上電制動鏈接WIFI

    Esptouch配置和Airkiss差不多,請自已摸索下。接下來就是下載程序了,

    首先需要你自已搭建好ARDUINO的IDE編譯環境(版本165以上可以編譯ESP8266就可以),不會的請在貝殼網上看其他朋友的帖子,也可以百度。

    下面是用貝殼的例程程序(開關),可以在貝殼網上下載,修改自已的KEY和設備號,燒寫到ESP8266就OK了.

    ==========================================================

    #include
    #include
    //宏定義 使用于nodemcu板
    #ifdef NODEMCU
    #define D0  16
    #define D1  5
    #define D2  4
    #define D3  0
    #define D4  2
    #define D5  14
    #define D6  12
    #define D7  13
    #endif
    //=============  此處必須修該============
    String DEVICEID="xxx"; // 你的設備編號   ==
    String  APIKEY = "xxxx"; // 設備密碼==
    //=======================================
    unsigned long lastCheckInTime = 0; //記錄上次報到時間
    const unsigned long postingInterval = 40000; // 每隔60秒向服務器報到一次const char* host = "www.eqytg.org";
    const int httpPort = 8181;
    int pins[1]={D1};
    //int pins[4] = {D5,D6,D7,D1};//LED引腳配置
    int state[1] = {HIGH};//上電輸出高電平
    //int state[4] = {HIGH,HIGH,HIGH,HIGH};//上電輸出高電平
    int arr_len = sizeof(pins)/sizeof(pins[0]);

    void setup() {
      Serial.begin(115200);
      delay(1000);
    //默認輸出關閉電頻
      for(int i=0;i     pinMode(pins[i], OUTPUT);
        digitalWrite(pins[i], state[i]);
      }
      
    }

    WiFiClient client;

    void loop() {

      while (WiFi.status() != WL_CONNECTED) {
        delay(1000);
        Serial.print(".");
      }

      // Use WiFiClient class to create TCP connections
      if (!client.connected()) {
        if (!client.connect(host, httpPort)) {
          Serial.println("connection failed");
          delay(5000);
          return;
        }
      }

      if(millis() - lastCheckInTime > postingInterval || lastCheckInTime==0) {
        checkIn();
      }
     // Read all the lines of the reply from server and print them to Serial
      if (client.available()) {
        String inputString = client.readStringUntil('\n');
        inputString.trim();
        Serial.println(inputString);
        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);          
        }
      }
    }

    void processMessage(aJsonObject *msg){
      aJsonObject* method = aJson.getObjectItem(msg, "M");
      aJsonObject* content = aJson.getObjectItem(msg, "C");     
      aJsonObject* client_id = aJson.getObjectItem(msg, "ID");
      if (!method) {
        return;
      }
        String M = method->valuestring;
        if(M == "say"){
          String C = content->valuestring;
          String F_C_ID = client_id->valuestring;
          if(C == "play"){
            for(int i=0;i          
              state[i] = LOW;
              digitalWrite(pins[i], state[i]);
            }
            sayToClient(F_C_ID,"LED All on!");    
          }else if(C == "stop"){
            for(int i=0;i           state[i] = HIGH;
              digitalWrite(pins[i], state[i]);
            }
            sayToClient(F_C_ID,"LED All off!");    
          }
         /* else{
            int pin = C.toInt();
            if(pin > 0 && pin <= arr_len){
              pin--;
              state[pin] = !state[pin];
              digitalWrite(pins[pin], state[pin]);
            }
            sayToClient(F_C_ID,"LED pin:"+pin); 
          }*/
        }
    }

    void checkIn() {
        String msg = "{\"M\":\"checkin\",\"ID\":\"" + DEVICEID + "\",\"K\":\"" + APIKEY + "\"}\n";
        client.print(msg);
        lastCheckInTime = millis(); 
    }

    void sayToClient(String client_id, String content){
      String msg = "{\"M\":\"say\",\"ID\":\"" + client_id + "\",\"C\":\"" + content + "\"}\n";
      client.print(msg);
      lastCheckInTime = millis();
    }

    ==========================================================

    最后說下,用貝殼的遙控命令是play(開),stop(關).沒找到可以上傳附件的按鈕,第一次發貼,還不熟悉

    需要附件和更多的資料可以加圖片上的匯思銳QQ群,哪里都有,我只是把自已的一些不成熟的經驗和大家分享下。

     


    評論:共2條

    貝殼物聯 評論于:2017-01-13 19:25:30
    上傳在編輯界面,點超鏈接按鈕,然后點上傳文件選項,要建一個超鏈接指向所上傳的文件,方便別人進行下載。
    斜陽 評論于:2017-01-17 09:26:55
    謝謝分享!
    返回頂部
    <noscript id="mmkmi"><source id="mmkmi"></source></noscript>
  • <noscript id="mmkmi"><kbd id="mmkmi"></kbd></noscript>
  • <table id="mmkmi"><source id="mmkmi"></source></table>
  • 三上悠亚在线观看