ارتباط با ماجول بلوتوث HC-05
سلام
من یک برنامه با دلفی XE8 و کامپوننت TBluetooth نوشته ام که اگر روی دو تا گوشی اندرویدی نصب بشه، میتونن برای هم ارسال و دریافت اطلاعات رو انجام بدن ولی وقتی با همین برنامه از روی یک گوشی اندرویدی میخوام اطلاعات رو به ماجول بلوتوث HC-05 ارسال کنم، دریافتی صورت نمیگیرد. دلیلش چی میتونه باشه؟
نقل قول: ارتباط با ماجول بلوتوث HC-05
با تشکر از توجه دوستان، روال برنامه رو توضیح میدم تا شاید در حل مشکل مفید باشه
در ابتدا روال OpenSocket برای یکبار اجرا میشود و سپس روال SendData عملیات ارسال رشته را انجام می دهد
type
TServerConnectionTH = class(TThread)
private
{ Private declarations }
FServerSocket: TBluetoothServerSocket;
FSocket: TBluetoothSocket;
FData: TBytes;
protected
procedure Execute; override;
public
{ Public declarations }
constructor Create(ACreateSuspended: Boolean);
destructor Destroy; override;
end;
------------------
TForm1 = class(TForm)
ComboBox1: TComboBox;
Bluetooth1: TBluetooth;
....
private
{ Private declarations }
zServerConnectionTH: TServerConnectionTH;
zSocket: TBluetoothSocket;
//--------------
procedure OpenSocket;
procedure SendData;
public
{ Public declarations }
end;
---------------------
procedure TForm1.OpenSocket;
begin
if ((zServerConnectionTH = nil) and
(Bluetooth1.ConnectionState = TBluetoothConnectionState.Connected)) then
begin
zServerConnectionTH := TServerConnectionTH.Create(True);
zServerConnectionTH.FServerSocket :=
Bluetooth1.CurrentAdapter.CreateServerSocket('Basi c Text Server', StringToGUID('{B62C4E8D-62CC-404B-BBBF-BF3E3BBB1378}'), False);
zServerConnectionTH.Start;
end;
end;
--------------------
procedure TForm1.SendData;
var
ToSend: TBytes;
zDevice: TBluetoothDevice;
begin
if (zSocket = nil) then
begin
zDevice := Bluetooth1.PairedDevices[ComboBox1.ItemIndex] as TBluetoothDevice;
zSocket := zDevice.CreateClientSocket('{B62C4E8D-62CC-404B-BBBF-BF3E3BBB1378}', False);
zSocket.Connect;
end;
ToSend := TEncoding.UTF8.GetBytes('test');
zSocket.SendData(ToSend);
end;
نقل قول: ارتباط با ماجول بلوتوث HC-05
عجیبه.ولی شاید کامپوننت بلوتوثی که دلفی داره استفاده میکنه،فقط میتونه با دیوایس های هم شکل خودش ارتباط برقرار کنه.بعیده،ولی ممکنه اینطوری باشه.چون ماژول بلوتوث هم مثل یک گوشی بلوتوثی می مونه که باید بتونه فایل send,receive کنه،ولی دلفی باهاش سازگاری نداره.
نقل قول: ارتباط با ماجول بلوتوث HC-05
منم همین مشکل رو داشتم و هر چی سعی کردم نتوستنم حلش کنم!!! قاعدتا نباید هیچ فرقی باشه بین ماژول و گوشی برای دلفی!!!
نقل قول: ارتباط با ماجول بلوتوث HC-05
سلام
خوشبختانه مشکل ارسال اطلاعات حل شد. کافیه سرویس پشتیبانی شده در ماجول HC-05 رو که ظاهرا سرویس سریال هست رو انتخاب کنیم و بعد روال OpenSocket رو اجرا کنیم. اما همچنان مشکل دریافت باقیست
نقل قول: ارتباط با ماجول بلوتوث HC-05
با تشکر از همه دوستان. برای دریافت هم از zSocket.ReceiveData استفاده کردم و مشکل حل شد
نقل قول: ارتباط با ماجول بلوتوث HC-05
نقل قول:
نوشته شده توسط
asgarkz
با تشکر از همه دوستان. برای دریافت هم از zSocket.ReceiveData استفاده کردم و مشکل حل شد
آقا دمت گرم میتونی یه راهنمایی بکنی که دقیقا چیکار کردی؟
من هنوز توی ارتباط با ماژول مشکل دارم و نمیدونم باید چیکار کنم؟