蓝牙编程-设备检索.

导读:
  今天用bluez的lib写了个小程序调试,运行通过.对linux下蓝牙编程有了点初步的认识.
  功能就是检索周围是否有其它蓝牙设备,并得到他们的友好设备名.
  #include
  #include
  #include
  #include //蓝牙的3个头文件.
  #include
  #include
  int main ( int argc , char **argv )
  {
  inquiry_info *ii = NULL;
  int max_rsp, num_rsp;
  int dev_id, sock, len, flags;
  int i;
  char addr [19] = { 0 };
  char name [248] = { 0 };
  dev_id = hci_get_route (NULL); //得到本地第一个可用的蓝牙设备
  sock = hci_open_dev(dev_id); //用打开蓝牙设备.
  if( dev_id<0 || sock <0) {
  perror("opening socket error") ;
  exit(1) ;
  }
  len = 8 ;
  max_rsp = 255 ;
  flags = IREQ_CACHE_FLUSH;
  ii = (inquiry_info*)malloc (max_rsp* sizeof ( inquiry_info)) ;
  
  printf("start search.../n");
  num_rsp = hci_inquiry(dev_id , len , max_rsp , NULL, &ii , flags) ; //检索周围是否有设备
  if ( num_rsp <0 ) perror ("hci_inquiry error") ;
  for ( i = 0 ;i
  ba2str (&(ii+i)->bdaddr , addr ) ;
  memset (name , 0 , sizeof (name)) ;
  if( hci_read_remote_name ( sock , &( ii+i )->bdaddr , sizeof (name) ,
  name , 0) <0) //查询设备的友好设备名
  strcpy (name , "[unknown]") ;
  printf ("%s %s /n", addr , name ) ;
  }
  printf("end search./n");
  free(ii);
  close(sock);
  return 0;
  }
  最后把这个程序交叉编译了一下,也通过了.但是还没有测试.明天再来传到板子上.
  还没有正式在板子上运行过蓝牙,可能还有很多问题.

本文转自
http://blog.csdn.net/ifq/archive/2006/06/03/772074.aspx
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值