สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
Pi-hole Monitor คือ Wemos D1 Mini (ESP8266) พร้อมจอแสดงผล SSD1306 OLED ที่จัดการผ่านเว็บอินเทอร์เฟซและอยู่บนเครือข่ายท้องถิ่นของคุณและจะแสดงสถิติจากเซิร์ฟเวอร์ Pi-hole ของคุณ
คุณสมบัติ:
- แสดงสถิติ Pi-Hole
- บล็อคทั้งหมด
- ลูกค้าทั้งหมด
- เปอร์เซ็นต์ที่ถูกบล็อก
- กราฟโฆษณาที่ถูกบล็อกจากข้อมูล 21.33 ชั่วโมงที่ผ่านมา (เพียง 128 บรรทัดเพื่อแสดงความผิด 10 นาที)
- ลูกค้า 3 อันดับแรกที่ถูกบล็อก
- ตัวเลือกในการแสดงนาฬิกาแบบ 24 ชั่วโมงหรือ AM/PM
- อัตราการสุ่มตัวอย่างทุกๆ 60 วินาที
- กำหนดค่าได้อย่างเต็มที่จากเว็บอินเตอร์เฟส (ไม่จำเป็นต้องแก้ไข Settings.h)
- รองรับ OTA (กำลังโหลดเฟิร์มแวร์ผ่านการเชื่อมต่อ WiFi บน LAN เดียวกัน) การตรวจสอบสิทธิ์ขั้นพื้นฐานเพื่อปกป้องการตั้งค่าของคุณ
ต้องใช้ 1 จอแสดงผล OLED และ 1 Wemos D1 Mini:
- Wemos D1 มินิ:
- จอแสดงผล OLED สีน้ำเงิน / เหลือง:
- เคสพิมพ์ 3 มิติ
- หัวแร้ง
ขั้นตอนที่ 1: ประสาน Wemos D1 Mini ด้วย I2C OLED Display
ขั้นตอนนี้ต้องการการเชื่อมต่อ 4 สายระหว่าง Wemos D1 Mini และจอแสดงผล OLED
- SDA -> D2
- SCL -> D5
- VCC -> 5V+
- GND -> GND-
ขั้นตอนที่ 2: 3D พิมพ์เคสสำหรับ Pi-hole Monitor ของคุณ
คุณสามารถใช้เคสใดก็ได้ตามต้องการ ไม่ว่าจะเป็นอะไรก็ได้ที่เหมาะกับ Wemos D1 Mini (ESP8266) ควบคู่ไปกับจอแสดงผล OLED คุณสามารถพิมพ์งานออกแบบของฉันจาก Thingiverse:
www.thingiverse.com/thing:3573903
ใส่ Wemos และ OLED ของคุณลงในเคส คุณอาจจำเป็นต้องทากาวที่มุมด้านนอกของจอแสดงผล OLED เพื่อให้ติดอยู่ในเคส Wemos จะถูกยึดไว้ในเคสโดยแผงด้านหลัง
ขั้นตอนที่ 3: ดาวน์โหลดและคอมไพล์ซอร์สโค้ด
ขอแนะนำให้ใช้ Arduino IDE คุณจะต้องกำหนดค่า Arduino IDE เพื่อทำงานกับบอร์ด Wemos และพอร์ต USB และติดตั้งไดรเวอร์ USB ที่จำเป็น ฯลฯ
- ไดรเวอร์ USB CH340G:
- ป้อน https://arduino.esp8266.com/stable/package_esp8266… ลงในช่อง Additional Board Manager URLs คุณสามารถเพิ่ม URL ได้หลายรายการ โดยคั่นด้วยเครื่องหมายจุลภาค สิ่งนี้จะเพิ่มการรองรับ Wemos D1 Mini ให้กับ Arduino IDE
- เปิดตัวจัดการบอร์ดจากเครื่องมือ > เมนูบอร์ด และติดตั้งแพลตฟอร์ม esp8266 (และอย่าลืมเลือกบอร์ด ESP8266 ของคุณจากเครื่องมือ > เมนูบอร์ดหลังการติดตั้ง)
- เลือกบอร์ด: "WeMos D1 R2 & mini"
- ตั้งค่า 1M SPIFFS -- โปรเจ็กต์นี้ใช้ SPIFFS สำหรับบันทึกและอ่านการตั้งค่าการกำหนดค่า หากไม่ทำเช่นนี้ คุณจะได้รับหน้าจอว่างหลังจากอัปโหลด หากคุณได้รับหน้าจอว่างหลังจากโหลด ให้ตรวจดูว่าคุณมี 1M SPIFFS ที่ตั้งค่าไว้ในเมนูเครื่องมือ Arduino IDE หรือไม่
กำลังโหลดไฟล์ไลบรารีที่รองรับใน Arduino
ใช้คู่มือ Arduino สำหรับรายละเอียดเกี่ยวกับวิธีการติดตั้งและจัดการไลบรารี
แพ็คเกจ - ใช้แพ็คเกจและไลบรารีต่อไปนี้ (ดาวน์โหลดและติดตั้ง):
- ESP8266WiFi.h
- ESP8266WebServer.h
- WiFiManager.h
- ESP8266mDNS.h
- ArduinoOTA.h Arduino OTA Library
- "SSD1306Wire.h"
- "OLEDDisplayUi.h"
รวบรวมและโหลดเฟิร์มแวร์ไปยัง Wemos D1 Mini
ขั้นตอนที่ 4: กำหนดค่าสำหรับเครือข่ายและเว็บอินเตอร์เฟสของคุณ
การตรวจสอบเครื่องพิมพ์ใช้ WiFiManager ดังนั้นเมื่อไม่พบเครือข่ายสุดท้ายที่เชื่อมต่ออยู่ จะกลายเป็น AP Hotspot - เชื่อมต่อกับโทรศัพท์ของคุณ จากนั้นคุณสามารถป้อนข้อมูลการเชื่อมต่อ WiFi ได้
หลังจากเชื่อมต่อกับเครือข่าย WiFi ของคุณแล้ว IP จะแสดงที่อยู่ IP ที่กำหนดและสามารถใช้เพื่อเปิดเบราว์เซอร์ไปยังเว็บอินเทอร์เฟซได้ ทุกอย่างสามารถกำหนดค่าได้ในเว็บอินเตอร์เฟส