Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Genel Programlama > Clomosy ile değişken kullanımı
  Aktif Konular Aktif Konular RSS - mqtt bağlantı hatası
  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.

mqtt bağlantı hatası

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

Kayıt Tarihi: 03 Aralık 2025
Durum: Aktif Değil
Puanlar: 16
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Hüseyin_Sadik Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: mqtt bağlantı hatası
    Gönderim Zamanı: 10 Saat 22 Dakika Önce Saat 10:22
// admin_panel
var
  MyForm: TclForm;
  CanliMQTT: TclMQTT;
  LblKirmiziDurum: TclProLabel;
  LblMaviDurum: TclProLabel;
  BtnBaslat: TclProButton;
  MemoLog: TclMemo;
  KirmiziHazir: Boolean;
  MaviHazir: Boolean;
  GelenMesaj: String;
  Komut: String;
  GelenRenk: String;
  GelenGUID: String;
  GelenAd: String;

void OnMqttMessageReceived
{
  
  if (CanliMQTT.ReceivedAlright)
  {
    GelenMesaj = CanliMQTT.ReceivedMessage;
    Komut = clGetStringTo(GelenMesaj, '|');
    
    MemoLog.Lines.Add('Gelen: ' + GelenMesaj);
    
    if (Komut == 'RENK_SEC')
    {
      GelenRenk = clGetStringTo(clGetStringAfter(GelenMesaj, '|'), '|');
      GelenGUID = clGetStringTo(clGetStringAfter(clGetStringAfter(GelenMesaj, '|'), '|'), '|');
      GelenAd = clGetStringAfter(clGetStringAfter(clGetStringAfter(GelenMesaj, '|'), '|'), '|');
      
      MemoLog.Lines.Add('Renk: ' + GelenRenk + ' - Kullanici: ' + GelenAd);
      
      if (GelenRenk == 'Kirmizi')
      {
        KirmiziHazir = True;
        LblKirmiziDurum.Text = 'KIRMIZI: HAZIR (' + GelenAd + ')';
        LblKirmiziDurum.clProSettings.FontColor = clAlphaColor.clLime;
        LblKirmiziDurum.SetclProSettings(LblKirmiziDurum.clProSettings);
        MemoLog.Lines.Add('*** KIRMIZI HAZIR ***');
      }
      else if (GelenRenk == 'Mavi')
      {
        MaviHazir = True;
        LblMaviDurum.Text = 'MAVI: HAZIR (' + GelenAd + ')';
        LblMaviDurum.clProSettings.FontColor = clAlphaColor.clLime;
        LblMaviDurum.SetclProSettings(LblMaviDurum.clProSettings);
        MemoLog.Lines.Add('*** MAVI HAZIR ***');
      }
      
      if (KirmiziHazir && MaviHazir)
      {
        BtnBaslat.Enabled = True;
        MemoLog.Lines.Add('*** IKI OYUNCU DA HAZIR! YARISMA BASLATILABILIR ***');
      }
    }
  }
}

void YarismayiBaslat
{
  if (KirmiziHazir == False)
  {
    ShowMessage('Kirmizi oyuncu hazir degil!');
    Exit;
  }
  if (MaviHazir == False)
  {
    ShowMessage('Mavi oyuncu hazir degil!');
    Exit;
  }
  
  CanliMQTT.Send('YARISMA_BASLADI');
  MemoLog.Lines.Add('*** YARISMA BASLATILDI ***');
  BtnBaslat.Enabled = False;
}

