谷动谷力

 找回密码
 立即注册
谷动谷力 首页 嵌入式 查看内容

【AB32VG1开发】基于RT-Thread 中科蓝讯AB32VG1 BLE开发例程讲解

2021-12-4 16:13| 发布者: sunsili| 查看: 124| 评论: 0|来自: 原创

摘要: 中科蓝讯最近出的SDK V1.1.0,支持了BLE开发,目前官方还没有正式文档,我来摸索一下吧 安装最近SDK 操作步骤详细请参阅: 基于RT-Thread的AB32VG1开发环境搭建 ... ... ...

【AB32VG1开发】基于RT-Thread 中科蓝讯AB32VG1 BLE开发例程讲解



中科蓝讯最近出的SDK V1.1.0,支持了BLE开发,目前官方还没有正式文档,我来摸索一下吧

  1. 安装最近SDK
    操作步骤详细请参阅: 基于RT-Thread的AB32VG1开发环境搭建

    选择中科蓝讯AB32VG1开发板最新SDK 1.1.0安装

  2. 建RT-Thread工程
    操作步骤详细请参阅: 基于RT-Thread的AB32VG1开发环境搭建
    注意选择最新SDK 1.1.0


  3. 配置工程
    操作步骤详细请参阅: 基于RT-Thread的AB32VG1开发环境搭建
     配置详情如下:

    开启:
    宏: [SOC_AB32VG1]
    宏: [PKG_USING_BLUETRUM_NIMBLE]
    宏: [BSP_USING_TIM](这后面加的,因为出现这个了定时报告数据时运行错误:(rt_object_get_type(&timer->parent) == RT_Object_Class_Timer) assertion failed at function:rt_timer_stop, line number:502 )我以为加上TIMER模块,就加了,但是还是没解决。

    配置后,保存会出现错误:local variable 'get_git_root' referenced before assignment Operation failed.这里不管它,编译时看看具体是哪里同, 我们再修改。


  4. 修改代码
    首先熟悉一下BLE_SDK代码目录:


    修改mac_addr
    工程目录下:
    packages\bluetrum_sdk-latest\bluetrum_nimble\porting\npl\rtthread\src\ble_platform.c

    注意:mac_addr是6bytes, 代码里只写了5个数据,这是疏漏还是有意为之

    修改BLE_name(名字)
    工程目录下:
    \packages\bluetrum_sdk-latest\bluetrum_nimble\apps\blehr\src\blehr.c

    注意:不能是中文,中文会找不到设备

    修改服务及设备信息:

    修改服务属性:

    这里服务,我们没做修改,保存默认。

  5. 编译
    Ctrl+B  编译工程,会出错:
    In file included from :
    E:\RT-ThreadWorkspace\AB32_BLE_Demo\rtconfig_preinc.h:8:9: error: no macro name given in #define directive
        8 | #define
          |         ^
    In file included from :
    E:\RT-ThreadWorkspace\AB32_BLE_Demo\rtconfig_preinc.h:8:9: error: no macro name given in #define directive
        8 | #define
          |         ^
    make: *** [rt-thread/src/subdir.mk:57: rt-thread/src/device.o] Error 1
    make: *** Waiting for unfinished jobs....
    In file included from :
    E:\RT-ThreadWorkspace\AB32_BLE_Demo\rtconfig_preinc.h:8:9: error: no macro name given in #define directive
        8 | #define
          |         ^
    In file included from :
    E:\RT-ThreadWorkspace\AB32_BLE_Demo\rtconfig_preinc.h:8:9: error: no macro name given in #define directive
        8 | #define
          |         ^
    make: *** [rt-thread/src/subdir.mk:57: rt-thread/src/clock.o] Error 1
    make: *** [rt-thread/src/subdir.mk:57: rt-thread/src/components.o] Error 1
    make: *** [rt-thread/src/subdir.mk:57: rt-thread/src/idle.o] Error 1
    "make -j4 all2" terminated with exit code 2. Build might be incomplete.

    14:29:13 Build Failed. 9 errors, 0 warnings. (took 1s.464ms)

    双击出错提示,定位到出错的地方,#define后面是空的,删除这个#define即可
    重新编译
  6. 调试
    将编译好的,目标文件:rtthread.elf,烧录到中科蓝讯AB32VG1 BLE开发板,操作步骤详细请参阅: 基于RT-Thread的AB32VG1开发环境搭建

    手机打开蓝牙

    手机打开蓝牙BLE调试助手

    连接BLE设备

    设备相关数据服务列表:


    获取BLE设备数据--制造商信息


    获取BLE设备数据--设备型号信息,点"读取"即可

    读取心率相关数据

    心率数据自动数据通知上报

    这个数据点代码有BUG,不定什么时候,报错,每次错误还不一样, 这个还得官方分析一下.



  7. 遗留问题
    1) 定时上报数据点代码有BUG,不定什么时候,报错,每次错误还不一样, 这个还得官方分析一下.
    2)现在只有Read(BLE上报数据)功能,没有write(APP->BLE下达数据)功能,这个后面移植一下
    3)连接现有通用平台功能, 如微信\涂鸦\天猫精灵.....等等

  8. 总结
    用RT-Thread基于中科蓝讯AB32VG1 BLE开发快捷方便.做一个只要官方有的驱动及软件,相关方便快捷,没有话自己移植的话,还是比较复杂.


鲜花

握手

雷人

路过

鸡蛋

相关阅读

发表评论

最新评论

最新热点

QQ|Archiver|手机版|深圳市光明谷科技有限公司|光明谷商城|Sunshine Silicon Corpporation ( 粤ICP备14060730号|Sitemap

GMT+8, 2024-9-30 23:14 , Processed in 0.136242 second(s), 29 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

返回顶部