modified: .vscode/settings.json

deleted:    esp_relay_controller_0.1.stable_highActive.bin
	modified:   src/main.cpp
This commit is contained in:
NanamiAdmin 2025-07-27 15:00:42 +08:00
parent 3b86fbc866
commit a50196e1ba
3 changed files with 78 additions and 42 deletions

13
.vscode/settings.json vendored
View File

@ -104,5 +104,16 @@
"C_Cpp_Runner.msvcSecureNoWarnings": false, "C_Cpp_Runner.msvcSecureNoWarnings": false,
"idf.portWin": "COM9", "idf.portWin": "COM9",
"C_Cpp.errorSquiggles": "disabled", "C_Cpp.errorSquiggles": "disabled",
"idf.adapterTargetName": "esp32s3" "idf.adapterTargetName": "esp32s3",
"files.associations": {
"array": "cpp",
"deque": "cpp",
"list": "cpp",
"string": "cpp",
"unordered_map": "cpp",
"vector": "cpp",
"string_view": "cpp",
"initializer_list": "cpp",
"ranges": "cpp"
}
} }

View File

@ -10,28 +10,78 @@ int UdpbeginPacketTest;
int UdpendPacketTest; int UdpendPacketTest;
int digitalStatus; int digitalStatus;
const char *ssid = "YZTRoomWifi";
const char *password = "fpclink114roomwifi";
WiFiUDP Udp; WiFiUDP Udp;
unsigned int localUdpPort = 443; unsigned int localUdpPort = 443;
char incomingPacket[537]; char incomingPacket[537];
WiFiServer server(80); WiFiServer server(80);
void loadWiFiSettings(char* ssid, char* password) { //Read WiFi settings from EEPROM
EEPROM.begin(64); //Initialize EEPROM with size 64 bytes
for (int i = 0; i < 32; i++) {
char c = EEPROM.read(i);
// Serial.print(c);
// Serial.print(" ");
// Serial.print((int)c);
// Serial.print(" ");
ssid[i] = c;
if(c =='\0'){
break;
}
}
for (int i = 0; i < 32; i++) {
char c = EEPROM.read(i + 32);
// Serial.print(c);
// Serial.print(" ");
// Serial.print((int)c);
// Serial.print(" ");
password[i] = c;
if(c == '\0'){
break;
}
}
EEPROM.end();
}
void saveWiFiSettings(const char ssid[32], const char password[32]) {
EEPROM.begin(64); //Initialize EEPROM with size 64 bytes
for(int i=0; i<32; i++) {
// Serial.print(ssid[i]);
// Serial.print(" ");
// Serial.print((int)ssid[i]);
EEPROM.write(i, ssid[i]); //Write SSID to EEPROM
Serial.print(ssid[i]);
if(ssid[i] == '\0') {
break;
}
}
for(int i=0; i<32; i++) {
// Serial.print(password[i]);
// Serial.print(" ");
// Serial.print((int)password[i]);
EEPROM.write(i+32, password[i]); //Write Password to EEPROM
Serial.print(password[i]);
if(password[i] == '\0') {
break;
}
}
Serial.println("EEPROM.end");
EEPROM.end();
}
void setup(){ void setup(){
Serial.begin(115200); Serial.begin(115200);
Serial.println(""); Serial.println(""); //Print firmware information
Serial.println("Smart Socket ESP8266EX Firmware Ver0.2.stable Build24"); Serial.println("Smart Socket ESP8266EX Firmware Ver.1.0");
Serial.println("Developed by Madobi Nanami"); Serial.println("Developed by Madobi Nanami");
Serial.println("Personal site: https://nanami.tech"); Serial.println("Personal site: https://nanami.tech");
pinMode(ledPin,OUTPUT); pinMode(ledPin,OUTPUT); //Initialize LED pin
digitalWrite(ledPin,HIGH); digitalWrite(ledPin,HIGH);
pinMode(relay,OUTPUT); pinMode(relay,OUTPUT); //Initialize relay pin
digitalWrite(relay,LOW); digitalWrite(relay,LOW);
EEPROM.begin(512); char ssid[32];
EEPROM.read(0,32); char password[32];
EEPROM.read(32,32); loadWiFiSettings(ssid, password); //Load WiFi settings from EEPROM
if(strlen(ssid) == 0 || strlen(password) == 0){ if(strlen(ssid) == 0 || strlen(password) == 0){ //Check if WiFi settings are empty
Serial.println("No WiFi settings found in EEPROM, please set them."); Serial.println("No WiFi settings found in EEPROM, please set them.");
Serial.println("Please enter SSID:"); Serial.println("Please enter SSID:");
while(!Serial.available()); while(!Serial.available());
@ -50,7 +100,7 @@ void setup(){
return; return;
} }
Serial.println("Trying to connect to WiFi..."); Serial.println("Trying to connect to WiFi...");
WIFI.begin(inputSsid.c_str(), inputPassword.c_str()); WiFi.begin(inputSsid.c_str(), inputPassword.c_str());
while(WiFi.status() != WL_CONNECTED){ while(WiFi.status() != WL_CONNECTED){
delay(500); delay(500);
Serial.print("."); Serial.print(".");
@ -61,9 +111,7 @@ void setup(){
Serial.println("WiFi settings saved."); Serial.println("WiFi settings saved.");
} else { } else {
Serial.println("Loaded WiFi settings from EEPROM."); Serial.println("Load WiFi settings from EEPROM.");
String ssid = EEPROM.getString(0, 32);
String password = EEPROM.getString(32, 32);
Serial.print("SSID: "); Serial.print("SSID: ");
Serial.println(ssid); Serial.println(ssid);
Serial.print("Password: "); Serial.print("Password: ");
@ -75,7 +123,6 @@ void setup(){
Serial.println("."); Serial.println(".");
} }
Serial.println("Connected."); Serial.println("Connected.");
server.begin(); server.begin();
Udp.begin(localUdpPort); Udp.begin(localUdpPort);
Serial.println("UDP server started. Listening on port 443"); Serial.println("UDP server started. Listening on port 443");
@ -83,20 +130,6 @@ void setup(){
Serial.println(WiFi.localIP()); Serial.println(WiFi.localIP());
} }
void saveWiFiSettings(const char* ssid, const char* password) {
EEPROM.begin(512);
EEPROM.putString(0, ssid);
EEPROM.putString(32, password);
EEPROM.commit();
EEPROM.end();
}
void loadWiFiSettings(char* ssid, char* password) {
EEPROM.begin(512);
EEPROM.getString(0, ssid, 32);
EEPROM.getString(32, password, 32);
EEPROM.end();
}
void loop(){ void loop(){
int packetSize = Udp.parsePacket(); int packetSize = Udp.parsePacket();
if(packetSize){ if(packetSize){
@ -118,26 +151,18 @@ void loop(){
return; return;
} }
if(strcmp(incomingPacket, "device.read") == 0){ if(strcmp(incomingPacket, "device.read") == 0){
Serial.println("Device information requested.");
Udp.beginPacket(Udp.remoteIP(),Udp.remotePort()); Udp.beginPacket(Udp.remoteIP(),Udp.remotePort());
Udp.write("[Chipset]ESP8266EX"); Udp.write("[Chipset]ESP8266EX");
Serial.println("chipset");
Udp.write("[Manufacture]Espressif"); Udp.write("[Manufacture]Espressif");
Serial.println("manufacture");
Udp.write("[DeviceType]relayController"); Udp.write("[DeviceType]relayController");
Serial.println("devicetype");
Udp.write("[FirmwareName]Smart Socket"); Udp.write("[FirmwareName]Smart Socket");
Serial.println("firmwarename"); Udp.write("[FirmwareVersion]1.0.stable");
Udp.write("[FirmwareVersion]0.1.stable");
Serial.println("firmwareversion");
Udp.write("[FirmwareBuildVer]24"); Udp.write("[FirmwareBuildVer]24");
Serial.println("firmwarebuildver");
Udp.write("[Developer]Madobi Nanami"); Udp.write("[Developer]Madobi Nanami");
Serial.println("developer"); Udp.write("[BuildDate]2025.07.26");
Udp.write("[BuildDate]2024.08.07");
Serial.println("builddate");
delay(500); delay(500);
Udp.write("[Command]EOF"); Udp.write("[Command]EOF");
Serial.println("eof");
Udp.endPacket(); Udp.endPacket();
return; return;
} }