![]() |
| 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
|
| Yazar | |
maliwankenobi254
Yeni Üye
Kayıt Tarihi: 23 Mart 2026 Durum: Aktif Değil Puanlar: 27 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı maliwankenobi254
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
Teşekkürler(0)
Alıntı Cevapla
Konu: ekleme yapılmalımı veya çıkarmaGönderim Zamanı: 4 Saat 42 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 OLMUYOR < 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">
![]() |
|
![]() |
|
Nevra Nur
Deneyimli Üye
Kayıt Tarihi: 09 Şubat 2026 Konum: konya Durum: Aktif Değil Puanlar: 60 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı Nevra Nur
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
Teşekkürler(0)
Alıntı Cevapla
Gönderim Zamanı: 1 saat 44 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"> |
|
![]() |
|
kaanl0
Kıdemli Üye
Kayıt Tarihi: 16 Eylül 2025 Konum: konya Durum: Aktif Puanlar: 329 |
Mesaj Seçenekleri
Teşekkürler(0)
Alıntı Cevapla
Gönderim Zamanı: 1 saat 32 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">
|
|
![]() |
|
maliwankenobi254
Yeni Üye
Kayıt Tarihi: 23 Mart 2026 Durum: Aktif Değil Puanlar: 27 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı maliwankenobi254
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
Teşekkürler(0)
Alıntı Cevapla
Gönderim Zamanı: 40 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 ![]() |
|
![]() |
|
maliwankenobi254
Yeni Üye
Kayıt Tarihi: 23 Mart 2026 Durum: Aktif Değil Puanlar: 27 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı maliwankenobi254
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
Teşekkürler(0)
Alıntı Cevapla
Gönderim Zamanı: 39 Dakika Önce Saat 16:10 |
![]() ![]() ![]() DAHA 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">![]() |
|
![]() |
|
Yanıt Yaz
|
|
| Tweet |
| Forum Atla | Forum İzinleri ![]() Kapalı Foruma Yeni Konu Gönderme Kapalı Forumdaki Konulara Cevap Yazma Kapalı Forumda Cevapları Silme Kapalı Forumdaki Cevapları Düzenleme Kapalı Forumda Anket Açma Kapalı Forumda Anketlerde Oy Kullanma |