{
  MyForm = TclForm.Create(Self);
  MyForm.LytTopBar.Visible = False;
  MyForm.SetFormColor('#0F172A', '', clGNone);
  
  // MQTT
  CanliMQTT = MyForm.AddNewMQTTConnection(MyForm, 'CanliMQTT');
  CanliMQTT.Channel = 'Cekilis2026_App';
  MyForm.AddNewEvent(CanliMQTT, tbeOnMQTTPublishReceived, 'OnMqttMessageReceived');
  CanliMQTT.Connect;
  
  // Arayuz
  LblKirmiziDurum = MyForm.AddNewProLabel(MyForm, 'LblKirmiziDurum', 'KIRMIZI: BEKLIYOR');
  LblKirmiziDurum.Align = alTop;
  LblKirmiziDurum.Height = 40;
  LblKirmiziDurum.Margins.Top = 20;
  LblKirmiziDurum.clProSettings.FontColor = clAlphaColor.clRed;
  LblKirmiziDurum.clProSettings.FontSize = 16;
  LblKirmiziDurum.clProSettings.TextSettings.Font.Style = [fsBold];
  LblKirmiziDurum.SetclProSettings(LblKirmiziDurum.clProSettings);
  
  LblMaviDurum = MyForm.AddNewProLabel(MyForm, 'LblMaviDurum', 'MAVI: BEKLIYOR');
  LblMaviDurum.Align = alTop;
  LblMaviDurum.Height = 40;
  LblMaviDurum.clProSettings.FontColor = clAlphaColor.clBlue;
  LblMaviDurum.clProSettings.FontSize = 16;
  LblMaviDurum.clProSettings.TextSettings.Font.Style = [fsBold];
  LblMaviDurum.SetclProSettings(LblMaviDurum.clProSettings);
  
  BtnBaslat = MyForm.AddNewProButton(MyForm, 'BtnBaslat', 'YARISMAYI BASLAT');
  BtnBaslat.Align = alTop;
  BtnBaslat.Height = 50;
  BtnBaslat.Margins.Top = 20;
  BtnBaslat.Enabled = False;
  BtnBaslat.clProSettings.BackgroundColor = clAlphaColor.clGreen;
  BtnBaslat.clProSettings.FontColor = clAlphaColor.clWhite;
  BtnBaslat.clProSettings.FontSize = 16;
  BtnBaslat.clProSettings.RoundHeight = 10;
  BtnBaslat.clProSettings.RoundWidth = 10;
  BtnBaslat.SetclProSettings(BtnBaslat.clProSettings);
  MyForm.AddNewEvent(BtnBaslat, tbeOnClick, 'YarismayiBaslat');
  
  MemoLog = MyForm.AddNewMemo(MyForm, 'MemoLog', '');
  MemoLog.Align = alClient;
  MemoLog.Margins.Top = 20;
  MemoLog.Lines.Add('=== YARISMA LOGU ===');
  MemoLog.Lines.Add('Admin panel hazir');
  MemoLog.Lines.Add('MQTT Kanal: Cekilis2026_App');
  
  KirmiziHazir = False;
  MaviHazir = False;
  
  MyForm.Run;
}

bu admin panelini bu renksec koduna bağlayamıyorum

// renksec
var
  renkForm: TclForm;
  centerLayout: TclLayout;
  btnKirmizi: TclProButton;
  btnMavi: TclProButton;
  lblInfo: TclProLabel;
  CanliMQTT: TclMQTT;
  MyGUID: String;
  MyName: String;
  renkSecildi: Boolean;
  GelenMesaj: String;
  Komut: String;
  

void MQTTBaglan
{
  CanliMQTT = renkForm.AddNewMQTTConnection(renkForm, 'CanliMQTT');
  CanliMQTT.Channel = 'YarismaTest';
  renkForm.AddNewEvent(CanliMQTT, tbeOnMQTTPublishReceived, 'MQTTMesajGelince');
  CanliMQTT.Connect;
}

void MQTTMesajGelince
{
  if (CanliMQTT.ReceivedAlright)
  {
    GelenMesaj = CanliMQTT.ReceivedMessage;
    Komut = clGetStringTo(GelenMesaj, '|');
    
    if (Komut == 'YARISMA_BASLADI')
    {
      ShowMessage('Yarisma basliyor!');
    }
  }
}

void SecKirmizi
{
  if (renkSecildi == True)
  {
    ShowMessage('Zaten renk sectiniz!');
    Exit;
  }
  
  MyGUID = Clomosy.AppUserGUID;
  MyName = Clomosy.AppUserDisplayName;
  
  if (CanliMQTT.Connected)
  {
    CanliMQTT.Send('RENK_SEC|Kirmizi|' + MyGUID + '|' + MyName);
    ShowMessage('Mesaj gonderildi: Kirmizi');
  }
  else
  {
    ShowMessage('MQTT bagli degil!');
    Exit;
  }
  
  renkSecildi = True;
  Clomosy.RunUnit('kirmizihazir');
}

void SecMavi
{
  if (renkSecildi == True)
  {
    ShowMessage('Zaten renk sectiniz!');
    Exit;
  }
  
  MyGUID = Clomosy.AppUserGUID;
  MyName = Clomosy.AppUserDisplayName;
  
  if (CanliMQTT.Connected)
  {
    CanliMQTT.Send('RENK_SEC|Mavi|' + MyGUID + '|' + MyName);
    ShowMessage('Mesaj gonderildi: Mavi');
  }
  else
  {
    ShowMessage('MQTT bagli degil!');
    Exit;
  }
  
  renkSecildi = True;
  Clomosy.RunUnit('mavihazir');
}

