Penjelasan Program Absensi RFID dan ESP32 (Uji Kompetensi Edition) - 10. config.h

Ini adalah file yang paling strategis dan menjadi pusat dari seluruh konfigurasi proyek.


1. Pengaman Kompilasi (Header Guards)

#ifndef __CONFIGFILE__
#define __CONFIGFILE__

// ... semua kode di sini ...

#endif

2. Penanda (Flag) Global

//flag for saving data
bool shouldSaveConfig = true;

3. Pengaturan Default

char wifi_ssid[34] = "LSKKHomeAuto";
char wifi_password[34] = "1234567890";
char mqtt_server[40] = "cloudabsensi.pptik.id";
int   mqtt_port = 1883;
char smqtt_port[5] = "1883";
char mqtt_user[40] = "/absensi:absensi";
char mqtt_password[40] = "PPTIK@|PASSWORD";
char mqtt_keywords1[40] = "absensi/service";
char mqtt_keywords2[40] = "absensi/control";

4. Konstanta Waktu dan Variabel MAC

const long interval = 2000;
uint8_t MAC_array[6];
char MAC_char[18];

5. Deklarasi Objek Global

WiFiClient espClient;
PubSubClient client(espClient);

6. Definisi Pin dan Objek Hardware

#define RST_PIN  5  // RST-PIN für RC522 - RFID - SPI - Modul GPIO5
#define SS_PIN  4  // SDA-PIN für RC522 - RFID - SPI - Modul GPIO4
#define BUZZER  D3 // pcb merah (D3) (kalau hijau, biru D8)
#define LED1 D8// pcb merah (kalau hijau,biru d4)
#define LED2 D4
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance

7. Prototipe Fungsi

void SaveConfigCallback ();
void ReadConfigFile();

Kesimpulan

File config.h adalah fondasi dari proyek yang terstruktur, modular, dan mudah dikonfigurasi. Ia memisahkan logika program dari pengaturan dan definisi hardware, membuat proyek Anda jauh lebih mudah untuk dipahami, di-debug, dan dimodifikasi di masa depan.