<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>nRF51822 connect to Android without pairing</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/10807/nrf51822-connect-to-android-without-pairing</link><description>Hello, 
 I am working on a wearable device at the moment. To support iOS and Android at the same time, I have implemented ANCS and nRF UART on the circuit. 
 When working with just the nRF UART on the DevKit, it never prompted me to pair (on the phone</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 18 Jan 2016 02:56:47 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/10807/nrf51822-connect-to-android-without-pairing" /><item><title>RE: nRF51822 connect to Android without pairing</title><link>https://devzone.nordicsemi.com/thread/40400?ContentTypeID=1</link><pubDate>Mon, 18 Jan 2016 02:56:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f18811f5-1311-4ed7-94bb-f5bcb59e3786</guid><dc:creator>Minh</dc:creator><description>&lt;p&gt;Discovery ANCS start when DM_EVT_LINK_SECURED which is executed after pairing.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;    case DM_EVT_LINK_SECURED:
        err_code = ble_db_discovery_start(&amp;amp;m_ble_db_discovery,
                                          p_evt-&amp;gt;event_param.p_gap_param-&amp;gt;conn_handle);
        APP_ERROR_CHECK(err_code);
      break;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then, in original source code of ANCS, the BLE_ANCS_C_EVT_DISCOVER_COMPLETE event always occurs after Pairing request. Can we discover ANCS without link secured ? if not, do you have any solution for this ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF51822 connect to Android without pairing</title><link>https://devzone.nordicsemi.com/thread/40398?ContentTypeID=1</link><pubDate>Mon, 14 Dec 2015 09:46:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:303b374d-7f5c-42e2-93e0-d814dbcbe905</guid><dc:creator>Anders Strand</dc:creator><description>&lt;p&gt;If you are looking for the ANCS service, you will only get the BLE_ANCS_C_EVT_DISCOVER_COMPLETE when you are connecting to an iOS device. This is a way to separate android and iOS devices. I dont know about any other ways to distinguish android and iOS devices, but this should work.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF51822 connect to Android without pairing</title><link>https://devzone.nordicsemi.com/thread/40399?ContentTypeID=1</link><pubDate>Mon, 14 Dec 2015 08:03:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:487bdae4-6d3b-4650-b757-ced68dbed681</guid><dc:creator>seopyoon</dc:creator><description>&lt;p&gt;Thanks you for kind answer.&lt;/p&gt;
&lt;p&gt;But, to simplify user interaction, I would NOT like to pair with Android devices.  But, to discover whether ANCS exists or not, secure connection (via Pairing) seems necessary.  Is there away to know whether the connected device at DM_EVT_CONNECTION is running Android or iOS?  So I only request for secure setup after timeout when it is an iOS device.  (i.e. if I put app_timer_start() inside BLE_ANCS_C_EVT_DISCOVER_COMPLETE event, it is never called.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF51822 connect to Android without pairing</title><link>https://devzone.nordicsemi.com/thread/40397?ContentTypeID=1</link><pubDate>Fri, 11 Dec 2015 15:08:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:eba5b33f-da0c-49bc-8ef1-a48795ecd0be</guid><dc:creator>Anders Strand</dc:creator><description>&lt;p&gt;Hey.&lt;/p&gt;
&lt;p&gt;If you have merged the ancs example code into your project, this is probably what is causing the pairing request:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;case DM_EVT_CONNECTION:
        m_peer_handle = (*p_handle);
        err_code      = app_timer_start(m_sec_req_timer_id, SECURITY_REQUEST_DELAY, NULL);
        APP_ERROR_CHECK(err_code);
        break;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;and&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;static void sec_req_timeout_handler(void * p_context)
{
uint32_t             err_code;
dm_security_status_t status;

if (m_conn_handle != BLE_CONN_HANDLE_INVALID)
{
    err_code = dm_security_status_req(&amp;amp;m_peer_handle, &amp;amp;status);
    APP_ERROR_CHECK(err_code);

    // If the link is still not secured by the peer, initiate security procedure.
    if (status == NOT_ENCRYPTED)
    {
        err_code = dm_security_setup_req(&amp;amp;m_peer_handle);
        APP_ERROR_CHECK(err_code);
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;dm_security_setup_req() requests pairing.&lt;/p&gt;
&lt;p&gt;The timer starts on connection. You should change it to start after discovering the ancs service, i.e on the BLE_ANCS_C_EVT_DISCOVER_COMPLETE event inside on_ancs_c_evt&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF51822 connect to Android without pairing</title><link>https://devzone.nordicsemi.com/thread/40396?ContentTypeID=1</link><pubDate>Fri, 11 Dec 2015 15:05:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:01802d2f-5d9d-4082-8663-60eb8775d0d6</guid><dc:creator>Anders Strand</dc:creator><description>&lt;p&gt;I think he knows that ANCS does not work on android, that is why he has the NUS (Nordic Uart Service) to communicate with android. It is true that ancs requires pairing, but only if you use it (i.e not when connected to android)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF51822 connect to Android without pairing</title><link>https://devzone.nordicsemi.com/thread/40395?ContentTypeID=1</link><pubDate>Fri, 11 Dec 2015 09:16:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b1e0caee-eb88-4bce-9cd6-10b17722f025</guid><dc:creator>awneil</dc:creator><description>&lt;p&gt;ANCS = &lt;strong&gt;&lt;em&gt;Apple&lt;/em&gt;&lt;/strong&gt; Notification Center Service:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://developer.apple.com/library/ios/documentation/CoreBluetooth/Reference/AppleNotificationCenterServiceSpecification/Introduction/Introduction.html"&gt;developer.apple.com/.../Introduction.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;so that isn&amp;#39;t going to work on Android!&lt;/p&gt;
&lt;p&gt;I presume that pairing is a &lt;strong&gt;&lt;em&gt;requirement&lt;/em&gt;&lt;/strong&gt; of ANCS? So, if you wan t to use it, you have no choice.&lt;/p&gt;
&lt;p&gt;Pairing is not required by the nRF UART service.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>