Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Genel Programlama > Genel İşlemler
  Aktif Konular Aktif Konular RSS - ekleme yapılmalımı veya çıkarma
  SSS SSS  Forumu Ara   Etkinlikler   Kayıt Ol Kayıt Ol  Giriş Giriş

Clomosy Resmi Forum Sitesidir. Amacımız kullanıcılarımıza, iş ortaklarımıza, danışmanlara, yazılımcılara programlarımız hakkında destek ve bilgi vermektir.

ekleme yapılmalımı veya çıkarma

 Yanıt Yaz Yanıt Yaz
Yazar
Mesaj
  Konu Arama Konu Arama  Topic Seçenekleri Topic Seçenekleri
maliwankenobi254 Açılır Kutu İzle
Yeni Üye
Yeni Üye


Kayıt Tarihi: 23 Mart 2026
Durum: Aktif Değil
Puanlar: 27
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı maliwankenobi254 Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: ekleme yapılmalımı veya çıkarma
    Gönderim Zamanı: 4 Saat 51 Dakika Önce Saat 12:07
var
  AnaForm: TclForm;
  MqttIstemci: TCLMqttClient;
  SicaklikYazi, ToprakYazi, DepoYazi, YagmurYazi, BaslikYazi: TclProLabel;
  PompaDugme: TclProButton;
  BaslikPanel, SicaklikPanel, ToprakPanel, DepoPanel, YagmurPanel: TclProPanel;
  LogoResim: TclProImage;
 
void BaglantiKuruldu;
{
  MqttIstemci.Subscribe('isabet/iot/data', 1);
}
 
void MesajGeldi;
var
  mesaj: String;
{
  mesaj = AnaForm.clPayload;
  if (mesaj == '') Exit;
 
  SicaklikYazi.Text = '🌡️ Hava: ' + Clomosy.CLParseJSON(mesaj, 'temp') + '°C';
  ToprakYazi.Text   = '💧 Toprak Nemi: %' + Clomosy.CLParseJSON(mesaj, 'soil');
 
  if (Clomosy.CLParseJSON(mesaj, 'rain') == '1')
  {
    YagmurYazi.Text = '🌧️ Durum: Yagmur Yagiyor';
    YagmurYazi.clProSettings.FontColor = clAlphaColor.clRed;
  }
  else
  {
    YagmurYazi.Text = '☀️ Durum: Hava Acik';
    YagmurYazi.clProSettings.FontColor = clAlphaColor.clLightgreen;
  }
  YagmurYazi.SetclProSettings(YagmurYazi.clProSettings);
 
  if (Clomosy.CLParseJSON(mesaj, 'tank') == '1')
  {
    DepoYazi.Text = '🌊 Depo: DOLU';
    DepoYazi.clProSettings.FontColor = clAlphaColor.clLightgreen;
  }
  else
  {
    DepoYazi.Text = '🌊 Depo: BOS ⚠️';
    DepoYazi.clProSettings.FontColor = clAlphaColor.clRed;
  }
  DepoYazi.SetclProSettings(DepoYazi.clProSettings);
}
 