{
  renkForm = TclForm.Create(Self);
  renkForm.LytTopBar.Visible = False;
  renkForm.SetFormColor('#FFFF00', '', clGNone);
  
  MQTTBaglan;
  renkSecildi = False;
  
  centerLayout = renkForm.AddNewLayout(renkForm, 'centerLayout');
  centerLayout.Align = alCenter;
  centerLayout.Width = 300;
  centerLayout.Height = 400;
  centerLayout.Margins.Top = 60;
  
  lblInfo = renkForm.AddNewProLabel(centerLayout, 'lblInfo', 'Hosgeldin: ' + Clomosy.AppUserDisplayName);
  lblInfo.Align = alTop;
  lblInfo.Height = 40;
  lblInfo.clProSettings.FontColor = clAlphaColor.clBlack;
  lblInfo.clProSettings.FontSize = 14;
  lblInfo.clProSettings.FontHorzAlign = palCenter;
  lblInfo.SetclProSettings(lblInfo.clProSettings);
  
  btnKirmizi = renkForm.AddNewProButton(centerLayout, 'btnKirmizi', 'KIRMIZI');
  btnKirmizi.Align = alTop;
  btnKirmizi.Height = 110;
  btnKirmizi.Margins.Top = 20;
  btnKirmizi.clProSettings.BackgroundColor = clAlphaColor.clRed;
  btnKirmizi.clProSettings.FontColor = clAlphaColor.clWhite;
  btnKirmizi.clProSettings.BorderColor = clAlphaColor.clBlack;
  btnKirmizi.clProSettings.BorderWidth = 3;
  btnKirmizi.clProSettings.IsRound = True;
  btnKirmizi.clProSettings.RoundHeight = 25;
  btnKirmizi.clProSettings.RoundWidth = 25;
  btnKirmizi.SetclProSettings(btnKirmizi.clProSettings);
  renkForm.AddNewEvent(btnKirmizi, tbeOnClick, 'SecKirmizi');
  
  btnMavi = renkForm.AddNewProButton(centerLayout, 'btnMavi', 'MAVI');
  btnMavi.Align = alTop;
  btnMavi.Height = 110;
  btnMavi.Margins.Top = 25;
  btnMavi.clProSettings.BackgroundColor = clAlphaColor.clBlue;
  btnMavi.clProSettings.FontColor = clAlphaColor.clWhite;
  btnMavi.clProSettings.BorderColor = clAlphaColor.clBlack;
  btnMavi.clProSettings.BorderWidth = 3;
  btnMavi.clProSettings.IsRound = True;
  btnMavi.clProSettings.RoundHeight = 25;
  btnMavi.clProSettings.RoundWidth = 25;
  btnMavi.SetclProSettings(btnMavi.clProSettings);
  renkForm.AddNewEvent(btnMavi, tbeOnClick, 'SecMavi');
  
  if (CanliMQTT.Connected)
    ShowMessage('MQTT BAGLI');
  else
    ShowMessage('MQTT BAGLI DEGIL');
  
  renkForm.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
Emr.Erkmn Açılır Kutu İzle
Moderatör
Moderatör


Kayıt Tarihi: 28 Şubat 2025
Durum: Aktif Değil
Puanlar: 812
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Emr.Erkmn Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 9 Saat 34 Dakika Önce Saat 11:10
Merhaba Hüseyin 
İki kodun birbiriyle haberleşmemesini sebebi
MQTT kanallarının farklı olmasın 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">
admin panelinde Cekilis2026_App
kullanıcı tarafında YarsimaTest 
haberleşme için aynı kanalda olmaları gerekli 

  
void MQTTBaglan
{
  CanliMQTT = renkForm.AddNewMQTTConnection(renkForm, 'CanliMQTT');
  CanliMQTT.Channel = 'Cekilis2026_App'; 
  renkForm.AddNewEvent(CanliMQTT, tbeOnMQTTPublishReceived, 'MQTTMesajGelince');
  CanliMQTT.Connect;
}

ilgili kısımları kodlar da düzeltmen yeterli 
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,156 Saniyede Yüklendi.