This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

S110 or S120?

I want to log basic intermittent events and push them to a previously associated mobile device when one is nearby. The mobile device can then forward the events up to a server. The events are pretty slow (on the order of seconds) and fairly infrequent (on the order of 100 per day). Pretty generic IoT device.

Battery management is very important, and it seems unrealistic to expect a user to open the app and connect to the device every time they want to pull events off. I've been previously using the S110 soft device (embedded device is a peripheral, mobile device is the central), but have been second-guessing whether this is the right choice especially after discovering that's it's ultimately the central who decides the connection parameters (the iPhone at least has been setting my connection interval to something other than what I requested). Basically, I'm really worried about how sensitive the battery life is to the connection interval and advertising and am wondering if the correct soft device to use is the S110.

Parents
  • Hi Labs-stellios,

    I don't think letting the nRF51 running as central device and the phone as peripheral would save the battery in yourcase. Unless you want to save the battery for the phone. And also please be noted that, currently not all phone support peripheral mode (for example Android phones)

    If you keep the nRF51 as central device, you will have to leave it running in scan mode in order to catch advertising packet from the phone to establish a connection. Running in receiver mode actually consume more power than transmitting at 0dbm.

    From what I understand from your case, you have about few hundreds events per day and each event would last for a few seconds.

    My suggestion for you is to keep the device in peripheral mode, sleep most of the time, only wake up and advertise when there is an event.

    On the phone, you can run a background service /app to scan and establish a connection when it receive the advertising from the device. I'm not 100% certain that you can have background app for iOS to do that (but something related described here, but it's possible on Android.

    After you have the connection established, you can request for the connection parameter update and then can terminate the connection quickly after the event finishes or when you finish transfering data.

Reply
  • Hi Labs-stellios,

    I don't think letting the nRF51 running as central device and the phone as peripheral would save the battery in yourcase. Unless you want to save the battery for the phone. And also please be noted that, currently not all phone support peripheral mode (for example Android phones)

    If you keep the nRF51 as central device, you will have to leave it running in scan mode in order to catch advertising packet from the phone to establish a connection. Running in receiver mode actually consume more power than transmitting at 0dbm.

    From what I understand from your case, you have about few hundreds events per day and each event would last for a few seconds.

    My suggestion for you is to keep the device in peripheral mode, sleep most of the time, only wake up and advertise when there is an event.

    On the phone, you can run a background service /app to scan and establish a connection when it receive the advertising from the device. I'm not 100% certain that you can have background app for iOS to do that (but something related described here, but it's possible on Android.

    After you have the connection established, you can request for the connection parameter update and then can terminate the connection quickly after the event finishes or when you finish transfering data.

Children
No Data
Related