void PompaDugmeTiklandi;
{
  MqttIstemci.Channel = 'isabet/iot/ctrl';
  if (PompaDugme.Text == 'SULAMAYI BASLAT')
  {
    MqttIstemci.Send('PUMP_ON', 1, False);
    PompaDugme.Text = 'DURDUR';
    PompaDugme.clProSettings.BackgroundColor = clAlphaColor.clRed;
  }
  else
  {
    MqttIstemci.Send('PUMP_OFF', 1, False);
    PompaDugme.Text = 'SULAMAYI BASLAT';
    PompaDugme.clProSettings.BackgroundColor = clAlphaColor.clDarkgreen;
  }
  PompaDugme.SetclProSettings(PompaDugme.clProSettings);
}
{
 
  AnaForm = TclForm.Create(Self);
  AnaForm.SetFormColor('#1B2631', '', clGNone);
 
  MqttIstemci = AnaForm.AddNewMQTTClient(AnaForm, 'MqttIstemci');
  AnaForm.AddNewEvent(MqttIstemci, tbeOnMQTTClientMessage, 'MesajGeldi');
  AnaForm.AddNewEvent(MqttIstemci, tbeOnMQTTClientConnected, 'BaglantiKuruldu');
  MqttIstemci.BrokerHost = 'broker.hivemq.com';// buraya ip adresi eklenicek
  MqttIstemci.Port = 1883;
  MqttIstemci.Connect;
  
  BaslikPanel = AnaForm.AddNewProPanel(AnaForm, 'BaslikPanel');
  BaslikPanel.Align = alTop;
  BaslikPanel.Height = 60;
  BaslikPanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#2C3E50');
  BaslikPanel.SetclProSettings(BaslikPanel.clProSettings);
 
  BaslikYazi = AnaForm.AddNewProLabel(BaslikPanel, 'BaslikYazi', 'Isabet-IoT Akilli Sulama Sistemi');
  BaslikYazi.Align = alClient;
  BaslikYazi.clProSettings.FontSize = 18;
  BaslikYazi.clProSettings.FontColor = clAlphaColor.clWhite;
  BaslikYazi.clProSettings.FontHorzAlign = palCenter;
  BaslikYazi.clProSettings.FontVertAlign = palCenter;
  BaslikYazi.SetclProSettings(BaslikYazi.clProSettings);
 

  LogoResim = AnaForm.AddNewProImage(AnaForm, 'LogoResim');
  LogoResim.Align = alTop;
  LogoResim.Height = 180;
  LogoResim.clProSettings.PictureSource = 'https://resmim.net/cdn/2026/05/12/C0AxYH.jpg';
  LogoResim.clProSettings.PictureStretch = True;
  LogoResim.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#1B2631');
  LogoResim.SetclProSettings(LogoResim.clProSettings);
 

  SicaklikPanel = AnaForm.AddNewProPanel(AnaForm, 'SicaklikPanel');
  SicaklikPanel.Align = alTop;
  SicaklikPanel.Height = 70;
  SicaklikPanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#34495E');
  SicaklikPanel.clProSettings.RoundHeight = 15;
  SicaklikPanel.SetclProSettings(SicaklikPanel.clProSettings);
 
  SicaklikYazi = AnaForm.AddNewProLabel(SicaklikPanel, 'SicaklikYazi', '🌡️ Hava: --°C');
  SicaklikYazi.Align = alClient;
  SicaklikYazi.clProSettings.FontSize = 16;
  SicaklikYazi.clProSettings.FontColor = clAlphaColor.clWhite;
  SicaklikYazi.clProSettings.FontHorzAlign = palCenter;
  SicaklikYazi.clProSettings.FontVertAlign = palCenter;
  SicaklikYazi.SetclProSettings(SicaklikYazi.clProSettings);
 
  ToprakPanel = AnaForm.AddNewProPanel(AnaForm, 'ToprakPanel');
  ToprakPanel.Align = alTop;
  ToprakPanel.Height = 70;
  ToprakPanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#34495E');
  ToprakPanel.clProSettings.RoundHeight = 15;
  ToprakPanel.SetclProSettings(ToprakPanel.clProSettings);
 
  ToprakYazi = AnaForm.AddNewProLabel(ToprakPanel, 'ToprakYazi', '💧 Toprak Nemi: --%');
  ToprakYazi.Align = alClient;
  ToprakYazi.clProSettings.FontSize = 16;
  ToprakYazi.clProSettings.FontColor = clAlphaColor.clWhite;
  ToprakYazi.clProSettings.FontHorzAlign = palCenter;
  ToprakYazi.clProSettings.FontVertAlign = palCenter;
  ToprakYazi.SetclProSettings(ToprakYazi.clProSettings);
 
  YagmurPanel = AnaForm.AddNewProPanel(AnaForm, 'YagmurPanel');
  YagmurPanel.Align = alTop;
  YagmurPanel.Height = 70;
  YagmurPanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#34495E');
  YagmurPanel.clProSettings.RoundHeight = 15;
  YagmurPanel.SetclProSettings(YagmurPanel.clProSettings);
 
  YagmurYazi = AnaForm.AddNewProLabel(YagmurPanel, 'YagmurYazi', '☀️ Durum: --');
  YagmurYazi.Align = alClient;
  YagmurYazi.clProSettings.FontSize = 16;
  YagmurYazi.clProSettings.FontColor = clAlphaColor.clWhite;
  YagmurYazi.clProSettings.FontHorzAlign = palCenter;
  YagmurYazi.clProSettings.FontVertAlign = palCenter;
  YagmurYazi.SetclProSettings(YagmurYazi.clProSettings);
 
  DepoPanel = AnaForm.AddNewProPanel(AnaForm, 'DepoPanel');
  DepoPanel.Align = alTop;
  DepoPanel.Height = 70;
  DepoPanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#34495E');
  DepoPanel.clProSettings.RoundHeight = 15;
  DepoPanel.SetclProSettings(DepoPanel.clProSettings);
 
  DepoYazi = AnaForm.AddNewProLabel(DepoPanel, 'DepoYazi', '🌊 Depo: --');
  DepoYazi.Align = alClient;
  DepoYazi.clProSettings.FontSize = 16;
  DepoYazi.clProSettings.FontColor = clAlphaColor.clWhite;
  DepoYazi.clProSettings.FontHorzAlign = palCenter;
  DepoYazi.clProSettings.FontVertAlign = palCenter;
  DepoYazi.SetclProSettings(DepoYazi.clProSettings);
 
  PompaDugme = AnaForm.AddNewProButton(AnaForm, 'PompaDugme', 'SULAMAYI BASLAT');
  PompaDugme.Align = alBottom;
  PompaDugme.Height = 80;
  PompaDugme.clProSettings.BackgroundColor = clAlphaColor.clDarkgreen;
  PompaDugme.clProSettings.FontColor = clAlphaColor.clWhite;
  PompaDugme.clProSettings.FontSize = 18;
  PompaDugme.clProSettings.RoundHeight = 20;
  PompaDugme.SetclProSettings(PompaDugme.clProSettings);
 
  AnaForm.AddNewEvent(PompaDugme, tbeOnClick, 'PompaDugmeTiklandi');
 
  AnaForm.Run;
}             BU BİR AKILLI SAKSI ÖRNEK KODU MQTT BAĞLANTISI HATA VERİYOR VE BU KODA EKLENMESİ GEREKEN EĞER VARSA DÜZELTEBİLİRMİSİNİZ MQTT BAĞLANTISI OLMUYORCry
< defer="" ="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" -cf-beacon=""version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"_timing":"name":"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true,"location_startswith":null" crossorigin="anonymous">
Yukarı Dön
Nevra Nur Açılır Kutu İzle
Deneyimli Üye
Deneyimli Üye


