当前位置: 首页 > wzjs >正文

网站后台怎么做中国沙漠建设 志愿者 兵团官方网站

网站后台怎么做,中国沙漠建设 志愿者 兵团官方网站,乌镇旅游攻略自由行,泰安大众网0 前言 AIO-1126-JD4采用了正基科技推出的一款集成WiFi、蓝牙功能的模组AP6236,支持高速(HS)功能的蓝牙 4.0,集成了 1.5 类功率放大器(PA),并支持低功耗蓝牙(BLE)。提到…

0 前言

AIO-1126-JD4采用了正基科技推出的一款集成WiFi、蓝牙功能的模组AP6236,支持高速(HS)功能的蓝牙 4.0,集成了 1.5 类功率放大器(PA),并支持低功耗蓝牙(BLE)。提到正基就不得不提下博通。博通和正基是芯片技术与模块制造方面的合作关系,正基科技是中国台湾的公司,在无线通信模块领域有一定的市场份额,博通则是全球领先的有线和无线通信半导体公司。正基把包含博通关键IP的核心芯片和自家的射频部分等封装在一起,即SIP(System In Package)。AP6236正是这种采用了博通BCM43430B0方案的SIP模组。

一般SDK里面都会带上博通或正基提供的后台应用。前端的话,可以是自己封装的应用或服务,直接调用博通的接口和后台交互,跑自己的协议栈,当然也可以跑开源的bluez协议栈,bluez的IPC机制是D-BUS,一样是后台前端的模式。

1 Deviceio库

在AIO-1126-JD4上, 瑞芯微专门开发了一个中间层Deviceio库,可以支持正基博通,海华博通,还有bluez。Deviceio库屏蔽了底层复杂的WiFiBT操作比如wpa_supplicant/bluez/bsa等,向上提供友好的应用开发接口,比直接拿着bluez开发起来方便得多,见仁见智。

1.1 Deviceio库编译

SDK里面Deviceio库源码路径在external/deviceio_release,严格按照下面顺序编译。

make rkwifibt-dirclean && make rkwifibt-rebuild
make broadcom_bsa-dirclean && make broadcom_bsa-rebuild
make deviceio_release-dirclean && make deviceio_release

如果直接编译deviceio_release编不过,需要对Deviceio库源码的CMakeLists.txt进行修改,修改如下:

external/deviceio/CMakeLists.txt

cmake_minimum_required(VERSION 2.8.0 FATAL_ERROR)#PROJECT (deviceio_test)message(${PROJECT_SOURCE_DIR})
message(${PROJECT_BINARY_DIR})set(deviceio_SOURCE_DIR ${PROJECT_SOURCE_DIR})add_definitions("-Wall -g")add_subdirectory("DeviceIO")
add_subdirectory("test")

external/deviceio/test/CMakeLists.txt

cmake_minimum_required(VERSION 2.8.0 FATAL_ERROR)set(SRC_FILESDeviceIOTest.cppbt_test.cppbt_test_1s2.cpprk_ble_app.crk_wifi_test.c
)if(BLUEZ)
add_definitions(-DBLUEZ_USE)
elseif(BSA)
add_definitions(-DBSA_USE)
endif()add_definitions("-fpermissive")link_directories(${deviceio_SOURCE_DIR}/DeviceIO/rv1126_rv1109/lib32/broadcom)add_executable(deviceio_test ${SRC_FILES})
target_include_directories(deviceio_test PUBLIC"${deviceio_SOURCE_DIR}/DeviceIO/include" )
target_link_libraries(deviceio_test pthread DeviceIo asound)install(TARGETS deviceio_test DESTINATION bin)

external/deviceio/DeviceIO/CMakeLists.txt

cmake_minimum_required(VERSION 3.1 FATAL_ERROR)
project(DeviceIo)# file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/include/DeviceIo DESTINATION ${CMAKE_INSTALL_STAGING}/usr/include/)
# file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/rv1126_rv1109/lib32/broadcom/libDeviceIo.so DESTINATION ${CMAKE_INSTALL_STAGING}/usr/lib/)
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/DeviceIo DESTINATION ${CMAKE_INSTALL_PREFIX}/include)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/rv1126_rv1109/lib32/broadcom/libDeviceIo.so DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)

