HM10 ble change characteristic value AT command Arduino

Aakash Thakkar picture Aakash Thakkar · Dec 24, 2014 · Viewed 18.4k times · Source

Can anyone help me with the AT command to write characteristic value, Or how to send data from arduino to another ble device using Hm10 module.

The HM10 after sending the AT+START, does advertise packets, and can detect the service and characteristic, But the characteristic value is the default 0x00, How can I change that?

Have checked the data sheet multiple times but can not find an AT command that is capable of doing the same.

UPDATE: Similar problem with setting the HM10 in Central Mode:

Central Mode Setup!

1) AT+ROLE1 - Set up to Central Mode

2) AT+IMME1 - Start from RESET

3) AT+SHOW1 - Show discovered devices

4) AT+DISC? - Discover Devices Get Device MAC ID,

5) AT+CON[MAC ID]

RESULT: Always gives OK+CONNA and after 10seconds OK+CONNF

I am confused, Use of "AT+START" before "AT+DISC?" causes AT+START to not work and viceversa. Using AT+START results into a loop of OK+CONN followed by OK+LOST continuously and no more AT commands are accepted. I believe it does result in a

Can you advice on the right order?

Using LightBlue iOS app as the peripheral. How am I to select a service and subscribe to a characteristic to receive data from the application?

Thank You.

Answer

Paulw11 picture Paulw11 · Dec 24, 2014

There is no AT command to set a characteristic value.

The HM10 is a serial-port emulation device - whatever serial data you send to the HM10 module (aside from the AT commands) is made available on it's BLE characteristic. Unfortunately the data sheet doesn't document the service and characteristics, but this code suggests that the serial RX/TX characteristic is 0000ffe1-0000-1000-8000-00805f9b34fb

So, data written to the serial port should appear as the value of that characteristic. Data written to that characteristic should be delivered out of the TX serial port pin on the HM10 module.