Kayıt Tarihi: 09 Şubat 2026
Konum: konya
Durum: Aktif
Puanlar: 60
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Nevra Nur Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 1 saat 53 Dakika Önce Saat 15:05
Merhabalar,
var
  AnaForm: TclForm;
  MqttIstemci: TCLMqttClient;
  SicaklikYazi, ToprakYazi, DepoYazi, YagmurYazi, BaslikYazi: TclProLabel;
  PompaDugme: TclProButton;
  BaslikPanel, SicaklikPanel, ToprakPanel, DepoPanel, YagmurPanel: TclProPanel;
  LogoResim: TclProImage;

void BaglantiKuruldu;
{
  MqttIstemci.Subscribe('isabet/iot/data', 1);
}

void MesajGeldi;
var
  mesaj: String;
{
  mesaj = AnaForm.clPayload;
  if (mesaj == '') Exit;

  SicaklikYazi.Text = '🌡️ Hava: ' + Clomosy.CLParseJSON(mesaj, 'temp') + '°C';
  ToprakYazi.Text   = '💧 Toprak Nemi: %' + Clomosy.CLParseJSON(mesaj, 'soil');

  if (Clomosy.CLParseJSON(mesaj, 'rain') == '1')
  {
    YagmurYazi.Text = '🌧️ Durum: Yagmur Yagiyor';
    YagmurYazi.clProSettings.FontColor = clAlphaColor.clRed;
  }
  else
  {
    YagmurYazi.Text = '☀️ Durum: Hava Acik';
    YagmurYazi.clProSettings.FontColor = clAlphaColor.clLightgreen;
  }
  YagmurYazi.SetclProSettings(YagmurYazi.clProSettings);

  if (Clomosy.CLParseJSON(mesaj, 'tank') == '1')
  {
    DepoYazi.Text = '🌊 Depo: DOLU';
    DepoYazi.clProSettings.FontColor = clAlphaColor.clLightgreen;
  }
  else
  {
    DepoYazi.Text = '🌊 Depo: BOS ⚠️';
    DepoYazi.clProSettings.FontColor = clAlphaColor.clRed;
  }
  DepoYazi.SetclProSettings(DepoYazi.clProSettings);
}

void PompaDugmeTiklandi;
{
  if (PompaDugme.Text == 'SULAMAYI BASLAT')
  {
    MqttIstemci.Publish('isabet/iot/ctrl', 'PUMP_ON', 0, False);
    PompaDugme.Text = 'DURDUR';
    PompaDugme.clProSettings.BackgroundColor = clAlphaColor.clRed;
  }
  else
  {
    MqttIstemci.Publish('isabet/iot/ctrl', 'PUMP_OFF', 0, False);
    PompaDugme.Text = 'SULAMAYI BASLAT';
    PompaDugme.clProSettings.BackgroundColor = clAlphaColor.clDarkgreen;
  }
  PompaDugme.SetclProSettings(PompaDugme.clProSettings);
}