在SDK根目录下再次执行

make deviceio_release-dirclean && make deviceio_release

编译成功后会自动安装到host编译链路径和打包target路径

执行./build.sh生成新固件,就可将带有Deviceio库的新固件烧写到设备中。

2 蓝牙服务程序开发

 2.1 Deviceio库链接到应用

cmake工程配置

set(TARGET_SYSROOT "you_sdk_path/rv1126_rv1109_linux_release_20211022/buildroot/output/firefly_rv1126_rv1109/host/arm-buildroot-linux-gnueabihf/sysroot")
set(CMAKE_SYSROOT "${TARGET_SYSROOT}")
target_link_libraries(${PROJECT_NAME}DeviceIo
)

2.2 创建蓝牙服务程序

蓝牙名:ROCKCHIP_BLUE_DOG

创建一个包含三个特征的蓝牙服务,可用如下方法。

#define BLE_UUID_SERVICE	"9FA480E0-4967-4542-9390-D343DC5D04AE"
#define BLE_UUID_REMOTE_CHAR	"AF0BADB1-5B99-43CD-917A-A77BC549E3CC"
#define BLE_UUID_SEND		"dfd4416e-1810-47f7-8248-eb8be3dc47f9"
#define BLE_UUID_RECV		"9884d812-1810-4a24-94d3-b2c11a851fac"
/** The Bluetooth basic service is turned on and the function* must be called before using the Bluetooth function.*/
#if 1
void *bt_test_bluetooth_init_thread(void *)
{printf("%s: BT BLUETOOTH INIT\n", __func__);memset(&bt_content, 0, sizeof(RkBtContent));bt_content.bt_name = "ROCKCHIP_BLUE_DOG";//bt_content.bt_addr = "11:22:33:44:55:66";bt_content.ble_content.ble_name = "ROCKCHIP_ROBOT BLE";#if 0//user-defined ble address test, if not set, the default random addressbt_content.ble_content.ble_addr[0] = 0x11;bt_content.ble_content.ble_addr[1] = 0x22;bt_content.ble_content.ble_addr[2] = 0x33;bt_content.ble_content.ble_addr[3] = 0x44;bt_content.ble_content.ble_addr[4] = 0x55;bt_content.ble_content.ble_addr[5] = 0x66;//Clear two most significant bitsbt_content.ble_content.ble_addr[5] &= 0x3f;//Set second most significant bit, Private resolvablebt_content.ble_content.ble_addr[5] |= 0x40;printf("ble_addr: %02hhx:%02hhx:%02hhx:%02hhx:%02hhx:%02hhx\n",bt_content.ble_content.ble_addr[5], bt_content.ble_content.ble_addr[4],bt_content.ble_content.ble_addr[3], bt_content.ble_content.ble_addr[2],bt_content.ble_content.ble_addr[1], bt_content.ble_content.ble_addr[0]);
#endifbt_content.ble_content.server_uuid.uuid = BLE_UUID_SERVICE;bt_content.ble_content.server_uuid.len = UUID_128;bt_content.ble_content.chr_uuid[0].uuid = BLE_UUID_REMOTE_CHAR;bt_content.ble_content.chr_uuid[0].len = UUID_128;bt_content.ble_content.chr_uuid[1].uuid = BLE_UUID_SEND;bt_content.ble_content.chr_uuid[1].len = UUID_128;bt_content.ble_content.chr_uuid[2].uuid = BLE_UUID_RECV;bt_content.ble_content.chr_uuid[2].len = UUID_128;bt_content.ble_content.chr_cnt = 3;bt_content.ble_content.advDataType = BLE_ADVDATA_TYPE_SYSTEM;bt_content.ble_content.cb_ble_recv_fun = bt_test_ble_recv_data_callback;bt_content.ble_content.cb_ble_request_data = bt_test_ble_request_data_callback;rk_bt_register_state_callback(bt_test_state_cb);rk_bt_register_bond_callback(bt_test_bond_state_cb);rk_bt_register_name_change_callback(bt_test_name_change_cb);rk_bt_init(&bt_content);return NULL;
}
#else

cb_ble_recv_fun:BLE数据接收回调。

cb_ble_request_data:BLE请求数据回调。

