Bluetooth modul AT-09 (HM-10)

Ahoj, mám pár problémů s BT modulem.

  1. Nedá se spárovat s mobilem či tabletem a ani s PC.
  2. neumím změnit PIN (Příkaz: AT+PIN4321, odpověď je ERROR), ale umím ho zjistit pomocí příkazu: AT+PIN
  3. AT příkaz AT+STATE mi také stále vrací ERROR.

Je docela problém zjistit o tomto i podobných modulech nějaké podrobnější informace.
Třeba mi dalo hodně práce zjištění, že příkaz se musí ukončit sekvencí “\r\n”.
Níže přikládám odpovědi na některé příkazy.
Nemáte někdo zkušenosti s tímto modulem a nemůžete mi poradit co je špatně?

=== Start NUCLEO_STM32L432KC ===
AT+DEFAULT     OK
--------------------------------------------
AT+VERSION     +VERSION=v6.3
--------------------------------------------
AT+TYPE        +TYPE=0
AT+ROLE        +ROLE=0
AT+STATE       ERROR
AT+BAUD        +BAUD=4
AT+PIN4321     ERROR
AT+NAMEMojeBT  +NAME=MojeBT
OK
--------------------------------------------
AT+PIN         +PIN=123456
AT+NAME        +NAME=MojeBT
--------------------------------------------

Cau,hmm noo tak to sme dva :grinning: , ja jsem objednaval HM-10 prisel ale pak sem zjistil ze to je nakej fejk protoze to neumi nektery at prikazy co jsou z origo DS,me fungoval, dlouho sem ho nepouzival tet sem ho potreboval a stejny priznaky, pin nesel zmenit pak sem nekde vycet ze je 6mistnej,ale nesparuju to s nicim,pamatuju si ze kdyz sem ho prep do at modu musel sem ho vypnout nebo restartovat aby fungoval jako nodmalni seriak…
`AT
OK
AT+help


  • Command Description *
  • ---------------------------------------------------------------- *
  • AT Check if the command terminal work normally *
  • AT+RESET Software reboot *
  • AT+VERSION Get firmware, bluetooth, HCI and LMP version *
  • AT+HELP List all the commands *
  • AT+NAME Get/Set local device name *
  • AT+PIN Get/Set pin code for pairing *
  • AT+PASS Get/Set pin code for pairing *
  • AT+BAUD Get/Set baud rate *
  • AT+LADDR Get local bluetooth address *
  • AT+ADDR Get local bluetooth address *
  • AT+DEFAULT Restore factory default *
  • AT+RENEW Restore factory default *
  • AT+STATE Get current state *
  • AT+PWRM Get/Set power on mode(low power) *
  • AT+POWE Get/Set RF transmit power *
  • AT+SLEEP Sleep mode *
  • AT+ROLE Get/Set current role. *
  • AT+PARI Get/Set UART parity bit. *
  • AT+STOP Get/Set UART stop bit. *
  • AT+START System start working. *
  • AT+IMME System wait for command when power on. *
  • AT+IBEA Switch iBeacon mode. *
  • AT+IBE0 Set iBeacon UUID 0. *
  • AT+IBE1 Set iBeacon UUID 1. *
  • AT+IBE2 Set iBeacon UUID 2. *
  • AT+IBE3 Set iBeacon UUID 3. *
  • AT+MARJ Set iBeacon MARJ . *
  • AT+MINO Set iBeacon MINO . *
  • AT+MEA Set iBeacon MEA . *
  • AT+NOTI Notify connection event . *
  • AT+UUID Get/Set system SERVER_UUID . *
  • AT+CHAR Get/Set system CHAR_UUID . *
  • -----------------------------------------------------------------*
  • Note: (M) = The command support slave mode only. *
  • For more information, please visit http://www.bolutek.com *
  • Copyright@2013 www.bolutek.com. All rights reserved. *

AT+VERSION
+VERSION=Firmware V3.0.6,Bluetooth V4.0 LE
AT+PIN
+PIN=000000
AT+STATE
+STATE=2
OK
AT+PIN123456
+PIN=123456
OK
AT+PIN
+PIN=123456
AT+PIN1234
ERROR=102
AT+PIN4321
ERROR=102
AT+PIN432156
+PIN=432156
OK
AT+PIN
+PIN=432156

`

Díky za reakci,
takže, když vím, že pin musí být 6 místný tak nastavení pinu funguje.
Bohužel nevím jak vyřešit problém s párováním, a AT+STATE ještě nefunguje.

Instrukční sadu mám trochu jinou:

AT+HELP
********************************************************************
* Command             Description                                  *
* -----------------------------------------------------------------*
* AT                  Check if the command terminal work normally  *
* AT+RESET            Software reboot                              *
* AT+VERSION          Get firmware, bluetooth, HCI and LMP version *
* AT+HELP             List all the commands                        *
* AT+NAME             Get/Set local device name                    *
* AT+PIN              Get/Set pin code for pairing                 *
* AT+BAUD             Get/Set baud rate                            *
* AT+LADDR            Get local bluetooth address                  *
* AT+ADDR             Get local bluetooth address                  *
* AT+DEFAULT          Restore factory default                      *
* AT+RENEW            Restore factory default                      *
* AT+STATE            Get current state                            *
* AT+PWRM             Get/Set power on mode(low power)             *
* AT+POWE             Get/Set RF transmit power                    *
* AT+SLEEP            Sleep mode                                   *
* AT+ROLE             Get/Set current role.                        *
* AT+PARI             Get/Set UART parity bit.                     *
* AT+STOP             Get/Set UART stop bit.                       *
* AT+INQ              Search slave model                           *
* AT+SHOW             Show the searched slave model.               *
* AT+CONN             Connect the index slave model.               *
* AT+IMME             System wait for command when power on.       *
* AT+START            System start working.                        *
* AT+UUID             Get/Set system SERVER_UUID .                 *
* AT+CHAR             Get/Set system CHAR_UUID .                   *
* -----------------------------------------------------------------*
* Note: (M) = The command support master mode only.                *