{
  AnaForm = TclForm.Create(Self);
  AnaForm.SetFormColor('#1B2631', '', clGNone);

  MqttIstemci = AnaForm.AddNewMQTTClient(AnaForm, 'MqttIstemci');
  AnaForm.AddNewEvent(MqttIstemci, tbeOnMQTTClientMessage, 'MesajGeldi');
  AnaForm.AddNewEvent(MqttIstemci, tbeOnMQTTClientConnected, 'BaglantiKuruldu');
  
  MqttIstemci.BrokerHost = 'broker.hivemq.com';
  MqttIstemci.Port = 1883;
  MqttIstemci.Connect;
  
  BaslikPanel = AnaForm.AddNewProPanel(AnaForm, 'BaslikPanel');
  BaslikPanel.Align = alTop;
  BaslikPanel.Height = 60;
  BaslikPanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#2C3E50');
  BaslikPanel.SetclProSettings(BaslikPanel.clProSettings);
  
  BaslikYazi = AnaForm.AddNewProLabel(BaslikPanel, 'BaslikYazi', 'Isabet-IoT Akilli Sulama Sistemi');
  BaslikYazi.Align = alClient;
  BaslikYazi.clProSettings.FontSize = 18;
  BaslikYazi.clProSettings.FontColor = clAlphaColor.clWhite;
  BaslikYazi.clProSettings.FontHorzAlign = palCenter;
  BaslikYazi.clProSettings.FontVertAlign = palCenter;
  BaslikYazi.SetclProSettings(BaslikYazi.clProSettings);

  LogoResim = AnaForm.AddNewProImage(AnaForm, 'LogoResim');
  LogoResim.Align = alTop;
  LogoResim.Height = 180;
  LogoResim.clProSettings.PictureSource = 'https://resmim.net/cdn/2026/05/12/C0AxYH.jpg';
  LogoResim.clProSettings.PictureStretch = True;
  LogoResim.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#1B2631');
  LogoResim.SetclProSettings(LogoResim.clProSettings);

  SicaklikPanel = AnaForm.AddNewProPanel(AnaForm, 'SicaklikPanel');
  SicaklikPanel.Align = alTop;
  SicaklikPanel.Height = 70;
  SicaklikPanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#34495E');
  SicaklikPanel.clProSettings.RoundHeight = 15;
  SicaklikPanel.SetclProSettings(SicaklikPanel.clProSettings);
  
  SicaklikYazi = AnaForm.AddNewProLabel(SicaklikPanel, 'SicaklikYazi', '🌡️ Hava: --°C');
  SicaklikYazi.Align = alClient;
  SicaklikYazi.clProSettings.FontSize = 16;
  SicaklikYazi.clProSettings.FontColor = clAlphaColor.clWhite;
  SicaklikYazi.clProSettings.FontHorzAlign = palCenter;
  SicaklikYazi.clProSettings.FontVertAlign = palCenter;
  SicaklikYazi.SetclProSettings(SicaklikYazi.clProSettings);
  
  ToprakPanel = AnaForm.AddNewProPanel(AnaForm, 'ToprakPanel');
  ToprakPanel.Align = alTop;
  ToprakPanel.Height = 70;
  ToprakPanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#34495E');
  ToprakPanel.clProSettings.RoundHeight = 15;
  ToprakPanel.SetclProSettings(ToprakPanel.clProSettings);
  
  ToprakYazi = AnaForm.AddNewProLabel(ToprakPanel, 'ToprakYazi', '💧 Toprak Nemi: --%');
  ToprakYazi.Align = alClient;
  ToprakYazi.clProSettings.FontSize = 16;
  ToprakYazi.clProSettings.FontColor = clAlphaColor.clWhite;
  ToprakYazi.clProSettings.FontHorzAlign = palCenter;
  ToprakYazi.clProSettings.FontVertAlign = palCenter;
  ToprakYazi.SetclProSettings(ToprakYazi.clProSettings);
  
  YagmurPanel = AnaForm.AddNewProPanel(AnaForm, 'YagmurPanel');
  YagmurPanel.Align = alTop;
  YagmurPanel.Height = 70;
  YagmurPanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#34495E');
  YagmurPanel.clProSettings.RoundHeight = 15;
  YagmurPanel.SetclProSettings(YagmurPanel.clProSettings);
  
  YagmurYazi = AnaForm.AddNewProLabel(YagmurPanel, 'YagmurYazi', '☀️ Durum: --');
  YagmurYazi.Align = alClient;
  YagmurYazi.clProSettings.FontSize = 16;
  YagmurYazi.clProSettings.FontColor = clAlphaColor.clWhite;
  YagmurYazi.clProSettings.FontHorzAlign = palCenter;
  YagmurYazi.clProSettings.FontVertAlign = palCenter;
  YagmurYazi.SetclProSettings(YagmurYazi.clProSettings);
  
  DepoPanel = AnaForm.AddNewProPanel(AnaForm, 'DepoPanel');
  DepoPanel.Align = alTop;
  DepoPanel.Height = 70;
  DepoPanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#34495E');
  DepoPanel.clProSettings.RoundHeight = 15;
  DepoPanel.SetclProSettings(DepoPanel.clProSettings);
  
  DepoYazi = AnaForm.AddNewProLabel(DepoPanel, 'DepoYazi', '🌊 Depo: --');
  DepoYazi.Align = alClient;
  DepoYazi.clProSettings.FontSize = 16;
  DepoYazi.clProSettings.FontColor = clAlphaColor.clWhite;
  DepoYazi.clProSettings.FontHorzAlign = palCenter;
  DepoYazi.clProSettings.FontVertAlign = palCenter;
  DepoYazi.SetclProSettings(DepoYazi.clProSettings);
  
  PompaDugme = AnaForm.AddNewProButton(AnaForm, 'PompaDugme', 'SULAMAYI BASLAT');
  PompaDugme.Align = alBottom;
  PompaDugme.Height = 80;
  PompaDugme.clProSettings.BackgroundColor = clAlphaColor.clDarkgreen;
  PompaDugme.clProSettings.FontColor = clAlphaColor.clWhite;
  PompaDugme.clProSettings.FontSize = 18;
  PompaDugme.clProSettings.RoundHeight = 20;
  PompaDugme.SetclProSettings(PompaDugme.clProSettings);
  
  AnaForm.AddNewEvent(PompaDugme, tbeOnClick, 'PompaDugmeTiklandi');
  
  AnaForm.Run;
}  Birde bu şekilde dener misin? Ayrıca yurt veya okul interneti gibi kısıtlı, güvenlik duvarı olan Wi-Fi ağlarında cihazların haberleştiği standart MQTT portu engelli olabilir.  Wi-Fi'dan çıkarıp mobil internet ile test etmen bağlantı engelini aşmanı sağlayabilir.
https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">

Yukarı Dön
kaanl0 Açılır Kutu İzle
Kıdemli Üye
Kıdemli Üye
Simge

Kayıt Tarihi: 16 Eylül 2025
Konum: konya
Durum: Aktif Değil
Puanlar: 329
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı kaanl0 Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 1 saat 41 Dakika Önce Saat 15:17
Merhaba bazı durumlarda internet veya sunucu bağlantısı koptuğunda runtime error verebiliyor. Senin kodunda bir problem yok, ben sadece 1 kontrol ekledim eğer bağlantı yoksa runtime error vermek yerine showmessage döndürecek eğer bağlantı düzelirse tekrar bastığında çalışacak. Ayrıca fazla ardunio bilgim yok fakat hivemq.com'dan bağlanıp {"temp":"24", "soil":"49", "rain":"0", "tank":"1"} gibi mesajlarda uygulamanın çalışırlığınıda test ettim. Şuan bir problem göremiyorum eğer varsa geri dönüş bekliyorum 

