Arduino: HM-10 Bluetooth moduluri firmware barridxe imiñi

Zer da HM-10? Arduinogaz erabiltzeko Bluetooth modulo bat. Zetako barriztuku moduluen firmwarie? Ba bertsiño barridxekaz ibeacon-ak al’ dizelako komandotxu bategaz errez topa. Ta eitzen gabiltzen inbentuentzako ba elegante dator :D

Garrantzitsue, mota biko HM-10 modulue dau: CC2540 eta CC2541 chipsetdunek, ez pakizuien zein dakozuien, galdetu erosi’tzazuienari.

http://i.imgur.com/agMylUM.jpg

Hasi aurretik biduzen gauzek:

  1. HM-10 Bluetooth modulue
  2. Arduino UNO
  3. Artazidxek
  4. Windows

Firmwarie barridxe sartzieko programie windows-entzako bakarrik dau :(

1.- Arduinon hurrengo Sketch-a karga:

/*
WRITE THIS COMMAND TO UPGRADE FIRMWARE
AT+SBLUP
*/

#include  // 
SoftwareSerial BT(7, 8); // 7 Bluetooth TX, 8 Bluetooth RX
unsigned char buffer[64];           // buffer array for data recieve over serial port
int count = 0;                      // counter for buffer array 
void setup()
{
  BT.begin(9600);               // the GPRS baud rate   
  Serial.begin(9600);             // the Serial port of Arduino baud rate.
}
void loop()
{
 if (BT.available())              // if date is comming from softwareserial port ==> data is comming from gprs shield
 {
   while(BT.available())          // reading data into char array 
   {
     buffer[count++] = BT.read(); // writing data into array
     if(count == 64)
       break;
   }
   Serial.write(buffer,count);      // if no data transmission ends, write buffer to hardware serial port
   clearBufferArray();              // call clearBufferArray function to clear the storaged data from the array
   count = 0;                       // set counter of while loop to zero
 }
 if (Serial.available())            // if data is available on hardwareserial port ==> data is comming from PC or notebook
   BT.write(Serial.read());       // write it to the GPRS shield
}

void clearBufferArray()            // function to clear buffer array
{
 for (int i=0; i < count;i++) // 
   buffer[i]=NULL;                 // clear all index of array with command NULL
}

Hamen github-en linke: https://github.com/ZiTAL/arduino/blob/master/HM10/FIRMWARE_UPDATE.ino

2.- Modulue firmwarie barriztuteko moduen imiñi:

Horretarako hurrengo irudikulez egin montajie:

https://raw.githubusercontent.com/ZiTAL/arduino/master/HM10/HM10.png

Oin igiri arduinon konsolie eta imiñi baudiuek “9600” eta “No line ending” opziñuek:

http://i.imgur.com/7kQ00Ar.png

Idatzi AT eta emon Send -> OK bategaz erantzun bidozku.
Oin idatzi AT+SBLUP eta emon Send -> OK+SBLUP bategaz erantzun bidozku.

Bueno ba modulue preparata dau firmware barridxe sartzieko, moduluen argidxe len bizidxe zana oin idxe amatata ongo da.

3.- Arduino UNO-ri mikrokontroladora kendu:

hamen dakozuie zelan kendu, nik artazi batzukaz eindxot, kontuzegaz errez kentzien da.

http://i.imgur.com/rRXJA6q.jpg

4.- Arduinon RX/TX HM-10-an RX/TX bihurtu:

Horretarako hurrengo eskemie erabili:

https://raw.githubusercontent.com/ZiTAL/arduino/master/HM10/FIRMWARE_UPDATE.png

5.- Jakindxe ze chipset mota dakun, firmwarie baja:

Hamen dakozuie linke: http://www.jnhuamao.cn/download_rom_en.asp?id=

Nire kasuen HM-10 CC2541 v540, gaur egun 540 bertsiñue dalako azkana, gero batek daki…

Baja eta deskonprimidu, hiru artxibo ongo diez:

  1. HMSoft.bin
  2. HMSoft.exe
  3. readme.txt

6.- Arduino Windowsera konekta:

Le’ngo eskemie montata arduino konekta USB bidez Windows makiñera eta juen Administrador de dispositivos-era

http://i.imgur.com/G4Htf8q.png

Hamen ikusi bidu Puertos (COM y LPT) -> Dispositivos serie USB (COM*)

Non * da zenbakidxe akorda bigarana gero firmwarie sartzieko.

7.- HM-10 modulueri firmware barridxe sartun:

Igiri HMSoft.exe programie eta aukeratu HMSoft.bin fitxategidxe eta COM Port-en imiñi COM* dakarren zenbakidxe, nire kasuen 3.

http://i.imgur.com/wjgfsF1.png

eta jo Load Image.

http://i.imgur.com/7vA1nR5.png

Amaitzu eta gero Download completed successfully agertuko dasku.

8.- Deskonekta arduino eta barriro imiñi microcontroladora:

Oin deskonekta arduino ordenadorerik eta imiñi barriro kontroladora, ezpakizuien zelan sartun, microcontroladoran dakarzen letrak Arduino UNO letrak dakarzen okerretara diez.

9.- Ikusi bertsiño barridxe kargata badauen:

Horretarako barriro kargaku lengo eskemie:

https://raw.githubusercontent.com/ZiTAL/arduino/master/HM10/HM10.png

Ta arduinon konsolie igiri’ku:

http://i.imgur.com/HH9nK20.png

Lelau AT, jakitzeko ondo badauen modulue, OK bategaz erantzun bidozku, oin AT+VERR? idazku ta ikusku zelan emoten doskun bueltan HMSoft v540

Bonus: zelan ikusi beste bluetooth aparato batzuk?

AT+ROLE1
AT+IMME1
AT+RESET
AT+DISC? 

http://i.imgur.com/SDuCLto.png

ibeaconak bakarrik ikusteko:

AT+DISI?

Eskerrak: http://wiki.makespacemadrid.org/index.php?title=M%C3%B3dulo_HM-10#Configuraci.C3.B3n_del_m.C3.B3dulo_HM-10_como_un_dispostivo_central

2 thoughts on “Arduino: HM-10 Bluetooth moduluri firmware barridxe imiñi

  1. Bizkaitarrak ez garenontzako blog desegokia. Ondo legoke euskera batuan egitea.

Leave a Reply

Your email address will not be published. Required fields are marked *