Bu kütüphane, ESP8266 NodeMCU kartlarınız için kablosuz ağ yönetimi, internetten veri çekme ve MQTT sunucu iletişimi gibi ağ işlerini kolaylaştıran kullanışlı bir pakettir
-
Kütüphaneyi projenize ekleyin: Arduino IDE kullanıyorsanız,
AG_LIB.h,ag_bilgiler.cpp,baglantilar.cpp,httpget_1.cpp,httpget_2.cpp,httpget_3.cpp,Sserver__1.cppdosyalarını projenizin klasörüne taşıyın. -
Gerekli harici kütüphaneleri (ESP8266WiFi, DNSServer, ESP8266HTTPClient, WiFiClientSecure, ESPAsyncTCP, WiFiUdp, NTPClient, ArduinoJson, PubSubClient) Arduino IDE Kütüphane Yöneticisi'nden yükleyin.
Ag sınıfı, web, ogren, baglanti ve server adlı dört ana bölümle kütüphanenin tüm özelliklerini sunar. Her bölümün kendi görevleri var, hadi inceleyelim!
Ag::web kısmı, internetten veri çekme ve bu verileri işleme konularında size yardımcı oluyor.
-
void zaman_al(int *sn, int *dk, int *saat, int *gun, int *ay, int *yil, int *haftagunu, unsigned long timeout_ms = 8000, long gmtOffset = 10800)-
Açıklama: İnternetten güncel tarih ve saat bilgilerini alıp belirlediğiniz yerlere kaydeder. NTP sunucusuyla zamanı senkronize eder.
-
Parametreler:
sn,dk,saat,gun,ay,yil,haftagunu(işaretçiler),timeout_ms(varsayılan 8000),gmtOffset(varsayılan 10800). -
Dönüş Değeri: Yok.
-
-
String json_veri_string(const String &json, const String &path)-
Açıklama: JSON metninden, iç içe anahtar yolları (örn.
"user.name") ile string değer çeker. -
Parametreler:
json(String),path(String). -
Dönüş Değeri: String veya boş string (
"").
-
-
int json_veri_int(const String &json, const String &path)-
Açıklama: JSON metninden, iç içe anahtar yolları (örn.
"user.age") ile tam sayı (int) değer çeker. -
Parametreler:
json(String),path(String). -
Dönüş Değeri:
intveya0.
-
-
float json_veri_float(const String &json, const String &path)-
Açıklama: JSON metninden, iç içe anahtar yolları (örn.
"user.height") ile ondalık sayı (float) değer çeker. -
Parametreler:
json(String),path(String). -
Dönüş Değeri:
floatveya0.0f.
-
-
String json_al(const String &url, uint32_t timeout_ms = 5000)-
Açıklama: Belirtilen URL'den (HTTP/HTTPS) veri çeker. WiFi bağlantısını kontrol eder ve zaman aşımı uygular.
-
Parametreler:
url(String),timeout_ms(varsayılan 5000). -
Dönüş Değeri: Gelen veri (String) veya boş string.
-
-
void siteGuvenlikBilgileriniAl(const char *domain)-
Açıklama: (Kullanım dışı/Geliştirme aşamasında) Belirtilen alan adı için sertifika, HTTP başlıkları, SSL Labs ve Whois bilgilerini almaya çalışır.
-
Parametreler:
domain(karakter dizisi). -
Dönüş Değeri: Yok.
-
-
String json_al_detayli(const String &baseUrl, const String &apiKey, const String &il, const String &ilce = "", uint32_t timeout_ms = 5000)-
Açıklama: Belirlenen API'den (örn. OpenWeatherMap), şehir ve isteğe bağlı ilçe bilgileriyle JSON veri çeker.
-
Parametreler:
baseUrl(String),apiKey(String),il(String),ilce(String, varsayılan boş),timeout_ms(varsayılan 5000). -
Dönüş Değeri: JSON verisi (String) veya boş string.
-
Ag::ogren kısmı, ESP8266 cihazınızın bağlı olduğu veya etrafındaki WiFi ağları hakkında bilgi toplamanıza yardımcı oluyor.
-
uint8_t sinyal_gucu()-
Açıklama: WiFi sinyal gücünü 0-3 arası seviyede döndürür.
-
3: Çok Güçlü (>= -50 dBm) -
2: Orta (>= -65 dBm) -
1: Zayıf (>= -75 dBm) -
0: Çok zayıf veya bağlantı yok.
-
-
Parametreler: Yok.
-
Dönüş Değeri: Sinyal seviyesi (
uint8_t).
-
-
void durum()-
Açıklama: WiFi bağlantı durumunu (örn.
WL_CONNECTED) seri monitöre yazdırır. -
Parametreler: Yok.
-
Dönüş Değeri: Yok.
-
-
String ip_adresi()-
Açıklama: Bağlı ağın IP adresini döndürür.
-
Parametreler: Yok.
-
Dönüş Değeri: IP adresi (String) veya boş string.
-
-
String ag_adi()-
Açıklama: Bağlı WiFi ağının adını (SSID) döndürür.
-
Parametreler: Yok.
-
Dönüş Değeri: SSID (String) veya boş string.
-
-
String mac_adresi()-
Açıklama: Cihazın MAC adresini döndürür.
-
Parametreler: Yok.
-
Dönüş Değeri: MAC adresi (String).
-
-
String cevredeki_aglar(uint8_t saniye = 255, uint8_t dakika = 255, uint8_t saat = 255, uint8_t gun = 255, uint8_t ay = 255, uint16_t yil = 255)-
Açıklama: Çevredeki WiFi ağlarını tarar, sinyal gücüne göre sıralar ve tablo halinde sunar. Başlıkta toplam ağ sayısı, en güçlü sinyal ve tarih/saat bilgisi bulunur.
-
Parametreler:
saniye,dakika,saat,gun,ay,yil(varsayılan 255). -
Dönüş Değeri: Düzenlenmiş WiFi ağı listesi (String).
-
Ag::baglanti kısmı, WiFi bağlantınızı kurmak, kesmek ve yönetmek için harika fonksiyonlar sunuyor.
-
bool kur(const char *ssid, const char *sifre)-
Açıklama: Belirtilen SSID ve şifre ile WiFi ağına bağlanır.
-
Parametreler:
ssid(karakter dizisi),sifre(karakter dizisi). -
Dönüş Değeri:
true(başarılı) veyafalse(başarısız).
-
-
void kes()-
Açıklama: Mevcut WiFi bağlantısını sonlandırır.
-
Parametreler: Yok.
-
Dönüş Değeri: Yok.
-
-
bool sorgu()-
Açıklama: WiFi bağlantı durumunu kontrol eder.
-
Parametreler: Yok.
-
Dönüş Değeri:
true(bağlı) veyafalse(bağlı değil).
-
-
void bilgi()-
Açıklama: Mevcut bağlantı bilgilerini seri monitöre yazdırır.
-
Parametreler: Yok.
-
Dönüş Değeri: Yok.
-
-
void tekrar_dene(const char *ssid, const char *sifre, uint8_t deneme_sayisi)-
Açıklama: Belirtilen ağ bilgileriyle tekrar bağlanmayı dener (
delaykullanır). -
Parametreler:
ssid(karakter dizisi),sifre(karakter dizisi),deneme_sayisi. -
Dönüş Değeri: Yok.
-
-
bool eski_aga_otomatik()-
Açıklama: Bilinen ağlara otomatik bağlanmayı dener.
-
Parametreler: Yok.
-
Dönüş Değeri:
true(başarılı) veyafalse(başarısız).
-
-
bool statik_ip_kur(const char *ssid, const char *sifre, IPAddress ip, IPAddress gateway, IPAddress subnet)-
Açıklama: Statik IP adresi kullanarak belirlenen ağa bağlanır.
-
Parametreler:
ssid(karakter dizisi),sifre(karakter dizisi),ip(IPAddress),gateway(IPAddress),subnet(IPAddress). -
Dönüş Değeri:
true(başarılı) veyafalse(başarısız).
-
-
bool kayitli_aglardan(const String &ssid_list, const String &sifre_list)-
Açıklama: Çevredeki WiFi ağlarını tarar, sağlanan SSID ve şifre listeleriyle eşleştirip bağlanmayı dener. Listelerdeki sıra önemlidir!
-
Parametreler:
ssid_list(String),sifre_list(String). -
Dönüş Değeri:
true(başarılı) veyafalse(başarısız).
-
Ag::server sınıfı, MQTT bulut sunucularına (mesela HiveMQ Cloud) güvenli bir şekilde bağlanmanızı, mesajlara abone olmanızı, veri göndermenizi ve almanızı sağlıyor.
-
bool baglan()-
Açıklama: Ayarlar sonrası MQTT sunucusuna bağlanır. Sertifika kontrolü test için kapalıdır.
-
Parametreler: Yok.
-
Dönüş Değeri:
true(başarılı) veyafalse(başarısız).
-
-
void baglantiyi_sonlandir()-
Açıklama: MQTT sunucu bağlantısını keser.
-
Parametreler: Yok.
-
Dönüş Değeri: Yok.
-
-
void abone(const char *topic, bool islem)-
Açıklama: Belirtilen MQTT başlığına abone olur veya aboneliği iptal eder.
-
Parametreler:
topic(karakter dizisi),islem(bool). -
Dönüş Değeri: Yok.
-
-
void veriGonder(const char *topic, const char *mesaj)-
Açıklama: Belirtilen MQTT başlığına veri gönderir.
-
Parametreler:
topic(karakter dizisi),mesaj(karakter dizisi). -
Dönüş Değeri: Yok.
-
-
void veri_al()-
Açıklama:
setup'ta çağrılması gereken bu fonksiyon, gelen abonelik verilerini işleyen bir callback ayarlar. -
Parametreler: Yok.
-
Dönüş Değeri: Yok.
-
-
String veri_sade()-
Açıklama: Alınan MQTT verilerini
topic;Veri\nformatında döndürür. -
Parametreler: Yok.
-
Dönüş Değeri: Alınan veriler (String).
-
-
void veri_temizle()-
Açıklama: Alınan veri paketini temizler. Bellek taşmasını önlemek için düzenli temizlik önemlidir!
-
Parametreler: Yok.
-
Dönüş Değeri: Yok.
-
-
static void aktif_tut()-
Açıklama:
loop()içinde kullanılması gereken bu fonksiyon, MQTT istemcisini aktif tutar ve mesaj alışverişini yönetir. -
Parametreler: Yok.
-
Dönüş Değeri: Yok.
-