zoukankan      html  css  js  c++  java
  • nRF51822 Beacon 扫描请求包的设置

    Nordic 公司自己做有 iBeacon的板子和 SDK,很少有人拥有这个SDK,我最近在朋友那也拿到了一个,但是还没有时间看。

    现在我们用普通的SDK自带的 Beacon 例程来做开发,开发的时相信很多人是这样的:买别人已经做好的产品,拿回来操作几下,用nRF MCP 调试一下,就开始修改SDK了。

    我也是这样子的,老实地说,然后就会碰到各种问题。

    1、如何在SDK 自带的Beacon上设置 扫描请求包?

      其实有个地方比较关键,就是将m_adv_params.type 写成 BLE_GAP_ADV_TYPE_ADV_IND,不然你怎么设置,MCP 都扫不到 请求包的。

    1  memset(&m_adv_params, 0, sizeof(m_adv_params));
    2 
    3     m_adv_params.type        = BLE_GAP_ADV_TYPE_ADV_IND;
    4     m_adv_params.p_peer_addr = NULL;                             
    5     m_adv_params.fp           = BLE_GAP_ADV_FP_ANY;
    6     m_adv_params.interval   =NON_CONNECTABLE_ADV_INTERVAL;
    7     m_adv_params.timeout  =APP_CFG_NON_CONN_ADV_TIMEOUT;

    2、为什么iOS 的MCP 扫描不到 advdata.p_manuf_specific_data?

    呵呵。这个相信令很多不会开发 APP 的人来说是一个很头疼的事情,搞半天都母鸡抖是怎么回事。

    iBeacon要求manuf_specific_data.company_identifier 值是 0x004C, 这样微信摇一摇才能摇得到。这个值是苹果公司的,Nordic 公司的是 0x0059。

    iOS 系统 的MCP 会把0x004C进行过滤,所以你如果要用 MCP 或者lightblue其他调试工具来扫描的话,得不到 advdata.p_manuf_specific_data,怎么办呢?

    将manuf_specific_data.company_identifier避开 0x004C咯? 可是微信摇一摇又不起作用了,咋办呢?

    自己想办法,我只能告诉你,0x004C 是扫不到的。

  • 相关阅读:
    how to uninstall devkit
    asp.net中bin目录下的 dll.refresh文件
    查找2个分支的共同父节点
    Three ways to do WCF instance management
    WCF Concurrency (Single, Multiple, and Reentrant) and Throttling
    检查string是否为double
    How to hide TabPage from TabControl
    获取当前系统中的时区
    git svn cygwin_exception
    lodoop打印控制具体解释
  • 原文地址:https://www.cnblogs.com/ceibacity/p/5393694.html
Copyright © 2011-2022 走看看