TAIDONG - ESP8266
https://www.zhangtaidong.cn/category/esp-8266/
ESP8266
-
ESP8266与W5100以太网模块通讯
https://www.zhangtaidong.cn/archives/134/
2020-12-16T20:20:00+08:00
1.接线方式W5100 | ESP8266+5V - NSS - SSMO - MOSIGND - GNDRST - GPIO4SCK - SCLKMI - MISO2.ESP8266 Arduino 源代码/*
A simple server that answer the ping message.
Using an ESP8266 .
*/
/* Circuit:
* Ethernet shield attached to pins :
* D6: GPIO12 - MISO
* D7: GPIO13 - MOSI
* D8: GPIO15 - CS
* D5: GPIO14 - SCLK
*/
#include <SPI.h>
#include <Ethernet.h>
#define MACADDRESS 0xDE, 0xAD, 0xBE, 0xEF, 0xDE, 0xED
IPAddress ip(192,168,6,29);
IPAddress gateway(192, 168, 6, 1);
IPAddress subnet(255, 255, 255, 0);
// telnet defaults to port 23
EthernetServer server(23);
#define RST 4 //W5100 RST
void setup()
{
pinMode(BUILTIN_LED, OUTPUT);
pinMode(RST, OUTPUT);
digitalWrite(RST,HIGH); //Reset this module
delay(200);
digitalWrite(RST,LOW);
delay(200);
digitalWrite(RST,HIGH);
delay(200);
Serial.begin(115200);
Serial.println();
byte mac[] = { MACADDRESS };
Ethernet.begin(mac, ip, gateway, subnet);
// print your local IP address:
Serial.print("My IP address: ");
Serial.println(Ethernet.localIP());
server.begin();
}
void loop()
{
}
-
ESP8266/ESP32 SmartConfig 一键配网+自动重连+微信扫码配网
https://www.zhangtaidong.cn/archives/124/
2020-11-14T21:00:00+08:00
ESP8266使用:#include <ESP8266WiFi.h>ESP32使用:#include <WiFi.h>SmartConfig的配置:void SmartConfig()
{
WiFi.mode(WIFI_STA);
Serial.println("\r\nWait for Smartconfig...");
WiFi.beginSmartConfig();
while (1)
{
Serial.print(".");
delay(500); // wait for a second
if (WiFi.smartConfigDone())
{
Serial.println("SmartConfig Success");
Serial.printf("SSID:%s\r\n", WiFi.SSID().c_str());
Serial.printf("PSW:%s\r\n", WiFi.psk().c_str());
break;
}
}
}上电时自动重连:bool AutoConfig()
{
WiFi.begin();
//如果觉得时间太长可改
for (int i = 0; i < 20; i++)
{
int wstatus = WiFi.status();
if (wstatus == WL_CONNECTED)
{
Serial.println("WIFI SmartConfig Success");
Serial.printf("SSID:%s", WiFi.SSID().c_str());
Serial.printf(", PSW:%s\r\n", WiFi.psk().c_str());
Serial.print("LocalIP:");
Serial.print(WiFi.localIP());
Serial.print(" ,GateIP:");
Serial.println(WiFi.gatewayIP());
return true;
}
else
{
Serial.print("WIFI AutoConfig Waiting......");
Serial.println(wstatus);
delay(1000);
}
}
Serial.println("WIFI AutoConfig Faild!" );
return false;
}setup( )函数中启用:void setup() {
Serial.begin(115200);
delay(100);
if (!AutoConfig())
{
SmartConfig();
}
}微信扫码配网通过SmartConfig一键配网后,如更换路由怎样重新配置1.每次程序启动后,直接进入SmartConfig配置,设置超时时间,一旦超时则退出SmartConfig配置,在此时间段内可进行配置#include <ESP8266WiFi.h>
void SmartConfig()
{
int TimerOverCount=0;
WiFi.mode(WIFI_STA);
Serial.println("WIFI Wait for Smartconfig");
WiFi.beginSmartConfig();
while (1)
{
Serial.printf(".%d",TimerOverCount);
if (WiFi.smartConfigDone())
{
Serial.println("WIFI SmartConfig Success");
Serial.printf("SSID:%s", WiFi.SSID().c_str());
Serial.printf(", PSW:%s\r\n", WiFi.psk().c_str());
Serial.print("LocalIP:");
Serial.print(WiFi.localIP());
Serial.print(" ,GateIP:");
Serial.println(WiFi.gatewayIP());
WiFi.setAutoConnect(true); // 设置自动连接
break;
}
if(TimerOverCount>=15)
{
WiFi.stopSmartConfig();
WiFi.begin();
break;
}
TimerOverCount ++;
delay(1000);
}
}
void setup(void)
{
// Start Serial
Serial.begin(115200);
delay(100);
SmartConfig();
}
-
ESP8266-4路远程开关(支持手动开关/MQTT远程控制/安卓APP控制)
https://www.zhangtaidong.cn/archives/106/
2020-11-08T19:52:00+08:00
通过ESP826-01制作4路智能开关所需组件ESP8266-01模块HiLink 5V电源AMS1117 IC5V继电器(4个)MCT2E IC(4个)1N4007二极管(4个)3pin端子连接器(4个)BC547晶体管(4个)10K电阻(8个)电路原理图手动开关原理图Code源码此处省略/待分享PCB设计图及分享下载对于这个项目,我设计了2层PCB使其非常紧凑。在Easyeda.com上传PCB下单即可,该PCB设计文件对所有人开放。下载地址:整理中...!安卓APP控制下载地址:整理中...!