Using HM-10 uuid address received rssi values

Dear all Arduino masters, i am newbie to the BLE and bad english user.. please help Non-English speakers

i set my hm-10 slave uuid = 11111111111111111111111111111111
and, major number = 0x1234, minor number = 0xFA01
at command good respone

hm-10 master mode get slave uuid, address, rssi value
used AT+DISC? and AT+DISI?

i want make rssi value use uuid.
because That's almost the same level of open source code I'm trying to make code, but some of the code was deleted.

I'd like to know what you mean by this..
Is_ACC_E(), How_start_value(int)

here is that code

#include <SoftwareSerial.h>
#define BT_RX 2
#define BT_TX 3
char str[1000];
char check_end[8]={'O','K','+','D','I','S','C','E'};
char check_start[7]={'O','K','+','D','I','S','C'};
char uuid[78];
char c;
int tmp;
int value;
int cnt;
int p;
int end_p;
int start_p;
bool is_accurate_e;
bool is_accurate_s;
bool current_stat;
int rssi1;
int rssi2;
SoftwareSerial HM10(BT_RX, BT_TX);

void setup(){
Serial.begin(9600);
HM10.begin(9600);
current_stat=false;
cnt=0;
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
}

bool Is_ACC_E();
int How_start_value(int tmp1);

void loop() {
if(current_stat==false){
HM10.print("AT+DISI?");
Serial.println("AT+DISI?");
current_stat=true;
}
if(HM10.available()){
c=HM10.read();
str[cnt]=c;
cnt++;
}
if(c=='E'){
if(Is_ACC_E()){
tmp=0;
while(true){
value = How_start_value(tmp);
if(value==-1)break;
else{
p=value;
for(int i=0;i<=77;i++){
uuid[i]=str[p];
p++;
}
if(uuid[74]=='-'){
if(uuid[17]=='1'&&uuid[18]=='1'&&uuid[19]=='1'&&uuid[20]=='1'){
rssi1=((uuid[76]-48)10)+(uuid[77]-48);
rssi1=rssi1
(-1);
}
if(uuid[17]=='2'&&uuid[18]=='2'&&uuid[19]=='2'&&uuid[20]=='2'){
rssi2=((uuid[76]-48)10)+(uuid[77]-48);
rssi2=rssi2
(-1);
}
if(rssi1>=-45){
digitalWrite(12, HIGH);
}else{
digitalWrite(12, LOW);
}
if(rssi2>=-45){
digitalWrite(13, HIGH);
}else{
digitalWrite(13, LOW);
}
tmp=value+77;
}else{
tmp++;
}
}
}
cnt=0;
current_stat=false;
}
}
}

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.