var
  AnaForm: TclForm;
  MqttIstemci: TCLMqttClient;
  SicaklikYazi, ToprakYazi, DepoYazi, YagmurYazi, BaslikYazi: TclProLabel;
  PompaDugme: TclProButton;
  BaslikPanel, SicaklikPanel, ToprakPanel, DepoPanel, YagmurPanel: TclProPanel;
  LogoResim: TclProImage;
  
  // YENİ EKLENDİ: Clomosy'de IsConnected olmadığı için bağlantı durumunu biz tutacağız
  MqttBagliMi: Boolean; 
 
void BaglantiKuruldu;
{
  MqttBagliMi = True; // Bağlantı kurulduğunda izin ver
  MqttIstemci.Subscribe('isabet/iot/data', 1);
}
 
void MesajGeldi;
var
  mesaj: String;
{
  mesaj = AnaForm.clPayload;
  if (mesaj == '') Exit;
 
  SicaklikYazi.Text = '🌡️ Hava: ' + Clomosy.CLParseJSON(mesaj, 'temp') + '°C';
  ToprakYazi.Text   = '💧 Toprak Nemi: %' + Clomosy.CLParseJSON(mesaj, 'soil');
 
  if (Clomosy.CLParseJSON(mesaj, 'rain') == '1')
  {
    YagmurYazi.Text = '🌧️ Durum: Yagmur Yagiyor';
    YagmurYazi.clProSettings.FontColor = clAlphaColor.clRed;
  }
  else
  {
    YagmurYazi.Text = '☀️ Durum: Hava Acik';
    YagmurYazi.clProSettings.FontColor = clAlphaColor.clLightgreen;
  }
  YagmurYazi.SetclProSettings(YagmurYazi.clProSettings);
 
  if (Clomosy.CLParseJSON(mesaj, 'tank') == '1')
  {
    DepoYazi.Text = '🌊 Depo: DOLU';
    DepoYazi.clProSettings.FontColor = clAlphaColor.clLightgreen;
  }
  else
  {
    DepoYazi.Text = '🌊 Depo: BOS ⚠️';
    DepoYazi.clProSettings.FontColor = clAlphaColor.clRed;
  }
  DepoYazi.SetclProSettings(DepoYazi.clProSettings);
}
 
