I need help from someone with a lot of Bluetoth Low Energy/BLE knowledge




I’m trying to reverse engineer a device, which I can connect to via my phone. It has a lot of characteristics (including UART), so I can talk to the device. However, after spending a total of probably 15-20 hours on achieving absolutely nothing, I am about to give up.

The biggest problem I have, is I have no idea how sending and receiving (TX, RX) works. nRF Connect for Mobile doesn’t help me a bit, because their input methods are retarded in my opinion.

I have a Golang Github repository example I can use for reference, but either the code is outdated (5 months) or I’m doing something wrong. I’m doing everything that person is doing (send request or command), but nothing gets returned, because I don’t know how I’m supposed to parse the values to the BLE device.

Github repository in question is: https://github.com/aprosvetova/ninebot-mqtt

Example:

https://github.com/aprosvetova/ninebot-mqtt/blob/master/scooter/protocol/protocol.go

func GetBattery()

That function should return a byte array with this:

[]byte{0x5A, 0xA5, 0x00, 0x3E, 0x20, 0x01, 0x22, 0x02}

but then it gets appended.. or the payload gets appended.. and it appends a checksum.. that then gets returned.. I really don’t know.

I already have the HCI report from my phone imported into Wireshark, if that’s any help.

If anyone have experience with nRF Connect and BLE, I would love to chat with you. I can’t figure out how to send the requests properly.

submitted by /u/mortenmoulder
[link] [comments]

Original article: I need help from someone with a lot of Bluetoth Low Energy/BLE knowledge
Author: /u/mortenmoulder