#include <ESP8266WiFi.h>
#define WIFI_SSID "happy_2.4G"
#define WIFI_PASS "0816599222"
// กำหนดตัวแปรสำหรับแต่ละงาน
unsigned long previousLedMillis = 0;
unsigned long previousSerialMillis = 0;
const long ledInterval = 500; // LED กระพริบทุก 500ms
const long serialInterval = 10000; // ส่งข้อมูลทุก 10 วินาที
bool ledState = false;
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(115200);
delay(2000); // รอความพร้อมของ Serial Monitor
}
void loop() {
unsigned long currentMillis = millis();
// งานที่ 1: LED กระพริบ
if (currentMillis - previousLedMillis >= ledInterval) {
previousLedMillis = currentMillis;
ledState = !ledState;
digitalWrite(LED_BUILTIN, ledState);
}
// งานที่ 2: ส่งข้อมูลผ่าน Serial
if (currentMillis - previousSerialMillis >= serialInterval) {
previousSerialMillis = currentMillis;
Serial.println("\n--- ESP8266 Device Info ---");
// Chip ID
Serial.print("Chip ID: ");
Serial.println(ESP.getChipId());
// Flash Chip ID
Serial.print("Flash Chip ID: ");
Serial.println(ESP.getFlashChipId());
// Flash Chip Size
Serial.print("Flash Chip Size: ");
Serial.print(ESP.getFlashChipSize() / 1024);
Serial.println(" KB");
// Flash Chip Real Size
Serial.print("Flash Chip Real Size: ");
Serial.print(ESP.getFlashChipRealSize() / 1024);
Serial.println(" KB");
// Sketch Size
Serial.print("Sketch Size: ");
Serial.print(ESP.getSketchSize() / 1024);
Serial.println(" KB");
// Free Sketch Space
Serial.print("Free Sketch Space: ");
Serial.print(ESP.getFreeSketchSpace() / 1024);
Serial.println(" KB");
// CPU Frequency
Serial.print("CPU Frequency: ");
Serial.print(ESP.getCpuFreqMHz());
Serial.println(" MHz");
// Free Heap Memory
Serial.print("Free Heap Memory: ");
Serial.print(ESP.getFreeHeap() / 1024);
Serial.println(" KB");
// Reset Reason
Serial.print("Reset Reason: ");
Serial.println(ESP.getResetReason());
// MAC Address (requires WiFi.h)
Serial.print("MAC Address: ");
Serial.println(WiFi.macAddress());
// Local IP Address (if connected to Wi-Fi)
// You would typically connect to Wi-Fi first to get a local IP
// For demonstration, we'll just print it if available.
if (WiFi.status() == WL_CONNECTED) {
Serial.print("Local IP Address: ");
Serial.println(WiFi.localIP());
} else {
//Serial.println("Not connected to Wi-Fi, no local IP available.");
Serial.println("Connecting to WiFi...");
WiFi.begin(WIFI_SSID, WIFI_PASS);
// รอ WiFi ต่อจนได้ IP
while (WiFi.status() != WL_CONNECTED) {
delay(300);
Serial.print(".");
}
Serial.println();
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
}
}
}WeMos D1 R1