Android蓝牙
来源:互联网 发布:utorrent mac版打不开 编辑:程序博客网 时间:2024/04/30 00:12
藍牙簡介
service dbus /system/bin/dbus-daemon --system –nofork
socket dbus stream 660bluetoothbluetooth
user bluetooth
group bluetoothnet_bt_admin
msg =dbus_message_new_method_call(BLUEZ_DBUS_BASE_IFC,
get_adapter_path(env, object),
DBUS_ADAPTER_IFACE, "StartDiscovery");
Static GDBUSMethodTableadapter_method[]={
……
{“StartDiscovery”,””,””,adater_start_discovery}
……
}
这里会调用注册的对应函数adater_start_discovery继续完成discovery任务
Discovery完成之后会发出消息,在android_server_bluetoothEventLoop.cpp event_fileter()会接受并处理消息
藍牙HCI
主机控制接口(Host Controller Interface),属于蓝牙协议栈的一部分。蓝牙规范(官方spec)包含一个符合标准的接口定义(HCI),它为主机(上層)提供了直接控制 蓝牙硬件模块的方法和途径。通过HCI 可以把蓝牙模块和主机连接在一起,同時HCI命令也可提供給內外部使用,對藍牙模塊進行直接控制。
以下是主機和藍牙模塊雙向通信採用的方式
HCI命令数据包 (上層往下) 命令(command)由HCI驱动程序发至主机控制器
HCI事件数据包 (下層往上) 主机控制器以事件(event)方式通知HCI驱动程序
HCI命令是异步处理的,並且也可以并行处理,所以后面的命令可能比前面的命令先结束。
HCI命令
hci0: Type: BR/EDR Bus: UART
BD Address: D0:07:90:44:FB:B2 ACL MTU: 1021:4 SCO MTU: 180:4
DOWN
RX bytes:467 acl:0 sco:0 events:18 errors:0
TX bytes:99 acl:0 sco:0 commands:19 errors:0
[ 335.474273] (stc):st_register(2)
[ 335.478149] (stc):add_channel_to_table: id 2
[ 335.483062] (stc):st_register(3)
[ 335.487091] (stc):add_channel_to_table: id 3
[ 335.492004] (stc):st_register(4)
[ 335.495819] (stc):add_channel_to_table: id 4
[ 345.500885] (stc):remove_channel_from_table: id 2
[ 345.506317] (stc):remove_channel_from_table: id 3
[ 345.511962] (stc):remove_channel_from_table: id 4
Scanning ...
20:D6:07:C0:E5:98 Nexus S
34:15:9E:8C:41:BE "Eason MacBook
88:53:2E:69:B1:20 IANC-20810824
88:53:2E:69:F6:71 IANC-20901345-H
servicehciattach /system/bin/hciattach -n -s 3686400 /dev/tty01any 3686400
user bluetooth
group bluetoothnet_bt_admin
disabled?
oneshot
HCI命令是用戶直接控制藍牙模塊的方式,如果這些命令不能正常執行。毫無疑問是驅動移植沒做好。如果這些命令都正常運行,藍牙還沒用,那就是用戶上層的事情,包括BlueZ協議棧、Hal層都有可能、Framework。
- android 蓝牙
- Android 蓝牙
- android 蓝牙
- Android蓝牙
- Android 蓝牙
- Android 蓝牙
- Android蓝牙
- Android蓝牙
- Android 蓝牙
- Android蓝牙
- android-蓝牙
- Android 蓝牙
- Android-蓝牙
- Android 蓝牙
- Android蓝牙
- android 蓝牙
- Android 蓝牙
- android 蓝牙
- 用我的无线无线你的无线 - wap/wap2无线网络破解
- 协议森林05 我尽力 (IP协议详解)
- 博客搬家,欢迎光临!
- Valgrind使用说明
- 软件随想录(local.joelonsoftware.com/wiki)-2000年05月09日 使用介面设计手册第九章 - User Interface Design for Programmers
- Android蓝牙
- bho开发地址
- 协议森林06 瑞士军刀 (ICMP协议)
- sharepoint 2010 Ribbon Location 值
- Android中native进程内存泄露的调试技巧
- 协议森林07 傀儡 (UDP协议)
- Infosys发布首个呼叫中心集成跨渠道产品AssistEdge
- u-boot for tiny210 ver4.0 (by liukun321 咕唧咕唧)
- ANDROID 触摸屏事件和位置的获取