步驟1:設(shè)置軟件(Arduino IDE)
最新版本的Arduino IDE使得對(duì)這些開發(fā)板進(jìn)行編程變得更加容易,并且您無需再經(jīng)歷多個(gè)步驟即可將其開發(fā)到與ESP8266開發(fā)板一起使用。步驟如下:
從https://www.arduino.cc/en/Main/Software
下載最新的IDE,打開IDE并轉(zhuǎn)到“工具” -》電路板-》電路板管理器。..
搜索ESP8266,然后單擊安裝(請(qǐng)參見上圖)
就是這樣-您已準(zhǔn)備好對(duì)IoT進(jìn)行編程中繼
步驟2:將IoT中繼連接到計(jì)算機(jī)以進(jìn)行編程
該模塊不帶有USB接口,因此您需要使用USB-TTL模塊/arduino處理與計(jì)算機(jī)的USB通信。您可以在ebay上購(gòu)買任何一種便宜的模塊(http://www.ebay.com/sch/i.html?_from = R40&_sacat = 0&。..)-所有模塊都一樣-僅警告要找到正確的模塊驅(qū)動(dòng)程序,以便您的計(jì)算機(jī)檢測(cè)模塊。
這是最令人頭疼的步驟,因?yàn)閃iki上的圖像有錯(cuò)誤。我使用了Wiki中的圖像,但是提供了注釋-這樣您就可以正確使用它。
連接非常簡(jiǎn)單(只要您知道要使用哪個(gè)引腳):
將GND從USB-TTL連接到圖像上標(biāo)記為GND的引腳(左下角的第一個(gè)引腳)
將3.3V從USB-TTL連接到圖像上標(biāo)記為VCC的引腳(這是GND引腳上方的引腳)
將RX從USB-TTL連接到圖像上標(biāo)記為RX的引腳(這與通常將RX連接到TX的預(yù)期相反引腳,反之亦然)
將TX從USB-TTL連接到圖像上標(biāo)記為TX的引腳(這與通常將TX連接到RX引腳并反之的預(yù)期相反-versa)
模塊現(xiàn)在可以進(jìn)行編程了。按住BTN2(在Wiki映像上標(biāo)記為BTN1),然后將模塊插入U(xiǎn)SB端口,將其置于編程模式,然后您可以上傳新固件(按住BTN2,直到軟件顯示固件已完全上傳) )。
請(qǐng)注意,我擁有v1.0板,因此無法保證Wiki上V1.1圖表的正確性。
步驟3:固件
由于IoT中繼基于ESP8266,因此您可以使用一整套固件。其中一些包括:
Souliss:http://souliss.net/getting-started/
ESPEasy:http://www.esp8266.nu/index。 php/ESPEasy
Blynk:http://www.blynk.cc/
MQTT:https://github.com/tuanpmt/esp_mqtt
還有更多。現(xiàn)在已經(jīng)有很多教學(xué)指導(dǎo),您可以通過以下鏈接查看它們:https://www.instructables.com/howto/ESP8266/
但是,我采用了最簡(jiǎn)單的解決方案-即在IoT中繼本身上運(yùn)行一個(gè)簡(jiǎn)單的Web服務(wù)器。這基于ESP8266庫(kù)隨附的“ WifiWebServer”示例。
注意事項(xiàng):
將wifi的SSID和密碼更改為您的設(shè)置
IoT中繼具有連接到GPIO13和GPIO12的兩個(gè)中繼
將以下代碼復(fù)制并粘貼到arduino IDE中的新“草圖”
#include
const char* ssid = “SSID”;
const char* password = “Password”;
// Create an instance of the server
// specify the port to listen on as an argument
WiFiServer server(80);
void setup() {
Serial.begin(115200);
delay(10);
// prepare GPIO13
pinMode(13, OUTPUT);
digitalWrite(13, 0);
// prepare GPIO12
pinMode(12, OUTPUT);
digitalWrite(12, 0);
// Connect to 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”);
// Start the server
server.begin();
Serial.println(“Server started”);
// Print the IP address
Serial.println(WiFi.localIP());
}
void loop() {
// Check if a client has connected
WiFiClient client = server.available();
if (!client) {
return;
}
// Wait until the client sends some data
Serial.println(“new client”);
while(!client.available()){
delay(1);
}
// Read the first line of the request
String req = client.readStringUntil(‘ ’);
Serial.println(req);
client.flush();
// Match the request
if (req.indexOf(“/gpio/1/0”) != -1){ // GPIO 13 Low
digitalWrite(13,0);
client.flush();
client.print(“HTTP/1.1 200 OK Content-Type: text/htmlGPIO 13 is now Low ”);
}
else if (req.indexOf(“/gpio/1/1”) != -1){ // GPIO 13 High
digitalWrite(13,1);
client.flush();
client.print(“HTTP/1.1 200 OK Content-Type: text/htmlGPIO 13 is now High ”);
}
else if (req.indexOf(“/gpio/2/0”) != -1){ // GPIO 12 Low
digitalWrite(12,0);
client.flush();
client.print(“HTTP/1.1 200 OK Content-Type: text/htmlGPIO 12 is now Low ”);
}
else if (req.indexOf(“/gpio/2/1”) != -1){ // GPIO 12 High
digitalWrite(12,1);
client.flush();
client.print(“HTTP/1.1 200 OK Content-Type: text/htmlGPIO 13 is now High ”);
}
else {
Serial.println(“invalid request”);
client.stop();
return;
}
delay(1);
Serial.println(“Client disonnected”);
}
步驟4:上傳固件并運(yùn)行服務(wù)器
要上傳固件,您需要執(zhí)行以下步驟:
按BTN2并將USB-TTL連接到計(jì)算機(jī)上的USB端口
選擇板‘NodeMCU 0.9(ESP-12模塊)’
選擇正確的端口(它在我的系統(tǒng)上作為COM9出現(xiàn))
單擊向右箭頭進(jìn)行編譯并上傳
確保按住BTN2直到固件完全上傳
》
在大多數(shù)情況下,這應(yīng)該可以工作,但是,如果遇到錯(cuò)誤,請(qǐng)斷開USB并從步驟1重新開始。
一旦固件上傳完畢,您就可以將模塊連接到交流電源(在處理交流電時(shí),請(qǐng)務(wù)必小心-這非常危險(xiǎn),并且可能致命)。通過USB供電時(shí),IoT中繼將無法連接到wifi,因?yàn)閁SB-TTL無法提供足夠的電流。
斷開IoT中繼與USB-TTL模塊的連接
連接輸入線和輸出線
再次檢查連接
關(guān)閉外殼
將輸入線插入交流電源插座
我提供的草圖通過串行發(fā)送出IoT中繼的IP地址,但是我沒有將USB-TTL和交流電源連接到IoT中繼不是一個(gè)好主意。因此最好的選擇是轉(zhuǎn)到路由器的主頁(yè),找到IoT中繼的IP地址。
現(xiàn)在,您可以使用以下命令打開/關(guān)閉中繼:
http:///gpio/1/1 - switch on relay 1
http:///gpio/1/0 - switch off relay 1
http:///gpio/2/1 - switch on relay 2
http:///gpio/2/0 - switch off relay 2
-
中繼
+關(guān)注
關(guān)注
0文章
51瀏覽量
14633 -
編程
+關(guān)注
關(guān)注
88文章
3633瀏覽量
93852
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論