Delphi Can

Orjinalini görmek için tıklayınız: #3 USCO API ile USCO 01 Kontrol
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
USCO API ile USB kablosu ile kontrol ettiğimiz sanal SERİ PORT kullanarak çalıştırdığımız standart kontrol kartlarımızda kullandığımız USCO komutlarımızı, WEB CLIENT ile sunduğumuz TIVA TM4C1294 ARM kartımızla haberleştirip PIN lerini hem okuyup, hem de yazacağız. Bunun için bir önceki makalemizde anlatmaya çalıştığımız LOGIN PROJESİ nin alt yapısını kullanıyoruz. Aşağıdaki resmi dikkatlice inceleyip kodlarsanız büyük bir ihtimalle artık sizde API kontrol olayını anlamış olacaksınız. SONOFF veya THINGSPEAK vari işlemler nasıl yapılıyor konusunda fikir sahibi olursunuz. İyi çalışmalar.

USCO_01_API_PROJESI_1.png

USO_02_LOGO.png USO_API_LOGO.png

Aynı projenin (Tasarım kodlama ve bileşenler hemen hemen aynı) ANDROID platform APK’sını indirebilirsiniz. Direk tıklamak yerine SAĞ FARE ile “Bağlantıyı Farklı Kaydet” i seçiniz.

Sevgili @pro_imaj zannedersem isteğin bir adım daha ileri taşındı.   Smile   
Merhaba hocam,
Emekleriniz ve değerli paylaşımlarınız için teşekkür ederiz.
Vaktiniz olursa ve mümkünse kod kısmını metinsel olarak da paylaşabilir misiniz?
Bu haliyle baktığımda, hem arama motorlarında hem de forum içeriğindeki aramalarda bu konuya ulaşmamız oldukça güç.
Arama motoru veya forum arama gözü, aşağıdaki gibi görüyor.  Confused

[attachment=1137]
(29-05-2020, Saat: 12:53)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: [ -> ]Merhaba hocam,
Emekleriniz ve değerli paylaşımlarınız için teşekkür ederiz.
Vaktiniz olursa ve mümkünse kod kısmını metinsel olarak da paylaşabilir misiniz?
Bu haliyle baktığımda, hem arama motorlarında hem de forum içeriğindeki aramalarda bu konuya ulaşmamız oldukça güç.
Arama motoru veya forum arama gözü, aşağıdaki gibi görüyor.  Confused

Kodları özellikle TEXT olarak paylaşmak istememiştik. Kopyala yapıştır yapmamaları için.  Smile Bununla birlikte bu durumu da değerlendirelim.

(29-05-2020, Saat: 13:33)guverdik Adlı Kullanıcıdan Alıntı: [ -> ]
(29-05-2020, Saat: 12:53)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: [ -> ]Merhaba hocam,
Emekleriniz ve değerli paylaşımlarınız için teşekkür ederiz.
Vaktiniz olursa ve mümkünse kod kısmını metinsel olarak da paylaşabilir misiniz?
Bu haliyle baktığımda, hem arama motorlarında hem de forum içeriğindeki aramalarda bu konuya ulaşmamız oldukça güç.
Arama motoru veya forum arama gözü, aşağıdaki gibi görüyor.  Confused

Kodları özellikle TEXT olarak paylaşmak istememiştik. Kopyala yapıştır yapmamaları için.  Smile Bununla birlikte bu durumu da değerlendirelim.


Login formumuzda olan Button1'in OnClick olayı;
procedure TForm2.Button1Click(Sender: TObject);
var GELEN: String;
begin

 if Edit1.Text = '' then
 begin
   ShowMessage('Kullanıcı Adı Zorunlu');
   Exit;
 end;

 if Edit2.Text = '' then
 begin
   ShowMessage('Şifre Zorunlu');
   Exit;
 end;

 GELEN := DataForm.DATA.Temp.KULLANICI_KONTROL(Edit1.Text, Edit2.Text);
 if GELEN <> '0' then  begin
   DataForm.DATA.KULLANICI_ADI := Edit1.Text;
   DataForm.DATA.SIFRE:=Edit2.Text;
   USCO_01_KONTROL_FORM.ShowModal;
 end else ShowMessage('Kullanıcı adı veya şifre yanlış');

end;



USCO 01 Form Kontorl olayındaki kodlamalarımız.
procedure TUSCO_01_KONTROL_FORM.Button1Click(Sender: TObject);
begin
 DataForm.DATA.AIDI_GETIR(StrToInt(Edit1.Text));
end;

procedure TUSCO_01_KONTROL_FORM.Button2Click(Sender: TObject);
begin
 DataForm.DATA.Temp.CihazlarUscoDuzelt(DataForm.DATA.KULLANICI_ADI, DataForm.DATA.SIFRE, 
 (Sender as TButton).Hint, '', '', (Sender as TButton).Tag, StrToInt(Edit1.Text));
end;

procedure TUSCO_01_KONTROL_FORM.CheckBox1Click(Sender: TObject);
begin
 Timer1.Enabled := CheckBox1.Checked;
end;

procedure TUSCO_01_KONTROL_FORM.Timer1Timer(Sender: TObject);
begin
 Button1Click(Self);
end;


DataForm form'umuzdaki kodlamalarımız..
procedure TDATA.AIDI_GETIR(CIHAZ_KOD:Integer);
begin
 DataForm.DATA.AIDI_TABLE.Close;
 DataForm.DATA.lDataSet := DataForm.DATA.Temp.AIDI_GETIR(KULLANICI_ADI, SIFRE, CIHAZ_KOD);
 DataForm.DATA.DSP := TDataSetProvider.Create(Self);
 try
   DataForm.DATA.DSP.DataSet := DataForm.DATA.lDataSet;
   DataForm.DATA.AIDI_TABLE.SetProvider(DataForm.DATA.DSP);
   DataForm.DATA.AIDI_TABLE.Open;
 finally
   DataForm.DATA.AIDI_TABLE.SetProvider(nil);
   DataForm.DATA.DSP.Free;
 end;
end;

procedure TDATA.DataModuleCreate(Sender: TObject);
begin
 Temp := TServerMethods1Client.Create(DSRestConnection1);
end;

procedure TDATA.DataModuleDestroy(Sender: TObject);
begin
 Temp.Free;
end;