rk_bt_register_state_callback:注册蓝牙状态回调,蓝牙的打开、关闭等状态。

rk_bt_register_bond_callback:注册蓝牙绑定回调,蓝牙绑定状态通过这个回调上送。

rk_bt_register_name_change_callback:注册蓝牙名称改变回调。

3 数据收发测试

2.1 启动服务程序

启动程序后蓝牙服务被创建。

在手机上可以搜索到蓝牙名ROCKCHIP_BLUE_DOG

2.2 连接蓝牙服务测试

这里借助一个APP“蓝牙调试助手”,搜索到蓝牙ROCKCHIP_BLUE_DOG点进去后就会自动连接上,连接上可以看到我们上面所创建的服务UUID、特征UUID。

2.3 蓝牙数据收发测试

随便选择一个可写的特征UUID,比如BLE_UUID_REMOTE_CHAR对应的UUID,将数据类型调为ASCII,在输入框中填入“Hello body!”,然后点击“Write”。

这时,我们的服务程序就可以在接收回调里收到来自手机的消息内容。


文章转载自:

http://JTRNADEc.qckwj.cn
http://Ikvgzj1h.qckwj.cn
http://m2yCw2f5.qckwj.cn
http://xDIrcdZk.qckwj.cn
http://kLr10pJQ.qckwj.cn
http://h3nKSH7I.qckwj.cn
http://VMC92i8H.qckwj.cn
http://Z8fcBDud.qckwj.cn
http://PQ4HKVc8.qckwj.cn
http://8Vml6HRS.qckwj.cn
http://K9WnOIDD.qckwj.cn
http://UDntfGpI.qckwj.cn
http://cePf9kFz.qckwj.cn
http://k38GsTQE.qckwj.cn
http://s8DSEd3u.qckwj.cn
http://FhAqJr0I.qckwj.cn
http://ErrlsNDH.qckwj.cn
http://pah5bxNB.qckwj.cn
http://dm3Tj7f2.qckwj.cn
http://IIFg5ZXQ.qckwj.cn
http://alaPZues.qckwj.cn
http://oJuJCRlD.qckwj.cn
http://Dye7fAfY.qckwj.cn
http://OPIAZqzJ.qckwj.cn
http://6GeSxdrn.qckwj.cn
http://cmoOjs5W.qckwj.cn
http://IZU1V1Yu.qckwj.cn
http://SmUS79mN.qckwj.cn
http://3ciQBNCk.qckwj.cn
http://1SzWXKFI.qckwj.cn
http://www.dtcms.com/wzjs/754339.html

相关文章:

  • 关于文化建设网站个人建设网站盈利需要什么材料
  • 外贸网站定制开发开发网站 需求
  • wordpress制作大型网站fireworks学习网站
  • 阜宁网站开发wordpress 收集
  • 网站设计与网页制作正文手机ftp传网站文件
  • 一元购网站建设网站建设全网营销客户资源
  • html网页设计代码作业网站广州新闻报道
  • tp5做企业网站鹤岗商城网站建设
  • 做网站的项目策划书今天秦皇岛最新通知公告
  • 山西网站搜索排名优化公司常熟公司网站建设电话
  • 域名可以做网站网站做seo收录
  • win2003VPS装网站建设网站不显示添加白名单
  • 一个虚拟主机可以放几个网站网站开发原型工具
  • 程序员接单网站百度信息流怎么收费
  • 网站建设 类郑州模板建站代理
  • 英国做deal的网站做网站都需要具备什么
  • 注册公司名称查询网站重庆明建网络科技有限公司
  • 制作免费网站的平台大数据网页制作教程
  • 建设人行官方网站下载物流网站风格
  • 宁夏水利厅建设处网站网页设计图片剧中
  • 宜春市网站建设在线网站模板
  • wordpress定制企业站境外电商有哪些平台
  • 高校门户网站建设建议公众号助手
  • 免费申请域名建立网站医疗器械公司排名
  • 电子商务网站建设规划书个人网站建站步骤
  • wordpress 迁移 图片福州seo快速排名软件
  • 网站的配置标题成都微信网站建设
  • 建什么网站赚钱网站如何做京东联盟
  • 临沂做四维和美家网站巴州区建设局网站
  • 静安免费网站制作瀑布流网站有哪些