wordpress主题的网页,免费seo网站的工具,怎么提高网站流量,公司网站市场价最近使用的一款AICSemi AIC8800D8芯片做的WiFiBT二合一模组#xff0c;该模组WiFi使用SDIO通信#xff0c;BT使用UART通信#xff0c;供应商丢了一份驱动#xff0c;包含了三个目录#xff1a;aic8800_bsp、aic8800_fdrv和aic8800_btlpm#xff0c;而蓝牙部分提供了lbh_s…最近使用的一款AICSemi AIC8800D8芯片做的WiFiBT二合一模组该模组WiFi使用SDIO通信BT使用UART通信供应商丢了一份驱动包含了三个目录aic8800_bsp、aic8800_fdrv和aic8800_btlpm而蓝牙部分提供了lbh_server和lbh_client两个程序未提供源码。
首先需要至少加载aic8800_bsp和aic8800_fdrv两份源码编译出来的KO文件采用动态识别USB、SDIO、PCIE总线上的设备PID和VID来匹配加载KO先加载bsp后加载fdrv然后WiFi就能使用而BT依赖这这加载起来后就可以通过UART操作BT了使用lbh_server和lbh_client可以跑BLE模式下的GATT Server和Client是可以让手机nRF Connect应用搜索并连接上的。默认设备名字为BLE_SMARTCONFIG_TEST_CASE广播设备名字为nooie-000b-01d)
但BLE不满足我们需求我们还是想运行经典蓝牙模式于是想到了BlueZ板卡使用Buildroot构建文件系统很轻松就可以使用其工具的hciattach工具验证后果然可以下面是相应的使用过程
hciattach -s 1500000 /dev/ttyS3 any 1500000 noflow nosleephciconfig set name AIC_BTTEST
hciconfig set class 0x100
hciconfig hci0 down
hciconfig hci0 upbluetoothctl power on
bluetoothctl pairable on
bluetoothctl discoverable on
bluetoothctl agent on
bluetoothctl default-agent
至此蓝牙设备就可以被搜索到了手机等发起配对连接时需要进入bluetoothctl交互窗口按提示操作即可我们只想用obex来接收文件故上面执行后就能满足如果不想进入bluetoothctl交互窗口来操作配对连接也可以通过bt-agent -c NoInputNoOutput命令设置配对连接验证方式。接下来就在板端做如下操作就可以接收Android手机通过蓝牙发过来的文件
将bluez5_utils/obex-dbus.conf文件复制到板端/etc/dbus-1/system.d/目录下或者编译时将其编译到根文件系统可以修改buildroot/package/bluez5_utils/bluez5_utils.mk文件在相应位置添加如下语句
$(INSTALL) -D -m 0644 -D package/bluez5_utils/obex-dbus.conf $(TARGET_DIR)/etc/dbus-1/system.d/
接下来在板端执行如下命令
export DBUS_SESSION_BUS_ADDRESSunix:path/var/run/dbus/system_bus_socket
/usr/libexec/bluetooth/obexd -r /userdata -n -a
就这样就能满足蓝牙广播并启用obexd服务接收手机等设备发过来的文件。注意启动obexd时有可能导致广播被关闭了需要使用如下命令再开启广播
bluetoothctl discoverable on