Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

HM10 ble change characteristic value AT command Arduino

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.

like image 839
Aakash Thakkar Avatar asked Dec 24 '14 07:12

Aakash Thakkar


3 Answers

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.

like image 166
Paulw11 Avatar answered Oct 22 '22 09:10

Paulw11


This thread is a bit dated. But the HM-1X firmware now supports changing the characteristics of a module.

"AT+CHAR?" Will get the current characteristic setting for RX/TX "AT+CHAR0xFFFF" will set the TX/RX characteristics to 0xFFFF

Send: AT+CHAR0xAAA0 Recv: OK+Set:0xAAA0

These features were added v518.

If you need to update your firmware,

Link to Huamao's download site.

like image 20
C. Thomas Brittain Avatar answered Oct 22 '22 09:10

C. Thomas Brittain


I don't have enough reputation to comment on Ladvien's answer, but...

Just a word of warning regarding updating the firmware with a new version from Huamao's download site. http://www.jnhuamao.cn/download_rom_en.asp?id=83

In my experience there were issues with V539, which prevented the firmware operating as an iBeacon - and there may be other problems. I was fortunately enough to find someone emailed me a copy of the V538 firmware and was able to downgrade again.

Huamao doesn't have old versions of the firmware available for download and AFIK there is no way to backup your current firmware version.

But it was possible to downgrade from V539 back to V538 if you have the bin file for V538 etc. i.e At least up as far as V539 the firmware does allow downgrades and was not checking version numbers to only allow upgrades.

like image 2
RogerClark Avatar answered Oct 22 '22 08:10

RogerClark