Community news, upcoming events and general discussions
Threads: 26 Posts: 67
Get technical support from the community
Threads: 733 Posts: 4004
Threads: 15 Posts: 54
Tell us how to make XDK better!
Threads: 34 Posts: 112
Share and discuss community member projects
Threads: 20 Posts: 108
I'm having my first expiriense with the XDK110 and with Bluetooth (BLE) networks, so if I don't understand something immediately, I ask in advance for apologies.
What I'm trying to do?
We have to log data from several device which are positioned in a waste area.
Because of the power-consumption we want to use BLE and not WLAN.
As soon as one of the sensors exceed as certain limit the user has to be informed (it is not time critical - if it happens after a few minutes it'd be fine).
The customer wants also to have some life-data about the devices (the interface is not defined, yet) so saving the data on the SD-Card won't work for this user-case.
What did I so far?
I have read partially the Bluetooth 4.2 specs (Ref. www.bluetooth.com/specifications ) and I understood that it is possible to create several piconets, where one sensor can be a server of one piconet and a a client of another so that the sensors can be used as "range-extender".
I did some tests and I discovered that to cover the area we need three or four BLE-piconets.
In https://xdk.bosch-connectivity.com/community/-/message_boards/message/196470 I found out that another user had a similar problem. The solution given by Manuel Cerny is a work-around which works is you have just two devices to connect. But I think in my user-case it won't.
I'm experimenting with the alpwise-library and I'm reading the docs includes in the XDK-Workbench but so far I didn't find out how to connect the piconets to eachother.
Does anybody know If it possible to connect the XDK-devices is several piconets and to connect these piconets to each other? Or I am following a mirage?
I appreciate any help or hints
Thank you in advance
Hello Evlys, this is a very difficult use case, and I would like to mention in advance, that this will definitely not work in Workbench versions 3.0+, unfortunately. In these versions, the Alpwise stack has been limited in favor of the high level BCDS API BLE of the newest SDK. In this state, neither the Alpwise Stack, nor the high level API are able to function as both central and peripheral devices at the same time. To be more precise, it is only possible to use the XDK as a peripheral (server) currently. As such, to try out the recommendations and solution concepts from the thread you linked, you have to install a Workbench version lower than 3.0 (preferably 2.0.1), because those previously mentioned limitations are not set there. And if you do that, I do not quite see why the solution given by Manuel Cerny would not also apply to yours. As I understand it, you basically want a chain of XDKs that leads to a main device (collector), is that correct? In my understanding, it would be like this:
XDK <-> XDK <-> ... <-> XDK <-> Collector
If it turns out to be quite a difficult thing to achieve with the XDK, the other option would be to use a third type of device as a sort of range extender (I will call it RE in my illustration), with the following setup:
RE <-> RE <-> RE <-> Collector
| | |
XDK XDK XDK
Of course, that might make the entire project even more complicated, with every range extender requiring two (or more) connections as master and one as slave. But overall, I consider WiFi with CoAP or MQTT to be the easiest solution, since as you said, the data is not time-critical, hence you do not have to continuously send out messages, which would reduce the total power consumption. The content for messages could also be buffered till the message has to be sent. Please tell me if this was helpful, and do not hesitate to ask further questions. Kind regards, Franjo
thank you for the hints.
I will discuss the topic with the customer and try to find out a solution.
Can you tell me if the API comming with Workbench is used in all bosh-connectivity devices?
Maybe another sensor (e.g. http://www.bosch-connectivity.com/en/what_we_offer/products_and_solutions_1/ciss/ciss) could be a solution.
Thank you in advance.
Hello Elvys, I am glad that I could help. Regarding the software coming with the Workbench, I assume the other products of BCDS use similar software, but they are not as openly programmable as the XDK. The XDK is a prototyping device, which makes customized code a neccessity. This is not neccessarily the case for other devices. Especially the Workbench is unique to the XDK and not used for other Bosch Connectivity Devices in this form. That really depends on the device. For example, the Connected Integrated Sensor Solution (CISS) you mentioned can only be configured with a shipped Android/iOS app. Please let me know if this is helpful and feel free to ask if you have further questions. Kind regards, Franjo
Ok, thank you anyway.
I am always glad to help.
Please feel free to ask if you have further questions.
Kind regards, Franjo