Sayfayı Yazdır | Pencereyi Kapat

mqtt bağlantı hatası

Nereden Yazdırıldığı: Clomosy | Forum
Kategori: Genel Programlama
Forum Adı: Clomosy ile değişken kullanımı
Forum Tanımlaması: TRObject dili ile değişken tanımlaması ve ekranda gösterme
URL: https://forum.clomosy.com.tr/forum_posts.asp?TID=1454
Tarih: 27 Nisan 2026 Saat 13:30
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: mqtt bağlantı hatası
Mesajı Yazan: Hüseyin_Sadik
Konu: mqtt bağlantı hatası
Mesaj Tarihi: 27 Nisan 2026 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" 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">



Cevaplar:
Mesajı Yazan: Emr.Erkmn
Mesaj Tarihi: 27 Nisan 2026 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" 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">
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 



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