Can not find the Mi band Xiaomi blurtooth protocol - bluetooth

I am having a problem finding the Mi band bluetooth protocol, I have searched all over the internet but there are no information about it.
Is there anyone out there that could give me some info on the Mi band bluetooth protocol?
I want to enable and disble the vibrator motor, what are the bluetooth registers which I have to write to?
Thank you in advance

This links might help you, if my answer does not fit your question(s)
http://changy-.github.io/articles/xiao-mi-band-protocol-analyze.html
https://forum.xda-developers.com/general/accessories/xiaomi-mi-band-data-extraction-t3019156
Here you can find the following characteristics:
0xff05, CONTROL_POINT
Stop motor vibrate --> write 19
0xff0b, STATISTICS
Byte[0] --> wake (ms)
Byte[1] --> vibrate (ms)
Byte[2] --> light (ms)
Byte[3] --> conn (s)
Byte[4] --> adv (s)
0xff0d, TEST
Write 2 to Characteristic 0xFF0D (TEST).
Your Mi Band will do crazy things (LED flashing,vibrate)
Write 1 to Characteristic 0xFF0D (TEST) --> disconnect

Related

Get Latency of Bluetooth Headphoners UWP C++

I want to make sure the latency between my app and the bluetooth headphones is accounted for, but I have absolutely no idea how I can get this value. The closest thing I found was:
BluetoothLEPreferredConnectionParameters.ConnectionLatency which is only available on Windows 11... Otherwise there isn't much to go on.
Any help would be appreciated.
Thanks,
Peter
It's very difficult to get the exact latency because it is affected by many parameters - but you're on the right track by guessing that the connection parameters are a factor of this equation. I don't have much knowledge on UWP, but I can give you the general parameters that affect the speed/latency, and then you can check their availability in the API or even contact Windows technical team to see if these are supported.
When you make a connection with a remote device, the following factors impact the speed/latency of the connection:-
Connection Interval: this specifies the interval at which the packets are sent during a connection. The lower the value, the higher the speed. The minimum value as per the Bluetooth spec is 7.5ms.
Slave Latency: this is the value you originally mentioned - it specifies the number of packets that can be missed before a connection is considered lost. A value of 0 means that you have the fastest most robust connection.
Connection PHY: this is the modulation on which the packets are sent. If both devices support 2MPHY, then the connection should be quicker.
Data Length/MTU Extension: these are two separate features but I am looping them together becuase the effect is the same - more bytes are sent per packet, which results in a higher throughput. The maximum value is 251 bytes per packet.
You can find more information about these parameters here:-
A Practical Guide to BLE Throughput
Maximizing BLE Throughput: Everything You Need to Know
Bluetooth 5 Speed - How to Achieve Maximum Throughput
And below are some other links that might help you understand what is supported on UWP:-
Bluetooth Developer FAQ
BluetoothLEConnectionParameters.OptimizedProperty
Bluetooth LE Preferred Connection Parameter Class
Bluetooth LE Connection PHY class
How to Change MTU Size and PHY on Windows UWP C++

I want to send sensor data from MyRIO to XBee3 Mesh

I want to send sensor data from MyRIO to XBee3 Mesh. I have been looking at the XBee's documentation to check where the UART port is, but I have not found this simple information, instead, I found DIOs and PWM pins.
We tried to send data using the USB port and we were unable to do so.
Can anybody help us out with it? Any help, even just a direction would be greatly appreciated!
Thank you,
AIMS
Page 11 of the Digi XBee 3 RF Module documentation shows the following pins for the TTL-level UART:
UART pins XBee 3 Device pin number
micro-mount surface-mount through-hole
DOUT/DIO13 3 3 2
DIN/CONFIG/DIO14 4 4 3
CTS/DIO7 24 25 12
RTS/DIO6 27 29 16

Motorola XT910 reads rssi equal to 0 from bluetooth low energy tags ticc2540,ticc2541,blue radios tags

I develop an Android application running on Motorola RAZR XT910 with OS version 4.0.4.
This application uses the Motorola_ICS_R2_sdkaddon_100 BluetoothGattService.jar and BluetoothGatt.jar libraries and communicates with Bluetooth
Low Energy Sensor Tags (TI CC2540,TI CC2541,Blue Radios Sensor Tags).
On Discovery procedure I always read the rssi value equal to 0 . I use the following code
to read the rssi value on receiving the Intent BluetoothDevice.ACTION_FOUND:
short rssi = intent.getShortExtra(BluetoothDevice.EXTRA_RSSI,(short) 0);
Also for non Bluetooth low energy devices,the rssi value i read is ok (not equal to 0).
Can anyone help me??
thanks
I found a similar issue on the TI discussion site for using the Vender Specific query for RSSI. It seems that it works for Classic BT but returns an error code of 2 for BLE.
http://e2e.ti.com/support/low_power_rf/f/660/t/289391.aspx
It might be a fundamental limit that you can't get the value. In your case, the getShortExtra might not return the error code (2) and just return a 0 as RSSI.

Read Data from unknown Bluetooth Device while communicating

I am trying to figure out how the FORA d15b blood pressure monitoring system communicates via Bluetooth. I want to be able to eventually write an Android app that can receive blood pressure data from the device.
More specifically, I want to know the exact data to send to the device in order to request blood pressure information. I also want to know the data that the device sends out. However, I don't even know the format of the data being sent/received.
I know that FORA has a PC app that can communicate with the d15b device via Bluetooth but I don't know what information its sending/receiving over Bluetooth, and that's what I want to know.
Here is Bluetooth information I know about the d15b device:
Bluetooth Carrier Frequency: 2400MHz to 2483.5MHz
Bluetooth Modulation Method: GFSK, 1Mbps, 0.5BT Gaussian
Transmission Power: +3dBm to –20dBm; Power control 4 stage
Receiving Signal Range: -88dBm to -20 dBm
Receiver IF Frequency: 1.5MHz center frequency
Maximum Data Rate: Asynchronous:723.2kbps/57.6kbps;
Synchronous: 433.9kbps/433.9kbps
I'm struggling to even find a starting point. Any help is appreciated! Thanks in advance.
I am familiar with C, Java, and Arduino if that helps at all...
NOTE:
Unfortunately, I am new to Bluetooth. After doing some research, I am still pretty clueless on how to solve this problem. In the title, I say unknown Bluetooth device because I just want to be able to read what I/O of an unknown Bluetooth device, which in my case happens to be the d15b that I know nothing about. Sorry if the question has been addressed already or if this is an inappropriate place to post this question. I wasn't sure.
Bluetooth data is encrypted. So it's not possible to hack it easily.
Forget it.

UCBT Bluetooth Simulator

Can anyone please tell me if UCBT can be used for RSSI measurement and if yes how?
RSSI - Received Signal Strength Indication - measurement of the strength power of the radio signal. UCBT - University of Cincinnati Bluetooth extension for ns2 simulation software. No you cannot measure the RSSI with UCBT. You should try to use something like Wireshark for this.

Resources