void PompaDugmeTiklandi;
{
  // YENİ EKLENDİ: Eğer henüz bağlanmadıysa göndermeye çalışma, çökmeyi engelle
  if (not MqttBagliMi) 
  {
    ShowMessage('Sunucu bağlantısı bekleniyor...');
    Exit;
  }

  MqttIstemci.Channel = 'isabet/iot/ctrl';
  if (PompaDugme.Text == 'SULAMAYI BASLAT')
  {
    MqttIstemci.Send('PUMP_ON', 1, False);
    PompaDugme.Text = 'DURDUR';
    PompaDugme.clProSettings.BackgroundColor = clAlphaColor.clRed;
  }
  else
  {
    MqttIstemci.Send('PUMP_OFF', 1, False);
    PompaDugme.Text = 'SULAMAYI BASLAT';
    PompaDugme.clProSettings.BackgroundColor = clAlphaColor.clDarkgreen;
  }
  PompaDugme.SetclProSettings(PompaDugme.clProSettings);
}
{
  MqttBagliMi = False; // Başlangıçta bağlı değil olarak işaretle

  AnaForm = TclForm.Create(Self);
  AnaForm.SetFormColor('#1B2631', '', clGNone);
 
  MqttIstemci = AnaForm.AddNewMQTTClient(AnaForm, 'MqttIstemci');
  AnaForm.AddNewEvent(MqttIstemci, tbeOnMQTTClientMessage, 'MesajGeldi');
  AnaForm.AddNewEvent(MqttIstemci, tbeOnMQTTClientConnected, 'BaglantiKuruldu');
  MqttIstemci.BrokerHost = 'broker.hivemq.com';// buraya ip adresi eklenicek
  MqttIstemci.Port = 1883;
  MqttIstemci.Connect;
  
  BaslikPanel = AnaForm.AddNewProPanel(AnaForm, 'BaslikPanel');
  BaslikPanel.Align = alTop;
  BaslikPanel.Height = 60;
  BaslikPanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#2C3E50');
  BaslikPanel.SetclProSettings(BaslikPanel.clProSettings);
 
  BaslikYazi = AnaForm.AddNewProLabel(BaslikPanel, 'BaslikYazi', 'Isabet-IoT Akilli Sulama Sistemi');
  BaslikYazi.Align = alClient;
  BaslikYazi.clProSettings.FontSize = 18;
  BaslikYazi.clProSettings.FontColor = clAlphaColor.clWhite;
  BaslikYazi.clProSettings.FontHorzAlign = palCenter;
  BaslikYazi.clProSettings.FontVertAlign = palCenter;
  BaslikYazi.SetclProSettings(BaslikYazi.clProSettings);
 

  LogoResim = AnaForm.AddNewProImage(AnaForm, 'LogoResim');
  LogoResim.Align = alTop;
  LogoResim.Height = 180;
  LogoResim.clProSettings.PictureSource = 'https://resmim.net/cdn/2026/05/12/C0AxYH.jpg';
  LogoResim.clProSettings.PictureStretch = True;
  LogoResim.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#1B2631');
  LogoResim.SetclProSettings(LogoResim.clProSettings);
 

  SicaklikPanel = AnaForm.AddNewProPanel(AnaForm, 'SicaklikPanel');
  SicaklikPanel.Align = alTop;
  SicaklikPanel.Height = 70;
  SicaklikPanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#34495E');
  SicaklikPanel.clProSettings.RoundHeight = 15;
  SicaklikPanel.SetclProSettings(SicaklikPanel.clProSettings);
 
  SicaklikYazi = AnaForm.AddNewProLabel(SicaklikPanel, 'SicaklikYazi', '🌡️ Hava: --°C');
  SicaklikYazi.Align = alClient;
  SicaklikYazi.clProSettings.FontSize = 16;
  SicaklikYazi.clProSettings.FontColor = clAlphaColor.clWhite;
  SicaklikYazi.clProSettings.FontHorzAlign = palCenter;
  SicaklikYazi.clProSettings.FontVertAlign = palCenter;
  SicaklikYazi.SetclProSettings(SicaklikYazi.clProSettings);
 
  ToprakPanel = AnaForm.AddNewProPanel(AnaForm, 'ToprakPanel');
  ToprakPanel.Align = alTop;
  ToprakPanel.Height = 70;
  ToprakPanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#34495E');
  ToprakPanel.clProSettings.RoundHeight = 15;
  ToprakPanel.SetclProSettings(ToprakPanel.clProSettings);
 
  ToprakYazi = AnaForm.AddNewProLabel(ToprakPanel, 'ToprakYazi', '💧 Toprak Nemi: --%');
  ToprakYazi.Align = alClient;
  ToprakYazi.clProSettings.FontSize = 16;
  ToprakYazi.clProSettings.FontColor = clAlphaColor.clWhite;
  ToprakYazi.clProSettings.FontHorzAlign = palCenter;
  ToprakYazi.clProSettings.FontVertAlign = palCenter;
  ToprakYazi.SetclProSettings(ToprakYazi.clProSettings);
 
  YagmurPanel = AnaForm.AddNewProPanel(AnaForm, 'YagmurPanel');
  YagmurPanel.Align = alTop;
  YagmurPanel.Height = 70;
  YagmurPanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#34495E');
  YagmurPanel.clProSettings.RoundHeight = 15;
  YagmurPanel.SetclProSettings(YagmurPanel.clProSettings);
 
  YagmurYazi = AnaForm.AddNewProLabel(YagmurPanel, 'YagmurYazi', '☀️ Durum: --');
  YagmurYazi.Align = alClient;
  YagmurYazi.clProSettings.FontSize = 16;
  YagmurYazi.clProSettings.FontColor = clAlphaColor.clWhite;
  YagmurYazi.clProSettings.FontHorzAlign = palCenter;
  YagmurYazi.clProSettings.FontVertAlign = palCenter;
  YagmurYazi.SetclProSettings(YagmurYazi.clProSettings);
 
  DepoPanel = AnaForm.AddNewProPanel(AnaForm, 'DepoPanel');
  DepoPanel.Align = alTop;
  DepoPanel.Height = 70;
  DepoPanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#34495E');
  DepoPanel.clProSettings.RoundHeight = 15;
  DepoPanel.SetclProSettings(DepoPanel.clProSettings);
 
  DepoYazi = AnaForm.AddNewProLabel(DepoPanel, 'DepoYazi', '🌊 Depo: --');
  DepoYazi.Align = alClient;
  DepoYazi.clProSettings.FontSize = 16;
  DepoYazi.clProSettings.FontColor = clAlphaColor.clWhite;
  DepoYazi.clProSettings.FontHorzAlign = palCenter;
  DepoYazi.clProSettings.FontVertAlign = palCenter;
  DepoYazi.SetclProSettings(DepoYazi.clProSettings);
 
  PompaDugme = AnaForm.AddNewProButton(AnaForm, 'PompaDugme', 'SULAMAYI BASLAT');
  PompaDugme.Align = alBottom;
  PompaDugme.Height = 80;
  PompaDugme.clProSettings.BackgroundColor = clAlphaColor.clDarkgreen;
  PompaDugme.clProSettings.FontColor = clAlphaColor.clWhite;
  PompaDugme.clProSettings.FontSize = 18;
  PompaDugme.clProSettings.RoundHeight = 20;
  PompaDugme.SetclProSettings(PompaDugme.clProSettings);
 
  AnaForm.AddNewEvent(PompaDugme, tbeOnClick, 'PompaDugmeTiklandi');
 
  AnaForm.Run;
}
https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">
Yukarı Dön
maliwankenobi254 Açılır Kutu İzle
Yeni Üye
Yeni Üye


Kayıt Tarihi: 23 Mart 2026
Durum: Aktif Değil
Puanlar: 27
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı maliwankenobi254 Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 49 Dakika Önce Saat 16:09
var
  AnaForm: TclForm;
  MqttIstemci: TCLMqttClient;
  SicaklikYazi, ToprakYazi, DepoYazi, YagmurYazi, BaslikYazi, LblStatus: TclProLabel;
  PompaDugme: TclProButton;
  BaslikPanel, SicaklikPanel, ToprakPanel, DepoPanel, YagmurPanel: TclProPanel;
  LogoResim: TclProImage;
  
  MqttBagliMi: Boolean; 
 
void BaglantiKuruldu;
{
  MqttBagliMi = True; 
  MqttIstemci.Subscribe('isabet/iot/data', 1);
  
  LblStatus.Text = 'SİSTEM DURUMU: ÇEVRİMİÇİ ✅';
  LblStatus.clProSettings.FontColor = clAlphaColor.clLightgreen;
  LblStatus.SetclProSettings(LblStatus.clProSettings);
}

