0

I am trying to connect TE connectivity M5600 wireless pressure sensor (http://www.te.com/usa-en/product-CAT-PTT0063.html) to Raspberry pi with no luck. The sensor is using Bluetooth 4.0. The sensor is working because I can connect it to my Android phone using TE connectivities app. Raspberry has latest Rasbpian with updates installed. Bluez version is 5.43. I have tried different tools to connect to the sensor, but nothing has worked so far. I have tried with bluetoothctl, hcitool and gattool. All of the tools can see the device when scanning. I also tried disabling the internal bluetooth controller and using usb bluetooth adapter, but everything was the same.

Here is some output from the tools I used: https://pastebin.com/62SLWBe2

1
  • Working on the same. The RPI has a to short timeout to connect. I can now connect after a recompile and an adjustment i a "h" file. Just had succes app. 10 min. ago - now I am trying to read from the sensor. I cannot make it work using noobs to install have to install rasbian directly, download and recompile a new kernel with a longer timeout period. Perhaps we can collaborate? Best regards, Adam
    – Adam Brun
    Feb 3, 2018 at 23:43

1 Answer 1

2

I have the m5600 talking to the Raspi with the built-in Bluetooth.

This required a kernel modification to change the HCI_LE_CUTOCONN_TIMEOUT. This is originally set at 2 seconds. Changing to 20 seconds allows the connection to be made.

root@raspberrypi:/home/pi# hcitool lescan
LE Scan ...
14:99:E2:F5:37:06 (unknown)
EA:59:25:B9:71:EC TESS 5600
EA:59:25:B9:71:EC (unknown)
^C
root@raspberrypi:/home/pi# gatttool -b EA:59:25:B9:71:EC -t random -I
[EA:59:25:B9:71:EC][LE]> connect
Attempting to connect to EA:59:25:B9:71:EC
Connection successful
[EA:59:25:B9:71:EC][LE]> char-desc
handle: 0x0001, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x0002, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0003, uuid: 00002a00-0000-1000-8000-00805f9b34fb
handle: 0x0004, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0005, uuid: 00002a01-0000-1000-8000-00805f9b34fb
handle: 0x0006, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0007, uuid: 00002a04-0000-1000-8000-00805f9b34fb
handle: 0x0008, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x0009, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x000a, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x000b, uuid: 00002a29-0000-1000-8000-00805f9b34fb
handle: 0x000c, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x000d, uuid: 00002a24-0000-1000-8000-00805f9b34fb
handle: 0x000d, uuid: 00002a24-0000-1000-8000-00805f9b34fb
handle: 0x000e, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x000f, uuid: 00002a27-0000-1000-8000-00805f9b34fb
handle: 0x0010, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0011, uuid: 00002a26-0000-1000-8000-00805f9b34fb
handle: 0x0012, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0013, uuid: 00002a28-0000-1000-8000-00805f9b34fb
handle: 0x0014, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x0015, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0016, uuid: f0002a19-0451-4000-b000-000000000000
handle: 0x0017, uuid: 00002901-0000-1000-8000-00805f9b34fb
handle: 0x0018, uuid: 00002902-0000-1000-8000-00805f9b34fb
handle: 0x0019, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x001a, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x001b, uuid: f000ab31-0451-4000-b000-000000000000
handle: 0x001c, uuid: 00002901-0000-1000-8000-00805f9b34fb
handle: 0x001d, uuid: 00002902-0000-1000-8000-00805f9b34fb
handle: 0x001e, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x001f, uuid: f000ab32-0451-4000-b000-000000000000
handle: 0x0020, uuid: 00002901-0000-1000-8000-00805f9b34fb
handle: 0x0021, uuid: 00002902-0000-1000-8000-00805f9b34fb
handle: 0x0022, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0023, uuid: f000ab3f-0451-4000-b000-000000000000
handle: 0x0024, uuid: 00002901-0000-1000-8000-00805f9b34fb
[EA:59:25:B9:71:EC][LE]> char-read-hnd 0x001b
Characteristic value/descriptor: b5 0b b5 89 35 00 00 00 00 00 44 9d 3b 01
[EA:59:25:B9:71:EC][LE]> char-read-hnd 0x001b
Characteristic value/descriptor: b5 0b 8b 85 35 00 00 00 00 00 44 9d 3b 01
[EA:59:25:B9:71:EC][LE]> char-read-hnd 0x001b
Characteristic value/descriptor: b5 0b 1b 86 35 00 00 00 00 00 44 9d 3b 01
[EA:59:25:B9:71:EC][LE]> char-read-hnd 0x001b
Characteristic value/descriptor: b5 0b 82 8a 35 00 00 00 00 00 44 9d 3b 01
[EA:59:25:B9:71:EC][LE]> char-read-hnd 0x001b
Characteristic value/descriptor: b5 0b 27 86 35 00 00 00 00 00 44 9d 3b 01

I'm currently running stretch with Bluez 5.49.

I cross compiled the kernel on my Fedora server from instructions at: https://akanto.wordpress.com/2012/09/25/cross-compiling-kernel-for-raspberry-pi-on-fedora-17-part-1/ and https://www.raspberrypi.org/documentation/linux/kernel/building.md

I grabbed the current raspi kernel config with:

modprobe configs
zcat /proc/config.gz > .config

Then, ran a make oldconfig to update it with the new options.

Prior to running make, update HCI_LE_CUTOCONN_TIMEOUT to 20 seconds in include/net/bluetooth/hci.h.

On a side note, I was previously able to use the Laird BT900 USB dongle in serial mode to access this device without a problem. You can connect serially and run gatttool to communicate with the m5600. But, I wanted it native to the raspi. The updated kernel solution will work much better for me.

I’d be interested to know what you’re doing with this device.

Not the answer you're looking for? Browse other questions tagged or ask your own question.