电子说
步骤1:设置软件(Arduino IDE)
最新版本的Arduino IDE使得对这些开发板进行编程变得更加容易,并且您无需再经历多个步骤即可将其开发到与ESP8266开发板一起使用。步骤如下:
从https://www.arduino.cc/en/Main/Software
下载最新的IDE,打开IDE并转到“工具” -》威廉希尔官方网站 板-》威廉希尔官方网站 板管理器。..
搜索ESP8266,然后单击安装(请参见上图)
就是这样-您已准备好对IoT进行编程中继
步骤2:将IoT中继连接到计算机以进行编程
该模块不带有USB接口,因此您需要使用USB-TTL模块/arduino处理与计算机的USB通信。您可以在ebay上购买任何一种便宜的模块(http://www.ebay.com/sch/i.html?_from = R40&_sacat = 0&。..)-所有模块都一样-仅警告要找到正确的模块驱动程序,以便您的计算机检测模块。
这是最令人头疼的步骤,因为Wiki上的图像有错误。我使用了Wiki中的图像,但是提供了注释-这样您就可以正确使用它。
连接非常简单(只要您知道要使用哪个引脚):
将GND从USB-TTL连接到图像上标记为GND的引脚(左下角的第一个引脚)
将3.3V从USB-TTL连接到图像上标记为VCC的引脚(这是GND引脚上方的引脚)
将RX从USB-TTL连接到图像上标记为RX的引脚(这与通常将RX连接到TX的预期相反引脚,反之亦然)
将TX从USB-TTL连接到图像上标记为TX的引脚(这与通常将TX连接到RX引脚并反之的预期相反-versa)
模块现在可以进行编程了。按住BTN2(在Wiki映像上标记为BTN1),然后将模块插入USB端口,将其置于编程模式,然后您可以上传新固件(按住BTN2,直到软件显示固件已完全上传) )。
请注意,我拥有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
还有更多。现在已经有很多教学指导,您可以通过以下链接查看它们:https://www.instructables.com/howto/ESP8266/
但是,我采用了最简单的解决方案-即在IoT中继本身上运行一个简单的Web服务器。这基于ESP8266库随附的“ WifiWebServer”示例。
注意事项:
将wifi的SSID和密码更改为您的设置
IoT中继具有连接到GPIO13和GPIO12的两个中继
将以下代码复制并粘贴到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:上传固件并运行服务器
要上传固件,您需要执行以下步骤:
按BTN2并将USB-TTL连接到计算机上的USB端口
选择板‘NodeMCU 0.9(ESP-12模块)’
选择正确的端口(它在我的系统上作为COM9出现)
单击向右箭头进行编译并上传
确保按住BTN2直到固件完全上传
》
在大多数情况下,这应该可以工作,但是,如果遇到错误,请断开USB并从步骤1重新开始。
一旦固件上传完毕,您就可以将模块连接到交流电源(在处理交流电时,请务必小心-这非常危险,并且可能致命)。通过USB供电时,IoT中继将无法连接到wifi,因为USB-TTL无法提供足够的电流。
断开IoT中继与USB-TTL模块的连接
连接输入线和输出线
再次检查连接
关闭外壳
将输入线插入交流电源插座
我提供的草图通过串行发送出IoT中继的IP地址,但是我没有将USB-TTL和交流电源连接到IoT中继不是一个好主意。因此最好的选择是转到路由器的主页,找到IoT中继的IP地址。
现在,您可以使用以下命令打开/关闭中继:
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
全部0条评论
快来发表一下你的评论吧 !