Sounds doable, but not quite easy. PSoC4 BLE is good for a single point-to-point connection. Recently there was a project shown that polled for connections one after the other. The used time-slice was in the range of one second which would mean your 60 buttons can be polled within one minute. I'm not quite sure how much the time-slice could be reduced. The distance seems ok for BLE.
1 of 1 people found this helpful
If the simultaneous press only has to be recorded time synchronous to
a central clock answer is yes as each BT device can manage a key press
in uS (the edge detect) and bounce in/out a key press in ~ 200 mS for a
mechanical key. So if a broadcast from central of time in order to time
stamp the key press sounds like not issue. Remaining issue is latency
to receive all nodes status. And the continuing popularity of BT means there
will be other devices in room, like cell phones, activity wrist bands, all using
the airspace, but not responding to your profile.
Most likely your latency will be dominated by the time you allot for all node
status reporting, eg. the time window you allot humans for response.
Then of course the polling latency.
It might be an idea to transmit the last button press (when and which button) in the advertising data of the peripherals. That should be faster to collect than when you connect to each device.
Thanks Bob, Dana, Hli for suggesting design ideas.
As I am a Newbie on Bluetooth design.I would like to know:
Suppose in design, all slaves units start advertising (that a button is pressed) and Master is making connection to each slave one by one to retriev button pressed data for that slave.
Initially - worst case - all 60 slaves are advertising, till master makes connection to them individually and they stop advertising on transfer of data using response to scan request by master.
Are 60 channels advertising simultaneously allowed and tolerable in Bluetooth scenario? Interference / collision issue?
Approximate estimate on time to establishing connection and getting scan report from each slave by a single master, sort of polling latency period.
Is there a mechanism to tell all slaves at once that, now you start scanning keys and advertise them when a key press is detected.
This might shed some light -
Shows latency to connect -
More ref material that might be of use -
http://www.cypress.com/?id=5509 100 Projects in 100 Days with Bluetooth
http://www.cypress.com/?rID=102512 AN91445 - Antenna Design Guide
http://www.cypress.com/?rID=102505 AN94020 - Getting Started with PRoC™ BLE
http://www.cypress.com/?rID=110007 AN92584 - Designing for Low Power and Estimating Battery Life for BLE Applications
http://www.cypress.com/?rID=109900 AN91162 - Creating a BLE Custom Profile
http://www.cypress.com/?rID=110107 AN91184 - PSoC 4 BLE - Designing BLE Applications
http://www.cypress.com/?rID=102504 AN91267 - Getting Started with PSoC® 4 BLE
http://www.cypress.com/?rID=107332 AN95089 - PSoC® 4/PRoC™ BLE Crystal Oscillator Selection and Tuning Techniques
Thanks BMAH and Dana for the pointers.