18-04-2020, Saat: 16:26
(29-07-2019, Saat: 12:42)AlpDmr Adlı Kullanıcıdan Alıntı: Herkese merrhaba, sonunda problemimi aşağıdaki şekilde çözdüm;
Öncelikle cihazın ve karakteristiğin UUID tanılamasını yapıyoruz (tabi isterseniz daha sonra da yapabilirsiniz)
const SERVICE : TGUID = '{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}'; CHARACT : TGUID = '{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}';ayrıca cihaz ve karatkteristiği tanımlıyoruz
Device : TBluetoothLEDevice; FCharacteristic: TBluetoothGattCharacteristic;önemli ayrıntılardan biri BLE'nin çalışması için ACCESS_COARSE_LOCATION izninin alınmış olması gerekiyor (ben OnFormCreate yordamında çalıştırıyorum)
{$IFDEF ANDROID} FLocationPermission := JStringToString(TJManifest_permission.JavaClass.ACCESS_COARSE_LOCATION); {$ENDIF}ve izin talebinde bulunuyoruz
PermissionsService.RequestPermissions([FLocationPermission], RequestPermissionsResult, DisplayRationale);NOT: daha öne de belirttiğim gibi bu programın kodlarını detaylı olarak (..\Embarcadero\Studio\20.0\Samples\Object Pascal\Multi-Device Samples\Device Sensors and Services\Bluetooth\BLEScanner) klasöründeki örnek programda bulabilirsiniz
gerekli izinlere ulaştıktan (ve cihaza eriştikten) sonra istediğiniz karakteristiğe yazmak için
FCharacteristic:= Device.GetService(SERVICE).GetCharacteristic(CHARACT); FCharacteristic.SetValueAsString(RawByteString('komut')); Device.WriteCharacteristic(CHARACT);ÖNEMLİ: Embarcadero, mobil derleyicilerde Ansichar ve AnsiString kullanımını durdurduğundan (burada ve burada detayları bulabilirsiniz) 8-Bit iletişim ile çalışan hiçbir cihaza (neredeyse tamamı oluyor) Delphi mobil programı ile direkt veri gönderemiyorsunuz. Bu yüzdende ya TBytes kullanarak ya da benim yaptığım gibi bu harika kütüphaneyi kullanıDelphi mobil derleyicilere Ansichar ve AnsiString desteğini geri kazandırıp RawByteString kullanarak MCU'ya komutları gönderiyoruz. Gerisini de MCU'dan okuyarak hallediyoruz.
GÜNCELLEME: Örnek Delphi ve Arduino IDE uygulama kodları dosya olarak eklenmiştir.
Merhaba,
Bulduğunuz cevabı paylaşmanız çok güzel.
ESP32 nedir ne tür projelere uygundur, delphi ile neler nasıl yapılabilir, arduino vs raspberry pi ile farkları nelerdir gibi soruların cevaplarını da içeren makale hazırlarsanız çok faydalanırız, müsait olduğunuzda yazarsanız çok mutlu oluruz.

