Hi,
I have 3 FRDM-KW36 boards (1 central - 2 peripheral). These 2 peripheral nodes read sensor data and reading should happen with the order from the central node and sampling should happen almost at the same time (less than 25us difference). With the connection oriented approach how can we achieve this? Thanks.
Hello,
Do you mean like sending a message request from to different nodes? Are you doing it automatically or will it be time base?
I believe that the Wireless UART example might be the best guide for you in this case, but I'll wait for you to confirm this.
Regards,
Estephania
Hi Estephania,
By using BLE, I need to synchronize all the peripheral nodes that are connected to the central node so that peripherals can perform the sensor reading around the same time (with max 25us difference).for a good measurement. The message should be sent from the central node and received by the peripherals. I have checked the Wireless UART example, but I could not find what I was looking for. In the example, the connection interval is 7.5ms and the anchor point for different connections are different so a message sent from central received at different times at the peripherals.
Regards,
Ayturk
Hello,
But if you use the multiple connections capabilities of the device, when you receive a message you should no have that much delay.
How are you sending the message, did you adapt it?
Regards,
Estephania
Let me rephrase the question:
In scenario one, there are two nodes: one central/master and one peripheral/slave, in connection-oriented mode of operation. In the application layer, we need to synchronize these two nodes to sample the temperature sensor at the same time. One solution could be to get the “connection-event-finished” interrupt on both devices at the same time and to perform the sampling of the temperature sensor, at the same time. However, in KW36, we couldn’t get access to such an event (connection-event-finished).
In scenario two, there are one central/master and two peripherals/slaves, in connection-oriented mode of operation. How to synchronize these three nodes, in multiple connection scenario, in the application layer? Similarly, we don’t have access to the “connection-event-finished” interrupts.
What is your proposed solution to synchronize two or three BLE devices, in connection-oriented mode, in the application layer?
Regards,
Ayturk
Hello,
But still, there is no way to synchronize them as those have different connection times, and in order to have the data at the same time, you will need to have two radios because of even though you get to have the data sent at the same time, you will lose one of the packets as it will only receive one in Bluetooth LE and the other one will not be received by the master.
If there was something not clear, let me know so I can try to explain it in a different way.
Regards,
Estephania
Hi Estephania,
Thank you for your reply and effort. The data could be sent later but our main concern was to acquire data at the same time at different nodes. Unfortunately, from the application layer, I was unable to succeed this. By using the low-level registers of the KW36, I was able to get the interrupts of the connection events (connection interrupt status register). Since the gap between different connection events was same for each connection interval, I was able to measure the gap and compensate for it after all of them receive the command by the central.
Best Regards,
Ayturk
Hello,
It is ok that you managed to make it work, just be sure that if you are intending to certify your product/project you will need to be compliant with all the Bluetooth LE Specifications.
Regards,
Estepahania