Support for multiple devices in rxandroidble? - rxandroidble

If I have multiple, identical, but uniquely named BLE peripheral devices, can this library be made to support that?
So, for example if the peripheral devices were heart rate monitors for a basketball team, could this code be used to support multiple connections to each of those 5 devices concurrently then somehow toggle in between devices to get/send data?

Related

Some questions for bluetooth low energy as an indoor proximity sensor for building or school campus

My professor recently approved our research paper which will also be used in our final year thesis. Basically our main purpose is to create a system for location tracking and attendance automation for students and staffs. We would like to use the power of bluetooth low energy modules for this project.
I have actually done quite few research about this but I am having trouble which keywords to use in order for me to filter the right answers for my question. So instead, I'll just put all my questions here.
I provided an image to further understand the concept I am talking about.
Basically, the broadcaster/advertisement mode modules are for students and staffs. While the observer mode modules are initially installed in every rooms or spaces in our building/campus.
Broadcast and Observer mode
I would like to clarify first that the location tracking is only basic, it only detects which rooms are the students and staffs located.
Here are my questions:
What is the maximum advertisement/broadcaster module can the observer module detects at the same time?
Our target is about 50 students per room, 300 students in cafeteria, will the observer module have a large amount of latency upon scanning advertisement packets?
Do we have to use different module for observer mode, or will the same module for broadcaster mode be just fine?
Since this is supposedly embedded to school IDs, we would like to use a coin cell battery, how long will it last?
According to my research, BLE range is about 100 meters, but we will be using coin cell battery, is it really possible to achieve 100m for broadcasting and observing? If it is, can we perhaps decrease it by programming?
My apologies for too much question, as this is actually our first time doing applied hardware stuffs due to pandemic. Most of our laboratories are basically tinkercad base. Face-to-face classes are allowed for only medical students for now.
A few answers:
BLE scanners can detect hundreds of distinct broadcasters at the same time. There is no hard limit, but the more broadcasters the longer it will take the scanners to detect each broadcaster.
Most BLE modules support both peripheral mode (broadcaster) and central mode (scanner) simultaneously.
Scanning 50 broadcasters in a single room will easily detect 90% of packets, so if the advertiser is going at 1 Hz it will usually take one second to detect, but sometimes 2-3 seconds of packets are missed.
The indoor range is closer to 40 meters with no walls obstructing the signal. Outdoors with clear line of sight the range is higher. Walls often block signals almost entirely, depending on materials.
A CR2032 coin cell can power a BLE broadcast at 1 Hz and max power for about 30 days.
Creating an embedded solution is cool and valid but just remember that broadcasters already exists as each and every student carries a smartphone with BLE embedded into it and your observer can be any BLE capable device from smartphone through PC with BLE dongle all the way to Arduino and alike.
Your broadcasters (or BLE peripherals as they should be called) will need an Android / iOS app and you will have to deal with working in the background without the operating system stopping your app.
Your observer (or Central in BLE language) can be any stationary PC if such exists in the class which can make development and deployment a lot easier.

Can i detect more than 40 devices in one time and keep tracking by BLE

So I will have more than 40+ devices in one place and I need to record when device entered in my zone and also when i lost signal by BLE.
As i know there are only 20 regions limit in IOS in one time.
As i can't set regions on peoples devices , is it means that i can't track more than 20 devices or is there any way to do it?
Devices will be iPhone,apple watch , androids.
So i guess they will have different UUID.
You are right about the 20 beacon region limit on iOS, but that probably will not impact your solution for a number of reasons:
The limit is per region not per device as #paulw11 says, so you can track much more than 20 beacons if you define regions that match multiple beacons by using wildcard idebtifiers in the regions.
You cannot make an apple watch transmit as a beacon. And while iPhone and most Android devices can do this, iPhones must have your custom app in the foreground to transmit. This may not work for you depending on your use case.
An alternative to having the devices transmit is to have them receive a beacon signal from a fixed beacon transmitter you install. This can be done by a custom app in the background (although for Apple watch it must be tied to a nearby iPhone for this to work). With this approach, there is no limit to the number of devices you can track. This is the typical way this is done.

Instead of Carrier Aggregation, why don't carriers use the new frequency bandwidth as separate channel to connect users directly?

