linux c 蓝牙连接源码,如何在Linux x86上使用C对蓝牙LE设备进行编程?

我有一个蓝牙设备,我可以在

linux上使用gatttool控制.我想开发自己的c程序,可以向它发送命令.

我以前做了蓝牙编程,它相对简单,类似于网络编程,但这一次,它是一个蓝牙低功耗设备,并遵循原则here导致主机关闭消息,当我可以清楚地连接/断开它使用gatttool.

我该如何创建这个程序?我知道我应该使用bluez库,但我不知道从哪里开始使用低能耗设备.

int main(int argc,char **argv)

{

struct sockaddr_rc addr = { 0 };

int s,status;

char dest[18] = "B4:99:4C:5C:EE:49";

char buf[2048];

pthread_t rthread;

setbuf(stdout,NULL);

// allocate a socket

s = socket(AF_BLUETOOTH,SOCK_STREAM,BTPROTO_RFCOMM);

// set the connection parameters (who to connect to)

addr.rc_family = AF_BLUETOOTH;

addr.rc_channel = (uint8_t) 1;

str2ba( dest,&addr.rc_bdaddr );

// connect to server

status = connect(s,(struct sockaddr *)&addr,sizeof(addr));

if( status < 0 ){

perror("Error connecting to host\n");

exit(1);

}

while(fgets(buf,sizeof(buf),stdin) != NULL){

status = send(s,buf,0);

if(status < 0){

printf("Error sending.\n");

exit(1);

}

}

close(s);

return;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值