void BaglantiKoptu;
{
  MqttBagliMi = False;
  LblStatus.Text = 'SİSTEM DURUMU: BAĞLANTI KESİLDİ ❌';
  LblStatus.clProSettings.FontColor = clAlphaColor.clRed;
  LblStatus.SetclProSettings(LblStatus.clProSettings);
}
 
void MesajGeldi;
var
  mesaj: String;
{
  mesaj = AnaForm.clPayload;
  if (mesaj == '') Exit;
 
  SicaklikYazi.Text = '🌡️ Hava: ' + Clomosy.CLParseJSON(mesaj, 'temp') + '°C';
  ToprakYazi.Text   = '💧 Toprak Nemi: %' + Clomosy.CLParseJSON(mesaj, 'soil');
 
  if (Clomosy.CLParseJSON(mesaj, 'rain') == '1')
  {
    YagmurYazi.Text = '🌧️ Durum: Yagmur Yagiyor';
    YagmurYazi.clProSettings.FontColor = clAlphaColor.clRed;
  }
  else
  {
    YagmurYazi.Text = '☀️ Durum: Hava Acik';
    YagmurYazi.clProSettings.FontColor = clAlphaColor.clLightgreen;
  }
  YagmurYazi.SetclProSettings(YagmurYazi.clProSettings);
 
  if (Clomosy.CLParseJSON(mesaj, 'water') == '1')
  {
    DepoYazi.Text = '🌊 Depo: DOLU';
    DepoYazi.clProSettings.FontColor = clAlphaColor.clLightgreen;
  }
  else
  {
    DepoYazi.Text = '🌊 Depo: BOS ⚠️';
    DepoYazi.clProSettings.FontColor = clAlphaColor.clRed;
  }
  DepoYazi.SetclProSettings(DepoYazi.clProSettings);
}
 
void PompaDugmeTiklandi;
{
  if (not MqttBagliMi) 
  {
    ShowMessage('Sunucu bağlantısı bekleniyor...');
    Exit;
  }

  MqttIstemci.Channel = 'isabet/iot/control';
  
  if (PompaDugme.Text == 'SULAMAYI BASLAT')
  {
    MqttIstemci.Send('IOT|VALVE|ON', 1, False);
    PompaDugme.Text = 'DURDUR';
    PompaDugme.clProSettings.BackgroundColor = clAlphaColor.clRed;
  }
  else
  {
    MqttIstemci.Send('IOT|VALVE|OFF', 1, False);
    PompaDugme.Text = 'SULAMAYI BASLAT';
    PompaDugme.clProSettings.BackgroundColor = clAlphaColor.clDarkgreen;
  }
  PompaDugme.SetclProSettings(PompaDugme.clProSettings);
}

