Reverse engineering BLE TPMS sensors

Hello

Not getting a lot of responses on project guidance area, so here goes...

I recently made a tire temp array (for racing car) with Melexis MLX90614 sensors and datalogging. I also wanted to include tire pressures to that same data and also display them on screen with the tire temperatures.

I acquired Accutire MS-4388 BLE sensors that work with Android and iPhone softwares. I used Wireshark and BLE sniffer to see what is happening between the master (Android) and the slave (BLE sensor). As you see on screenshots, the master sends a read request and slave device aswers with the sensor value. I recon this would be "easy" to do with RPi and Bluez stack, but what about Arduino? I could buy an RPi device and read the sensor data and then send it to my Arduino Uno device, but it would certainly be one extra device I could do without.

I bought HM10 BLE module, but soon discovered it is only capable of serial communication, and could not send read requests. (correct me if I'm wrong)

Any other possibilities?

Coming back to this, I ordered a brand spanking new RPi 3 and tested my theory and it works. The sensor responds with the pressure value when I send the handle in gatttool. Temporary workaround would be to use the HM-10 module to receive the sensordata from RPi.

Have you made any additional progress on this with the Arduino? Could you use a chip like Bluefruit LE - Bluetooth Low Energy (BLE 4.0) - nRF8001 Breakout [v1.0] : ID 1697 : $19.95 : Adafruit Industries, Unique & fun DIY electronics and kits instead?

I'm working on a similar project and was wondering if the tire sensors always kept a live bt connection. At what point do the sensors stop transmitting data?

gatorson:
Have you made any additional progress on this with the Arduino? Could you use a chip like Bluefruit LE - Bluetooth Low Energy (BLE 4.0) - nRF8001 Breakout [v1.0] : ID 1697 : $19.95 : Adafruit Industries, Unique & fun DIY electronics and kits instead?

I'm working on a similar project and was wondering if the tire sensors always kept a live bt connection. At what point do the sensors stop transmitting data?

You can't use a chip that acts as a client only. It has to be able to mimic a phone bluetooth so it acts as a master and makes queries to the sensors. My raspberry can read the sensors and it send the data as bluetooth serial type to the arduino. I think there should be a way to read the sensors through arduino, but haven't found the capable device yet.

I think there is no active connection to the sensors - it would drain the sensor batteries quite quickly. The master device establishes the connection and reads the value and then drops off the connection. They should be read in intervals, once in a minute perhaps.

How did you knew how to send requests over Bluetooth to get responds from the sensor?

I'm planning to do the same with another bluetooth sensor.