Carrier aggregation combines the existing spectrum, say if the carrier had previously 20MHz in the area, with the newly acquired spectrum of 20MHz, to give a wider pipe or bandwidth for data flow between the mobile device & the base station tower.
My question is, why don't they just operate the new bandwidth as a separate pipe? So that there would be two pipes of 20MHz each, instead of one aggregated pipe of 40MHz?
Benefits:
Carriers won't have to deal with the complexity of Carrier Aggregation technology, as the two bands are totally separate (2300MHz & 1800MHz). End-users can be divided over the two frequencies. Theoretically this should halve the load on one channel, providing double the speeds to connected users.
Many existing 4G devices use single antenna for 4G operation. The LTE-A tech needs MIMO support on both mobile & tower to work. Essentially it needs 2 antennas on both mobile & tower for operating 2 different frequencies, which only stresses the mobile device. Existing hardware cannot benefit from LTE-A, where speeds will continue to remain the same post upgradation. In fact, it may slightly decrease post LTE-A implementation, since newer LTE-A devices will share load on both the frequencies, but existing LTE users can only use one.
For those new, this simple image explains how Carrier Aggregation works. https://www.techtalkthai.com/wp-content/uploads/2014/12/qualcomm_carrier_aggregation.jpg
1) Assuming that the operator already has 2 bands, it is really not complex to enable and configure carrier aggregation. It is likely that they already have the ability as part of the latest LTE software upgrades and it is just a matter of configuring it and possibly paying for a license to use it.
The scenario you describe of using two separate pipes instead of a single CA pipe is not feasible (or may not be possible?). When a device establishes a connection in an LTE network, a default bearer is configured which would not be able to simultaneously use two radio connections without CA or other similar features. Multiple bearers can certainly be established simultaneously, however they serve different purposes (e.g. voice vs data). That said, really CA is using two different pipes, but they act as a single (logical) bearer. Another advantage of CA is that the control plane signaling takes place on only one of the component carriers and therefore the other component carriers can be fully dedicated to user plane traffic.
2) I'll clear a few things up:
MIMO has nothing to do with Carrier Aggregation.
Most 4G devices today transmit on a single antenna and receive on two antennas. (Although they most likely have at least 2 tx and 2 rx antennas, and many have 4 tx and 4 rx antennas, although 4x4 MIMO has not been implemented by most operators.)
Existing devices are already taking advantage of LTE-A features and some operators are currently rolling out 3-carrier CA, 4x4 MIMO as well as 256QAM.
Here is a recent news article which discusses LTE-A features which have already been implemented: https://newsroom.t-mobile.com/news-and-blogs/lte-advanced.htm

Bluetooth Low Energy - capabilities detecting client devices

I have a client that is the owner of a farm. He wants to get monitorized the 1000 cows he has at a field. Mainly,he wants to identify the cows individually and checks to place a tablet near a specific door and check which o them crossed the door. Is that possible? I mean , the bluethoot receiver is able to read as 50 cows crossing simultaneously the door?Or it overflows the capacity of the technology? How the system needs to be configured ? The tablet as server and de bluethoot low energy devices as clients?
An explanation will be much appreciated
I'm not sure if Bluetooth is the right technology for that. Even if the Tablet can handle that many connections simultaniously, it does not tell you anything about the position of the animal. Basicly it would detect anything in a certain radius, but you wouldn't know if the cow passed through or just came close.
To answer the Client-Server Question: The Tablet acts as the "Central" device, the BLE sensor is a "Peripheral" device. Depending on the Application both device could act as server or as client. Here: Introduction to BLE you can find a Brief Introduction to Bluetooth Low Energy with more Details.
Depending on the gate size, NFC could be a better choice.

Why does GSM use full-duplex while cell phones have only one antenna?

According to this website:
Although GSM operates in duplex (separate frequencies for transmit and receive), the mobile station does not transmit and receive at the same time. A switch is used to toggle the antenna between the transmitter and receiver.
What, then, is the advantage of using separate channels for two-way communication? Communications can never go both ways at the same time; why have them separated (broadcast channels aside)?
One reason is to help with radio planning - if powerful cell antenna's (i.e. the base station antenna's) broadcast on the same frequency they received on, then they would have a hard time 'hearing' the relatively weak broadcasts from the phones, over the relatively strong signals from neighboring cell antennas.
"...GSM operates in duplex (separate frequencies for transmit and receive), the mobile station does not transmit and receive at the same time."
That's called half-duplex. It's done to save bandwidth and battery power, and to make cell phone conversations more difficult.

Resources