Redesigning Ti SensorTag - sensors

This is my first question in Stackoverflow :)
I'm trying to make few modifications to the Ti Sensortag but I have few questions please:
1- is it possible to make the sensortags communicate with each-other without a gateway?
(lets Say I put Sensor1 in bedroom 1 and sensor 2 in bedroom 2 can I make them exchange readings without the need for a gateway?)
2- can I install a micro USB over the interface connector to be able to use a portable battery pack? (photo of the interface connector)
thanks

You'll get better more in depth responses on the TI support forums as Ifor has said.
However, I can tell you the answer to #1... Regular bluetooth allows for things like piconets, but Low Energy does not. With LE you have a client/server (master/slave) connection between two devices only. It may be possible to modify the firmware on the sensortags to allow them to make connections to other sensortags, but then they'd have to give up whatever connection they currently had to do so. The master devices can connect to multiple slave devices, but the slave device can only be connected to one master.
As the sensortags are currently designed, I think they only work as a slave (server) device.

Press releases say that the new 4.1 spec allows for a single BLE device to act in both roles--central and peripheral eliminating the need for a gateway. A 4.1 update is, in theory, possible with 4.0 radio hardware like the SensorTag has. I personally haven't seen an example of this however and SensorTag processing resources may be a limiting factor to a dual role.
The Battery Pack connector breaks out VDD_EXT and GND and the SensorTag hardware schematic is available. Analysis by a hardware design engineer should be able to determine the suitability of a USB source powering option.
http://processors.wiki.ti.com/index.php/SensorTag_User_Guide

Related

Maximum number of BLE sensors that could be connected to a BLE gateway at a given instant?

I have this doubt. For example, I have a Smart Wrist Band (measures pulse, body temp), a Smart Gear/Watch (to display text alerts, control calls) and a Bluetooth headset. I need all the three to communicate with my mobile phone at the same given instant.
Is it possible to achieve the same ?
What are the challenges involved if I need to develop an application on my own if I had to achieve the above possibilities ?
Your help is highly appreciated.
Note:
- BLE has star-based network topology and maximum devices per Piconet is 8 including the Master
- Please help me in understanding/visualizing the above theory that I learnt.
Thanks.
The Bluetooth Classic has a limitation of 7 slave devices in a piconet and they are time and hop synchronized to the master ( ie master and slaves share a common physical channel and it is not possible to address more than seven slaves for a master when in Active mode).
In BLE each connection from a master to a slave operates in an independent physical channel( ie LE slaves does not share a common physical channel with the master), hence there is no limitation imposed by the Specification except as specified by the Connection interval and slave latency rules ( Note that individual bluetooth controller manufacturers may decide to limit the number of connections depending on the practical bandwidth limitation).
please see the Bluetooth Classic vs Bluetooth Low energy Topology below.
Is it possible to achieve the multiple sensors ( BLE) and Headset (BT classic) connected to mobile?
Yes it is very much possible, except that there are some BT4.0 controllers which doesn't allow LE advertisement while connected to another BLE device. please check the known limitations in a particular bluetooth controller.
It's the Bluetooth controller that has the limitation. Different Bluetooth controllers have different maximum number of concurrent connections. It's usually between 5 and 14. However Android has an additional hardcoded limit of 10 for some strange reason.
Other than this, there shouldn't be any particular challenges.

Can a master Bluetooth device use more than one antenna to connect to slaves?

I'm not sure how to correctly phrase this question, as I'm just starting to learn Bluetooth and its ways, but... imagine holding in an iPhone or Android phone in your hand in a large building with many rooms. You pair your device with a Bluetooth master device via an antenna in that room. Then once you move from room to room, your device communicates with other antennas throughout the building, but the device treats it as one pairing.
Is this at all possible? Was Bluetooth developed with this in mind at all?
Would this still work if the antennas were wireless? My idea is for devices to communicate with nodes via Bluetooth, and nodes interact with central base via wi-fi/local router.
Also, third random question: how does using BLE affect any of this?
Please tell me if I'm crazy! Thanks!
Bluetooth 4.0 BLE allows for a slave to connect to one master. 4.1 BLE allows for more than one connection, but I don't know if anything implements that yet.
Either way, there's no sort of "roaming" method pairing devices like with wifi access points with the same SSID. BLE however doesn't require pairing like regular Bluetooth, so you could just connect to a new access point each time you lose a connection.
You can also communicate via advertising packets from the "antenna" in each room. This would facilitate information being passed from those rooms to the phone, but not the other way around. This is basically how you communicate with BLE when you don't pair/connect devices and is how iBeacons work.
If you're writing the software yourself, and installing it in the building and on the phone, then I think it should be totally possible. Bluetooth devices can detect the distance and direction of other bluetooth devices. So if both devices are running software that is designed to, and grants permission to do so, it should be no-big-deal to programmatically auto-reconnect to the new nearest antenna whenever one becomes significantly closer than the one that your phone is currently connected to. As for software that already does this that you wouldn't have to develop from scratch yourself, no idea.