Edit: omylem tu původně byla tabulka z jiného modulu jak zkouším.

Takže jsem zjistil docela drsné věci:

  1. Modul který mám, je nějaký čínský klon, proto nefunguje. Viz video: HM10 BLE BLUETOOTH Module Part 1 -AT Commands on Original HM10 - YouTube

  2. existuje cesta jak to opravit: How to Flash the Firmware on Clone HM-10 BLE Module using Arduino Uno
    Netuším jestli se odvážím toto provést.
    Takže jsem vyhodil 2x100Kč za nefunkční moduly.
    Ach jo.

Z vlastni zkušenosti vím, že z Číny fungují HC05 a HC06, chtěl jsem ušetřit a koupil JDY-31, sparování na 50 pokusů a stejně sparování nevydrželo moc dlouho. HC-12 šlo spárovat pouze s HC-12 a už nějak nešlo s spárováni zrušit.

jo HC06 fungujou dobre mam 2 a v pohode ale vadi mi ta spotreba proto sem chtel neaky BLE, na ten JDY-31 sem taky koukal ale pak sem se docet problemy s parovanim takze sem do nej nesel, zatim netusim co jeste vyskouset, ostatni moduly uz jsou drahy ,tady u tech za 50 to neni takova tragedie,chci vyskouset s ESP32 ble ale musim nejdriv dodelat ostatni projekty co se mi tu kupiiii… :roll_eyes:

S ESP32 jsem zkoušel BT, ale sežere to 77% paměťového prostoru. Nepřišel sem na to proč, ale funguje to. Ale neměřil jsem spotřebu.

Zkoušel jsem BT s modulem s ESP32 DEVKIT V1, a tam funguje. (Ale zkouška nebyla příliš důkladná.) Zkoušel jsem je přeposílat komunikaci po sériové lince a jak bylo napsáno výše, potřebuje to neuvěřitelné množství paměti.
Jinak o nakoupených modulech AT-09 momentálně komunikuji s dodavatelem. A pro jistotu jsem si ještě objednal moduly AT-09 od jiného dodavatele, kde byly moduly sice dražší, ale na fotce byly originály. Tak se nechám překvapit, jestli se mi nakonec do rukou dostanou funkční moduly.
Jinak budu muset použít modul ESP32 DEVKIT V1, a k tomu budu muset ještě vyřešit pár problémů s místem a napájením…

AT-09 neznám, ale vizážně mě připomínají JDY-31.

AT-09 je zakuklená HM-10.
Mě se podařilo konečně sehnat originál a po prvních testech se zdá funkční.

Pro porovnání přikládám obrázek:
Vlevo je originální HM-10, Vpravo AT-09.

Sice byl dražší, ale zato je funkční.
Takže téma lze tímto ukončit.

cena ? popripade kde si koupil ? hod sem prosim seznam podporovanych prikazu …

Koupil jsem to tady:

Po zkušenostech stále nefunguje párování, ale AT příkazy co jsem zkoušel fungují kromě příkazu AT+TYPE, ale to vypadá na starší firmware, jakmile se k tomu dostanu, zkusím aktualizovat firmware.
Příkazy:

********************************************************************
* Command             Description			           *
* ---------------------------------------------------------------- *
* AT                  Check if the command terminal work normally  *
* AT+RESET            Software reboot				   *
* AT+VERSION          Get firmware, bluetooth, HCI and LMP version *
* AT+HELP             List all the commands		           *
* AT+NAME             Get/Set local device name                    *
* AT+PIN              Get/Set pin code for pairing                 *
* AT+BAUD             Get/Set baud rate		                   *
* AT+LADDR            Get local bluetooth address		   *
* AT+ADDR             Get local bluetooth address		   *
* AT+DEFAULT          Restore factory default			   *
* AT+RENEW            Restore factory default			   *
* AT+STATE            Get current state				   *
* AT+PWRM             Get/Set power on mode(low power) 		   *
* AT+POWE             Get/Set RF transmit power 		   *
* AT+SLEEP            Sleep mode 		                   *
* AT+ROLE             Get/Set current role.	                   *
* AT+PARI             Get/Set UART parity bit.                     *
* AT+STOP             Get/Set UART stop bit.                       *
* AT+INQ              Search slave model                           *
* AT+SHOW             Show the searched slave model.               *
* AT+CONN             Connect the index slave model.               *
* AT+IMME             System wait for command when power on.	   *
* AT+START            System start working.			   *
* AT+UUID             Get/Set system SERVER_UUID .            	   *
* AT+CHAR             Get/Set system CHAR_UUID .            	   *
* -----------------------------------------------------------------*
* Note: (M) = The command support master mode only. 	           *

(Omlouvám se za neurovnané hvězdičky, je to dáno rozdílnou délkou tabulátorů :slight_smile: )

V datasheetu je více informací a spolehlivější seznem AT příkazů, z toho seznamu některé nefungují a některé chybí.

DataSheet: