蓝牙 bluez 的编程 C C++
蓝牙 bluez 的编程 C C++
简介
bluez目录有一个libbluetooth.a文件
有一个目录 lib目录里面存储这网络连接的部分代码
基于库的代码编程.
在linux下如果自带了蓝牙,可以通过gcc **.c -lbluetooth 直接编出一个可执行文件.
参考文献
下面的连接提供了一个测试代码.
博客链接
另外,关于 ble 使用库的方式一直出现失败的情况,是因为,没有设置ble的相关参数,具体可以参考
博客链接
中的enable_advertising函数
int device_id = hci_get_route(NULL);
int device_handle = 0;
if ((device_handle = hci_open_dev(device_id)) < 0) {
perror("Could not open device");
exit(1);
}
le_set_advertising_parameters_cp adv_params_cp = { 0 };
adv_params_cp.min_interval = htobs(advertising_interval);
adv_params_cp.max_interval = htobs(advertising_interval);
adv_params_cp.chan_map = 7;
uint8_t status;
struct hci_request rq = { 0 };
rq.ogf = OGF_LE_CTL;
rq.ocf = OCF_LE_SET_ADVERTISING_PARAMETERS;
rq.cparam = &adv_params_cp;
rq.clen = LE_SET_ADVERTISING_PARAMETERS_CP_SIZE;
rq.rparam = &status;
rq.rlen = 1;
int ret = hci_send_req(device_handle, &rq, 1000);
if (ret < 0) {
hci_close_dev(device_handle);
fprintf(stderr, "Can't send request %s (%d)\n", strerror(errno), errno);
return (1);
}
le_set_advertise_enable_cp advertise_cp = { 0 };
advertise_cp.enable = 0x01;
memset(&rq, 0, sizeof(rq));
rq.ogf = OGF_LE_CTL;
rq.ocf = OCF_LE_SET_ADVERTISE_ENABLE;
rq.cparam = &advertise_cp;
rq.clen = LE_SET_ADVERTISE_ENABLE_CP_SIZE;
rq.rparam = &status;
rq.rlen = 1;
ret = hci_send_req(device_handle, &rq, 1000);
if (ret < 0) {
hci_close_dev(device_handle);
fprintf(stderr, "Can't send request %s (%d)\n", strerror(errno), errno);
return (1);
}
蓝牙 bluez 的编程 C C++的更多相关文章
- 低功耗蓝牙4.0BLE编程-nrf51822开发(1)
为了省钱,也为了提高手动能力,只买了块核心板,仿真器用的是旧的jinkv7,自己搭扩展板,DIY就这样开始了. 买这块之前做了些调查,最终选定了nrf51822,功耗低,性能强,开发难度小,虽然比TI ...
- Linux 下蓝牙bluez分析及使用 (1)
蓝牙耳机的使用 由于Linux下蓝牙使用不及Windows下直观,致使使用时会出现一些小问题.虽然是小问题,但是由于普通的操作都具有顺序性,前面的中断了,后面的哪怕再简单,也无法继续了.正好近期工作与 ...
- 低功耗蓝牙4.0BLE编程-nrf51822开发(11)-蓝牙串口代码分析
代码实例:点击打开链接 实现的功能是从uart口发送数据至另一个蓝牙串口,或是从蓝牙读取数据通过uart打印出数据. int main(void) { // Initialize leds_init( ...
- 低功耗蓝牙4.0BLE编程-nrf51822开发(9)
Android 4.3以后的系统自动支持蓝牙4.0规范的低功耗蓝牙(BLE).在android4.3之前,蓝牙4.0支持是由手机厂家加入支持的,接口各异,导致开发一个支持蓝牙4.0程序支持市面上的手机 ...
- 低功耗蓝牙4.0BLE编程-nrf51822开发(7)-SDP服务发现协议
SDP的全称是Service Discovery Protocol,中文是服务发现协议.SDP(服务发现协议)是蓝牙协议体系中的核心协议,是蓝牙系统重要组成部分,是所有用户模式的基础.在蓝牙系统中.客 ...
- 低功耗蓝牙4.0BLE编程-nrf51822开发(6)-Battery Service
Battery Service是有关电池特性方面的服务,如果需要它,在初始化时将它加入到蓝牙协议栈. 如果通过ble_bas_battery_level_update(),电池电量将会通知,Batte ...
- 低功耗蓝牙4.0BLE编程-nrf51822开发(3)
蓝牙协议栈 nrf51822开发中,蓝牙协议栈和应用开发是分开的. (1)兼容蓝牙4.0低功耗协议栈基带层,L2CAP\AAT\SM\GAP\GATT协议,设备和广播,GATT客户端和服务器,SMP支 ...
- 低功耗蓝牙4.0BLE编程-nrf51822开发(4)
蓝牙是一种短距离的通讯方式,它设计的意图是取代电子便携设备之间的有线电缆连接.蓝牙的主要特性是健壮性.低功耗.成本低,它工作于免费的2.4无线传输频段. 蓝牙有两种技术系统:基本速率Basic Rat ...
- 低功耗蓝牙4.0BLE编程-nrf51822开发(2)
相关下载:http://download.csdn.net/detail/xgbing/9565708 首先看的示例是心率计一个示例程序:<KEIL path> \ARM\Device\N ...
- (蓝牙)网络编程中,使用InputStream read方法读取数据阻塞的解决方法
问题如题,这个问题困扰了我好几天,今天终于解决了,感谢[1]. 首先,我要做的是android手机和电脑进行蓝牙通信,android发一句话,电脑端程序至少就要做到接受到那句话.android端发送信 ...
随机推荐
- 可轻便docker部署的密码保存系统:Vaultwarden
一.简介 Vaultwarden是著名的Bitwarden项目的一个分支,是一个社区驱动的项目,使用Rust语言编写.它是Bitwarden的轻量级自托管替代方案,完全兼容Bitwarden客户端协议 ...
- 解决chrome浏览器拓展插件颜色变成透明无法使用。
虚拟机装了chrome之后插件变成了透明的,没办法使用了. 解决办法如下: 1.卸载VMWARE tools 2.地址栏输入: chrome://flags 找到 "Choose ANGLE ...
- 我也来说说经典面试题目-“OOM异常会导致JVM退出吗?”
经典面试题目"OOM异常会导致JVM退出吗? 我的回答是"这要分情况看,对于守护线程来说,OOM并不会导致JVM退出:对于非守护线程来说,如果某个线程捕获了OOM异常并正确进行了处 ...
- Mybatis 框架课程第二天
目录 3 基于代理Dao实现CRUD操作 3.1 根据id查询 3.1.1 在持久层接口中添加findById方法 3.1.2 在用户的映射配置文件中配置 3.1.3 在测试类添加测试 3.2 保存操 ...
- 时间工具类之“Calendar时间类的函数用法”
一.时间工具类之"Calendar时间类的函数用法" // 获取当前时间 Calendar cal = Calendar.getInstance(); // start是Date时 ...
- LocalDateTime时间工具之“2023-01-18T23:59:59.999999999”转“yyyy-MM-dd HH:mm:ss”
LocalDateTime时间工具之"2023-01-18T23:59:59.999999999"转"yyyy-MM-dd HH:mm:ss" 代码 Local ...
- Flutter开发的高效图片压缩工具:让APP更加丝滑
@charset "UTF-8"; .markdown-body { line-height: 1.75; font-weight: 400; font-size: 15px; o ...
- jdk11.0.2下载安装-环境配置
下载 JDK下载地址https://www.oracle.com/technetwork/java/javase/downloads/index.html 然后同意,选择自己适合的版本 PS: 1.z ...
- 测试使用自己编译的WPF框架(本地nuget 包引用)
上一篇博客 本地编译WPF框架源码 - wuty007 - 博客园 说到自己在本地编译WPF 框架源码,并在本地 源码 的 \wpf\artifacts\packages\Debug\NonShipp ...
- 题解:P4586 [FJOI2015] 最小覆盖双圆问题
写了这么久终于过了,发篇题解记录一下. 第一次写黑题题解,写的不好请见谅. 目录 本题思路 三点定圆 最小圆覆盖 关于最小圆覆盖时间复杂度 回到本题 二分法划分点集 总时间复杂度 最小覆盖双圆问题代码 ...