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.
Hasi aurretik biduzen gauzek:
- HM-10 Bluetooth modulue
- Arduino UNO
- Artazidxek
- 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:
Oin igiri arduinon konsolie eta imiñi baudiuek “9600” eta “No line ending” opziñuek:
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.
4.- Arduinon RX/TX HM-10-an RX/TX bihurtu:
Horretarako hurrengo eskemie erabili:
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:
- HMSoft.bin
- HMSoft.exe
- readme.txt
6.- Arduino Windowsera konekta:
Le’ngo eskemie montata arduino konekta USB bidez Windows makiñera eta juen Administrador de dispositivos-era
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.
eta jo Load Image.
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:
Ta arduinon konsolie igiri’ku:
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?
ibeaconak bakarrik ikusteko:
AT+DISI?
Bizkaitarrak ez garenontzako blog desegokia. Ondo legoke euskera batuan egitea.
Edo hobeto ingelesez edo gazteleraz zeuk eitzen zulez twitterren.