<noscript id="mmkmi"><source id="mmkmi"></source></noscript>
  • <noscript id="mmkmi"><kbd id="mmkmi"></kbd></noscript>
  • <table id="mmkmi"><source id="mmkmi"></source></table>
  • 關于esp8266 arduino 遠程遙控led的問題

    作者:史濮瑜 | 更新時間:2016-06-12 | 瀏覽量:2248

    有一個問題,就是在kaiguang的代碼中,沒有顯示模塊鏈接主機的代碼啊·····求解答


    評論:共3條

    貝殼物聯 評論于:2016-06-12 12:45:50
    是透傳那個嗎?透傳成功就自動連接了
    smart_tian 評論于:2016-06-20 17:12:27
    /**
    *ESP8266透傳自動設置程序(固件版本v1.0+)
    *功能:自動設置ESP8266進入透傳模式,并重啟自動連接貝殼物聯平臺。
    *By 貝殼物聯 2016.3.7
    *貝殼物聯:http://www.eqytg.org
    *ESP8266購買地址:https://item.taobao.com/item.htm?id=525028089592
    ESP8266=====>>Arduino
    VC==========>>3.3v
    gnd==========>>gnd
    RXD==========>>TX
    TXD==========>>RX
    */
    //設置模擬串口針腳(RX, TX)
    //============= 此處必須修改===================
    #include <aJSON.h>
    //============= 此處必須修該============
    String DEVICEID="77"; // 你的設備編號 ==
    String APIKEY="fbab5bde8"; // 設備密碼==
    //=======================================
    const int LED = 13;// LED正極連接針腳4
    unsigned long lastCheckInTime = 0; //記錄上次報到時間
    const unsigned long postingInterval = 40000; // 每隔40秒向服務器報到一次
    String inputString = "";
    boolean stringComplete = false;
    boolean CONNECT = true;
    char* parseJson(char *jsonString);
    String WiFiSSID = "TP-LINK_76FC";//填寫路由器名稱=======
    String WiFiPASSWORD = "%tianjuntangqili";//填寫WiFi密碼===
    //==============================================
    int flag = 0;
    void setup() {
    pinMode(LED, OUTPUT);
    Serial.begin(115200);
    delay(5000);
    }
    void loop() {
    if(flag == 0){

    //ESP8266通電啟動等待
    delay(10000);

    //如果是透傳模式,退出透傳

    Serial.print("+++");
    delay(1000);
    Serial.print("AT\r\n");
    delay(1000);

    //關閉回顯命令
    Serial.print("ATE0\r\n");
    delay(1000);

    //設置WiFi應用模式為兼容模式

    Serial.print("AT+CWMODE=3\r\n");
    delay(2000);

    //連接到無線路由器

    Serial.print("AT+CWJAP=\"");
    Serial.print(WiFiSSID);
    Serial.print("\",\"");
    Serial.print(WiFiPASSWORD);
    Serial.print("\"\r\n");
    delay(20000);//此處需根據路由器連接速度設置delay的時間,可適當加長

    //設置為單連接
    Serial.print("AT+CIPMUX=0\r\n");
    delay(1000);

    //設置模塊傳輸模式為透傳模式

    Serial.print("AT+CIPMODE=1\r\n");
    delay(1000);

    //連接貝殼物聯服務器

    Serial.print("AT+SAVETRANSLINK=1,\"121.42.180.30\",8181,\"TCP\"\r\n");
    delay(20000);//此處需根據網路連接速度設置delay的時間,可適當加長

    //重啟

    Serial.print("AT+RST\r\n");
    flag=1;
    }

    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=="on"){
    digitalWrite(LED, HIGH);
    sayToClient(F_C_ID,"LED on!");
    }
    if(C=="off"){
    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;
    }
    }
    }
    houchuanhao 評論于:2016-07-26 09:19:45
    同意,沒有連接路由器的部分。。。
    返回頂部
    <noscript id="mmkmi"><source id="mmkmi"></source></noscript>
  • <noscript id="mmkmi"><kbd id="mmkmi"></kbd></noscript>
  • <table id="mmkmi"><source id="mmkmi"></source></table>
  • 三上悠亚在线观看