<?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>Absolute minimum discovery</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/12657/absolute-minimum-discovery</link><description>Hi new to Bluetooth, but familiar with Radios and embedded devices 
 I have 2 devices that only connect to each other.
in the interest of extreme battery conservation I need to reduce discovery to a minimum. 
 Device one is a remote, the central
Device</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 22 Mar 2016 08:53:42 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/12657/absolute-minimum-discovery" /><item><title>RE: Absolute minimum discovery</title><link>https://devzone.nordicsemi.com/thread/48094?ContentTypeID=1</link><pubDate>Tue, 22 Mar 2016 08:53:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5accd6ed-9d7d-4045-b1f4-d676af1b074f</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;@keith: Next time, when you want to give more information, please use the comment section, not answer, or you can edit your question to add more info.&lt;/p&gt;
&lt;p&gt;As your required bidirectional communication, a connection is needed. You still can do connectionless by switching between advertiser and scanner, but I think it will bring more trouble.&lt;/p&gt;
&lt;p&gt;It would take less than 3ms to establish a connection and send the first data packet. But as RK mentioned, it depends on how fast you advertise and how frequently you scan. Since you have interrupt on only one side (when you pick up the remote, and/or press the button on the remote), you can&amp;#39;t do advertising all the time or scanning all the time on the other side. You would need to balance the latency and the power consumption.&lt;/p&gt;
&lt;p&gt;And, yes, if you bond to the device, the Attribute table and the service context will be stored, and it would take a couple of packets before the link is encrypted and you are ready to read/write or receive notification. No re- service discovery needed.
I would say from the time you receive the advertising packet to the time you send data it could be as low as ~50ms.
If you don&amp;#39;t need encryption, it could be even faster, considering the ATT table can be pre-stored on the client.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Absolute minimum discovery</title><link>https://devzone.nordicsemi.com/thread/48096?ContentTypeID=1</link><pubDate>Mon, 21 Mar 2016 15:34:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:374ee9b2-adaa-42ee-bf8f-79bdb3b8c64a</guid><dc:creator>RK</dc:creator><description>&lt;p&gt;Security is up to you, that&amp;#39;s a few more packets exchanged. If you determine that just whitelisting a resolvable private address is good enough, you can skip that bit. Connection is something like 6 packets, it can be quick. Your limiting factor is how quickly the central finds the peripheral, so if you are the central and want to connect quickly, you need to listen with the minimum time interval to your (also power constrained) peripheral which would be advertising as infrequently as possible.&lt;/p&gt;
&lt;p&gt;Under a second is quite practical, I&amp;#39;m under a second from button press to working, you notice the lag. I do have the accelerometer option as my remote mostly sits on a table so I can get a head start on the whole thing. I&amp;#39;m just waiting for my mCube board to show up, it promises me 1uA in sniff mode which is insane low power.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Absolute minimum discovery</title><link>https://devzone.nordicsemi.com/thread/48092?ContentTypeID=1</link><pubDate>Mon, 21 Mar 2016 15:15:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5c3e05dc-1452-4bbd-8f89-c4f6f744f1e6</guid><dc:creator>keith v</dc:creator><description>&lt;p&gt;Thanks for the replies.
Yes both pieces have very limited power budgets, the peripheral the lowest power requirements, scanning would kill the battery pretty fast I think&lt;/p&gt;
&lt;p&gt;There is 2 way communication, it&amp;#39;s very small data but it is there.
So it looks like, once it&amp;#39;s bonded with the UUIDs stored, Its just a connect and go, no need to discover anything GATTs and stuff.
That would be nice.&lt;/p&gt;
&lt;p&gt;Security, dang I hope not, but probably.&lt;/p&gt;
&lt;p&gt;Anyone want to guess what a connect time would be? under a second hopefully?&lt;/p&gt;
&lt;p&gt;The accell sounds cool, but this may be put in a pocket and would be constantly be active!&lt;/p&gt;
&lt;p&gt;Keith&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Absolute minimum discovery</title><link>https://devzone.nordicsemi.com/thread/48093?ContentTypeID=1</link><pubDate>Mon, 21 Mar 2016 10:29:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:48b72990-b0de-4e3b-a580-2e648c737e40</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;@keith: I have the same question as Bill, do you have limited power budget on both sides ?&lt;/p&gt;
&lt;p&gt;Also would the communication is only in one direction ( the remote sends command to the device) or it should be bidirectional (the remote reads data from the device ) ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Absolute minimum discovery</title><link>https://devzone.nordicsemi.com/thread/48091?ContentTypeID=1</link><pubDate>Sat, 19 Mar 2016 03:45:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1f72662b-1a49-4480-acd7-e297e68f60dd</guid><dc:creator>Bill Siever</dc:creator><description>&lt;p&gt;Ah --- excellent idea! I thought about trying to leverage the scan response somehow, but I hadn&amp;#39;t thought about using it as an ACK.  I tried to think of a good way to identify the optimal number of advertisement periods, but having an ACK makes eliminating unnecessary power consumption much easier.  If you do some experiments please keep us posted on the energy utilization of this approach.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Absolute minimum discovery</title><link>https://devzone.nordicsemi.com/thread/48090?ContentTypeID=1</link><pubDate>Sat, 19 Mar 2016 01:51:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c74b86bd-bb30-4ab6-a4c7-afa0ab4dfb08</guid><dc:creator>RK</dc:creator><description>&lt;p&gt;This is increasingly a great idea and now the peripheral+central softdevice is becoming standard it&amp;#39;s quite possible to make something which is both, a &amp;#39;normal&amp;#39; peripheral for being connected to by smart centrals and a central to listen out for this kind of event from a simple device, like a remote.&lt;/p&gt;
&lt;p&gt;You can get some kind of feedback, if you make the advertising scannable you&amp;#39;ll get scanned and will receive the scan event report, when you get that, you at least know your advertisement was received and who received it.&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve been avoiding adding that complexity into my current design, and only just moved up to the S130/S132 anyway .. I think it&amp;#39;s time for me to implement something like this, the current way I&amp;#39;m doing it does have noticeable lag sometimes.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Absolute minimum discovery</title><link>https://devzone.nordicsemi.com/thread/48089?ContentTypeID=1</link><pubDate>Sat, 19 Mar 2016 01:31:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7d3e04e1-7d45-45d4-8a8b-cd93030f8193</guid><dc:creator>Bill Siever</dc:creator><description>&lt;p&gt;Do both sides of the link have limited power budgets?&lt;/p&gt;
&lt;p&gt;It might be worth doing some estimates on the energy usage if you were to flip the central/peripheral roles.  You could use an initial connection event to exchange a signing key. The remote control could be a peripheral that only advertises briefly when a button is pressed. It could send a signed packet in the data portion of the advertising packet that includes the remote code and a sequence number to ensure it&amp;#39;s not processed more than once.  Of course, there wouldn&amp;#39;t be any feedback path to ensure receipt (but in some applications the user closes the feedback loop anyway).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Absolute minimum discovery</title><link>https://devzone.nordicsemi.com/thread/48095?ContentTypeID=1</link><pubDate>Sat, 19 Mar 2016 00:06:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0f57afe8-e8a4-4a1c-bddb-44d2f6ff1fea</guid><dc:creator>RK</dc:creator><description>&lt;p&gt;Yes you can use the UUID if you are bonded and you&amp;#39;ve checked the service changed characteristic to ensure the service hasn&amp;#39;t changed whilst you were disconnected. But you still have to connect, there&amp;#39;s no &amp;#39;ACK response&amp;#39; to an advertisement you can do anything with, you have to go through the connection procedure. If the characteristic you want to write requires security, you have to encrypt the link too (a signed write would be faster but I don&amp;#39;t recall ever seeing one in the Nordic API anywhere).&lt;/p&gt;
&lt;p&gt;I&amp;#39;m just working on something similar, a remote, I&amp;#39;m been messing about with the idea of putting a cheap(ish) accelerometer with low current and interrupt-on-motion into the remote so it starts pairing the moment you pick it up and by the time you press the button, it&amp;#39;s ready.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>