{
  MqttBagliMi = False; 

  AnaForm = TclForm.Create(Self);
  AnaForm.SetFormColor('#1B2631', '', clGNone);
 
  MqttIstemci = AnaForm.AddNewMQTTClient(AnaForm, 'MqttIstemci');
  AnaForm.AddNewEvent(MqttIstemci, tbeOnMQTTClientMessage, 'MesajGeldi');
  AnaForm.AddNewEvent(MqttIstemci, tbeOnMQTTClientConnected, 'BaglantiKuruldu');
  AnaForm.AddNewEvent(MqttIstemci, tbeOnMQTTClientDisconnected, 'BaglantiKoptu'); 

  MqttIstemci.BrokerHost = 'broker.hivemq.com'; 
  MqttIstemci.Port = 1883;
  
  BaslikPanel = AnaForm.AddNewProPanel(AnaForm, 'BaslikPanel');
  BaslikPanel.Align = alTop;
  BaslikPanel.Height = 60;
  BaslikPanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#2C3E50');
  BaslikPanel.SetclProSettings(BaslikPanel.clProSettings);
 
  BaslikYazi = AnaForm.AddNewProLabel(BaslikPanel, 'BaslikYazi', 'Isabet-IoT Akilli Sulama Sistemi');
  BaslikYazi.Align = alClient;
  BaslikYazi.clProSettings.FontSize = 18;
  BaslikYazi.clProSettings.FontColor = clAlphaColor.clWhite;
  BaslikYazi.clProSettings.FontHorzAlign = palCenter;
  BaslikYazi.clProSettings.FontVertAlign = palCenter;
  BaslikYazi.SetclProSettings(BaslikYazi.clProSettings);
 
  LogoResim = AnaForm.AddNewProImage(AnaForm, 'LogoResim');
  LogoResim.Align = alTop;
  LogoResim.Height = 180;
  LogoResim.clProSettings.PictureSource = 'https://resmim.net/cdn/2026/05/12/C0AxYH.jpg';
  LogoResim.clProSettings.PictureStretch = True;
  LogoResim.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#1B2631');
  LogoResim.SetclProSettings(LogoResim.clProSettings);
 
  LblStatus = AnaForm.AddNewProLabel(AnaForm, 'LblStatus', 'SİSTEM BAĞLANTISI BEKLENİYOR');
  LblStatus.Align = alTop; 
  LblStatus.Height = 30;
  LblStatus.clProSettings.FontSize = 11;
  LblStatus.clProSettings.FontColor = clAlphaColor.clGray;
  LblStatus.clProSettings.FontHorzAlign = palCenter;
  LblStatus.SetclProSettings(LblStatus.clProSettings);

  SicaklikPanel = AnaForm.AddNewProPanel(AnaForm, 'SicaklikPanel');
  SicaklikPanel.Align = alTop;
  SicaklikPanel.Height = 70;
  SicaklikPanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#34495E');
  SicaklikPanel.clProSettings.RoundHeight = 15;
  SicaklikPanel.SetclProSettings(SicaklikPanel.clProSettings);
 
  SicaklikYazi = AnaForm.AddNewProLabel(SicaklikPanel, 'SicaklikYazi', '🌡️ Hava: --°C');
  SicaklikYazi.Align = alClient;
  SicaklikYazi.clProSettings.FontSize = 16;
  SicaklikYazi.clProSettings.FontColor = clAlphaColor.clWhite;
  SicaklikYazi.clProSettings.FontHorzAlign = palCenter;
  SicaklikYazi.clProSettings.FontVertAlign = palCenter;
  SicaklikYazi.SetclProSettings(SicaklikYazi.clProSettings);
 
  ToprakPanel = AnaForm.AddNewProPanel(AnaForm, 'ToprakPanel');
  ToprakPanel.Align = alTop;
  ToprakPanel.Height = 70;
  ToprakPanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#34495E');
  ToprakPanel.clProSettings.RoundHeight = 15;
  ToprakPanel.SetclProSettings(ToprakPanel.clProSettings);
 
  ToprakYazi = AnaForm.AddNewProLabel(ToprakPanel, 'ToprakYazi', '💧 Toprak Nemi: --%');
  ToprakYazi.Align = alClient;
  ToprakYazi.clProSettings.FontSize = 16;
  ToprakYazi.clProSettings.FontColor = clAlphaColor.clWhite;
  ToprakYazi.clProSettings.FontHorzAlign = palCenter;
  ToprakYazi.clProSettings.FontVertAlign = palCenter;
  ToprakYazi.SetclProSettings(ToprakYazi.clProSettings);
 
  YagmurPanel = AnaForm.AddNewProPanel(AnaForm, 'YagmurPanel');
  YagmurPanel.Align = alTop;
  YagmurPanel.Height = 70;
  YagmurPanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#34495E');
  YagmurPanel.clProSettings.RoundHeight = 15;
  YagmurPanel.SetclProSettings(YagmurPanel.clProSettings);
 
  YagmurYazi = AnaForm.AddNewProLabel(YagmurPanel, 'YagmurYazi', '☀️ Durum: --');
  YagmurYazi.Align = alClient;
  YagmurYazi.clProSettings.FontSize = 16;
  YagmurYazi.clProSettings.FontColor = clAlphaColor.clWhite;
  YagmurYazi.clProSettings.FontHorzAlign = palCenter;
  YagmurYazi.clProSettings.FontVertAlign = palCenter;
  YagmurYazi.SetclProSettings(YagmurYazi.clProSettings);
 
  DepoPanel = AnaForm.AddNewProPanel(AnaForm, 'DepoPanel');
  DepoPanel.Align = alTop;
  DepoPanel.Height = 70;
  DepoPanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#34495E');
  DepoPanel.clProSettings.RoundHeight = 15;
  DepoPanel.SetclProSettings(DepoPanel.clProSettings);
 
  DepoYazi = AnaForm.AddNewProLabel(DepoPanel, 'DepoYazi', '🌊 Depo: --');
  DepoYazi.Align = alClient;
  DepoYazi.clProSettings.FontSize = 16;
  DepoYazi.clProSettings.FontColor = clAlphaColor.clWhite;
  DepoYazi.clProSettings.FontHorzAlign = palCenter;
  DepoYazi.clProSettings.FontVertAlign = palCenter;
  DepoYazi.SetclProSettings(DepoYazi.clProSettings);
 
  PompaDugme = AnaForm.AddNewProButton(AnaForm, 'PompaDugme', 'SULAMAYI BASLAT');
  PompaDugme.Align = alBottom;
  PompaDugme.Height = 80;
  PompaDugme.clProSettings.BackgroundColor = clAlphaColor.clDarkgreen;
  PompaDugme.clProSettings.FontColor = clAlphaColor.clWhite;
  PompaDugme.clProSettings.FontSize = 18;
  PompaDugme.clProSettings.RoundHeight = 20;
  PompaDugme.SetclProSettings(PompaDugme.clProSettings);
 
  AnaForm.AddNewEvent(PompaDugme, tbeOnClick, 'PompaDugmeTiklandi');
 
  MqttIstemci.Connect;
 
  AnaForm.Run;
}     buraya kadar geldim ama 
 bu oldu ne yapmalıyımOuch
< defer="" ="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" -cf-beacon=""version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"_timing":"name":"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true,"location_startswith":null" crossorigin="anonymous">
Yukarı Dön
maliwankenobi254 Açılır Kutu İzle
Yeni Üye
Yeni Üye


Kayıt Tarihi: 23 Mart 2026
Durum: Aktif Değil
Puanlar: 27
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı maliwankenobi254 Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 48 Dakika Önce Saat 16:10
ConfusedConfusedConfusedConfusedDAHA DOĞRUSU ŞU AN ATAMIYORUM AMA BAĞLANDI VE EKRANDA GEÇERSİZ JSON FORMATI YAZDI< defer="" ="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" -cf-beacon=""version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"_timing":"name":"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true,"location_startswith":null" crossorigin="anonymous">
Confused
Yukarı Dön
 Yanıt Yaz Yanıt Yaz

Forum Atla Forum İzinleri Açılır Kutu İzle

Forum Software by Web Wiz Forums® version 12.07
Copyright ©2001-2024 Web Wiz Ltd.

Bu Sayfa 0,055 Saniyede Yüklendi.