Sayfayı Yazdır | Pencereyi Kapat

ekleme yapılmalımı veya çıkarma

Nereden Yazdırıldığı: Clomosy | Forum
Kategori: Genel Programlama
Forum Adı: Genel İşlemler
Forum Tanımlaması: TRObject dili ile programlama yaparken karşılaşılan genel işlemler
URL: https://forum.clomosy.com.tr/forum_posts.asp?TID=1536
Tarih: 14 Mayıs 2026 Saat 16:50
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: ekleme yapılmalımı veya çıkarma
Mesajı Yazan: maliwankenobi254
Konu: ekleme yapılmalımı veya çıkarma
Mesaj Tarihi: 14 Mayıs 2026 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">



Cevaplar:
Mesajı Yazan: Nevra Nur
Mesaj Tarihi: 14 Mayıs 2026 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" rel="nofollow - 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" rel="nofollow - 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">



Mesajı Yazan: kaanl0
Mesaj Tarihi: 14 Mayıs 2026 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" rel="nofollow - 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" rel="nofollow - 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">


Mesajı Yazan: maliwankenobi254
Mesaj Tarihi: 14 Mayıs 2026 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">


Mesajı Yazan: maliwankenobi254
Mesaj Tarihi: 14 Mayıs 2026 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



Sayfayı Yazdır | Pencereyi Kapat

Forum Software by Web Wiz Forums® version 12.07 - https://www.webwizforums.com
Copyright ©2001-2024 Web Wiz Ltd. - https://www.webwiz.net