• <table id="0ws66"></table>
  • <noscript id="0ws66"><source id="0ws66"></source></noscript>
    test-led

    test-led的詳細介紹

    創作者:W681762 | 更新日期:2019-09-15 | 在線時長:9時
    W681762的第一個設備,來自貝殼物聯

    /* 此文件需安裝Arduino esp8266開發環境支持,環境搭建參見:http://www.embanju.org/talk/237.html 本程序可以用來控制四路繼電器 ESP8266燒入此程序直接,使用高低電頻控制光耦繼電器來控制電燈 我的繼電器默認高電頻關閉,所以在初始化時都初始化為高電頻,play關閉開啟,stop關閉關閉,輸入1-4打開或關閉對應的引腳 代碼基于https://github.com/bigiot/bigiotArduino/blob/master/examples/ESP8266/kaiguan/kaiguan.ino 上的代碼進行調整,修復了部分bug,解決了斷線重連問題,此代碼可以直接燒入到nodemcu模塊,分享代碼希望對大家有幫助 */ #include #include //============= 此處必須修該============ String DEVICEID="13140"; // 你的設備編號 == String APIKEY = "d6a1a5be5"; // 設備密碼== //======================================= unsigned long lastCheckInTime = 0; //記錄上次報到時間 const unsigned long postingInterval = 40000; // 每隔40秒向服務器報到一次 const char* ssid = "MUTOUREN";//無線名稱 const char* password = "12345678.";//無線密碼 const char* host = "www.embanju.org"; const int httpPort = 8181; int pins[4] = {D1,D2,D3,D4}; int state[4] = {HIGH,HIGH,HIGH,HIGH}; int arr_len = sizeof(pins)/sizeof(pins[0]); void setup() { Serial.begin(115200); delay(1000); WiFi.begin(ssid, password); //默認輸出關閉電頻 for(int i=0;i 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 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(); }

    敬請關注...

    国产综合在线