# Opportunistic Sensor Data Collection with Bluetooth Low Energy
## 5 Evaluation
### Sensor Node Current Consumption
#### 5.1.2 Connection-Based Approach  
For the analysis of the connection based-approach, we first study the sensor node average current consumption within a period of _connInterval_ (once a connection has been established), we then evaluate the average current consumption during \(T_{conn}\), and finally we obtain the average current consumption of the connection-based approach. Figure 10 depicts the average current consumption of a sensor during a _connInterval_ period (\(I_{avg\_Cl}\)), as a function of _connInterval_, by using the values in Tables 1 and 2, and Equation (16). The sawtooth wave of the curve in Figure 10 is due to the fact that only an integer number of round trip exchanges between the two BLE link endpoints may fit in a period of _connInterval_ duration. For the lowest _connInterval_ value (i.e., 7.5 ms), the number of round trip exchanges that may be performed is 10. As _connInterval_ grows, the idle time without round trip exchanges until the end of _connInterval_ tends to decrease in relation to the active part of the interval where round trip exchanges take place. Figure 9: Average current consumption of the sensor node in the advertisement-based approach, as a function of _advInterval_, and for both \(N=1\) and \(N=3\). Figure 11 illustrates the influence of BER on the same performance parameter, i.e., the average current consumption of a sensor during a _conInterval_ period (\(I_{avg\_CI}\)). As shown in that figure, current consumption within _connInterval_ decreases with the _connInterval_ setting (for non-zero BER values), and also decreases with BER. In fact, BLE was not designed for high throughput interactions. When bit errors arise in a connection event, BLE tends to close the connection event quickly and try a different frequency channel for the next connection event (see Section 3.1.2). Once a connection event is closed, the sensor node can sleep until the next one. Sleep interval duration increases with BER and with _connInterval_. This behavior actually saves sensor node energy, but it also reduces the amount of information that can be collected by the mobile entity. Figure 11: Average current consumption of the sensor node within _connInterval_ (Iavg_CI) in the connection-based approach, as a function of _connInterval_, and for several BER values. Figure 10: Average current consumption of the sensor node within _connInterval_ (\(I_{avg\_CI}\)) in the connection-based approach, as a function of _connInterval_, and for BER = 0. We next study the average current consumption during \(T_{comm}\), for different \(T_{contact}\) values (Figure 12). We assume a _connSupervisionTimeout_ of _connInterval_, i.e., the minimum value for this parameter, in order to evaluate the scenario of lowest sensor node energy consumption after connection failure. While the sawtooth effect observed in Figure 10 is visible, in Figure 12, such effect is reduced, mainly due to the connection establishment, detection of inactive connection, and connection finalization procedures, which also consume energy. The _advInterval_ parameter may influence the current consumption within \(T_{comm}\), since the time between the contact start and the next advertising event, during which the sensor node is in sleep mode, may be relevant. For low _advInterval_ values, different contact times do not yield noticeable differences in the average current consumption. However, for high _advInterval_ values, the difference in the current consumed within \(T_{comm}\) is significant, since _advInterval_ becomes significant in comparison with some of the contact times considered (e.g., 45 s). Using different values for \(N\) leads to negligible differences in the current consumed during \(T_{comm}\), which are not shown in Figure 12 for the sake of clarity. We also evaluate the influence of BER on the current consumed by the sensor node over a \(T_{comm}\) period (Figure 13).