Can Two Bluetooth LE (4.0) Devices talk to each other?

Can Two Bluetooth LE (4.0) Devices talk to each other ?
A good example can be if two FitBit devices talk to each other .Just pass basic information ?
or One Coin Device communicate each to other ? (https://onlycoin.com/)
As of today we see most BLE Devices like fitbit communicate back to Iphone/Android Only .
Wont it be possible to have both FitBit deices communicate each other ?
I am thinking of creating a "Card 1: Bluetooth Card(LE 4.0)" which when Contacted with another "Card 2: Bluetooth Card(LE 4.0)" can exchange some date . After the exchange Card 1 will send the data it got from Card 2 to an IOS /Android device and the same applies to Card 2 . Is this possible at all ?
What you want to achieve is currently not doable. Bluetooth Low Energy (v4.0) only allows the star topology configuration, i.e. Only one master and multiple slaves; the master can talk to the slaves at the same time but the slaves cannot talk to each other. According to the Bluetooth website, they state:
"Bluetooth low energy technology uses a 32 bit access address on every packet for each slave, allowing billions of devices to be connected. The technology is optimized for one-to-one connections while allowing one-to-many connections using a star topology. With the use of quick connections and disconnections, data can move in a mesh-like topology without the complexities of maintaining a mesh network".
One way to achieve what you want is to switch roles between transmissions (i.e. the device that was once a slave then becomes a master) but this will be very complicated and many BLE chips do not support this feature.
I hope that this helps.

Bluetooth UUID discovery

Does anyone know how a bluetooth device could pick up the discoverable devices' device IDs in range?
I am ideally looking for the simplest solution that involves the smallest implimentation of the bluetooth protocols.
A starting point would be good, I just wish to create a device that can store all the device ids of nearby bluetooth devices with minimal power consumption, preferably just using radio frequencies and not SDP and whatever else.
If you can't help me with this, please can you help me find good reading material for low level bluetooth (step by step) communication. The reading online is so high level that I cant work out what is actually sent, when.
Laalto nailed the answer from the Bluetooth spec/stack POV, but your question implies your looking for a stand-alone Bluetooth device - not just a laptop app scanning surrounding devices.
I can only speak for the BT chips that the company I work for manufactures (Cambridge Silicon Radio - CSR) but our chips can do that pretty much out of the box. Our chips have an on-board Virtual Machine sandbox that allows access to the firmware functions and Bluetooth stack of the chip. You can easily write a C code app to run in the virtual machine sandbox, on chip, that periodically scans for discoverable devices around, grab their ids and then download them when connected via USB or Serial, or maybe over BT when a device connects to the listener directly.
www.csr.com and www.csrsupport.com for chips, dev-kits, design references, etc.. etc...
You probably want a module with the extra HW (UARTs, USB etc...) as well as just the chip but you could implement this with something the size of a BlueTooth USB or probably smaller.
It would really help to know more about what your trying to achieve, why you want something that just scans the surrounding bluetooth devices and how big the device needs to be.
Sorry if this sounds like advertising. For balance: Broadcom make BT chips too!
The Bluetooth specs from http://www.bluetooth.org are a good starting place for low-level information. You need an account to access the specs, but you can create one for free.
Basically what you need to do is to go into Inquiry mode periodically and grab the response packets as they arrive. The more time you spend in Inquiry mode, the more likely you will discover devices in range: discoverable devices enter the Inquiry Scan mode only relatively rarely; it takes some time (10.24s at least with older Bluetooth versions) to scan all the possible frequencies in the Inquiry/Inquiry Scan frequency hopping schemes. And even then you can have suboptimal radio conditions.
For implementation I suggest you at least start with existing Bluetooth libraries such as BlueZ and do not attempt to create your own from scratch.

'Conference' type operations using Bluetooth?

Is it possible to implement Bluetooth devices to provide conference rather than one-to-one operation.
Are there any development toolkits that will allow me to configure BT devices in this way, or modifications that can be done to the BT stack or an add-on protocol.
I need to configure several Bluetooth adaptors to simultaneously communicate with one another. I think BT allows up to 10 'pico-nets' but I need specialiced advice.
I would welcome any links to resources, or replies from Bluetooth experts.
Thanks in anticipation.
I've heard of something close to this, called a piconet. Googling "bluetooth piconet" should point you in the right direction.
A master device can be networked in this way with up to 255 slave devices, but only 7 can be active at any one time. This is more of a one-to-many communication than many-to-many, but could potentially be approximated by having the master device act like a network switch.
Update: I just read that slaves in one piconet can participate in another piconet as either a master or slave, forming a "scatternet".

Resources