struct device {
int rssi;
String Mac_adress;
int bettary_power;
};
struct device devices[10];
int randomVal;
int size= 0;
const int mass_length = 10;
void bubble_sort(device dev[], int size_n) {
int tmp_rsi, tmp_bettary;
String tmp_Mac_adress;
for (int i = 0; i < size_n; i++) { // цикл n раз - по 1 на элемент
for (int j = 0; j < size_n - i - 1; j++) { // последние i элементы уже отсортированы
if (dev[j].rssi > dev[j + 1].rssi) { // поменять местами, если порядок нарушен
// change rsi
tmp_rsi = dev[j].rssi;
dev[j].rssi = dev[j + 1].rssi;
dev[j + 1].rssi = tmp_rsi;
//change mac
tmp_Mac_adress = dev[j].Mac_adress;
dev[j].Mac_adress = dev[j + 1].Mac_adress;
dev[j + 1].Mac_adress = tmp_Mac_adress;
// change bettary
tmp_bettary = dev[j].bettary_power;
dev[j].bettary_power = dev[j + 1].bettary_power;
dev[j + 1].bettary_power = tmp_bettary;
}
}
}
for(int i=0; i<size_n; i++)
{
Serial.println("Элемент номер: " + String(i+1) + " " + String(dev[i].rssi) + " " + String(dev[i].Mac_adress) + " " + String(dev[i].bettary_power));
delay(200);
}
}
// String stroka = "$GPGGA,130307.20,5548.65588,N,03749.85809,E,1,04,7.03,191.5,M,13.1,M,,*58";
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
// int index_finish_lat = stroka.indexOf(",", 17);
// int index_start_lon = index_finish_lat + 3;
// int index_finish_lon = stroka.indexOf(",", index_start_lon);
// // Serial.println(index_finish_lon);
// int start_quality = index_finish_lon + 3; // quality indicator
// int finish_quality = stroka.indexOf(",", start_quality);
// String quality = stroka.substring(start_quality, finish_quality);
// Serial.println(quality);
// int start_setelites = finish_quality + 1;
// int finish_setelites = stroka.indexOf(",", start_setelites);
// String setelites = stroka.substring(start_setelites, finish_setelites);
// Serial.println(setelites);
// int start_h_accuracy = finish_setelites + 1;
// int finish_h_accuracy = stroka.indexOf(",", start_h_accuracy);
// String h_accuracy = stroka.substring(start_h_accuracy, finish_h_accuracy);
// Serial.println(h_accuracy);
// float lat = stroka.substring(17, index_finish_lat).toFloat();
// float lon = stroka.substring(index_start_lon, index_finish_lon).toFloat();
}
unsigned long predtime;
String mass_test[] = {"cat", "dog", "jar", "tiger", "giraffe", "penguine", "rhino", "kitten", "bear", "henry"};
void loop() {
unsigned long time = millis();
if(time - predtime >= 10000)
{
Serial.println("Данные отправлены... ");
// Serial.println(time - predtime);
predtime = time;
}
else
{
//
}
// for(int i=0; i< 10; i++)
// {
// randomVal= random(-100, 0);
// if (size != mass_length)
// {
// devices[size].rssi = randomVal;
// // devices[size].Mac_adress = String(size, 3);
// devices[size].Mac_adress = mass_test[i];
// devices[size].bettary_power = randomVal + size;
// bubble_sort(devices, mass_length);
// size++;
// }
// else
// {
// size = 0;
// Serial.println("========================================================================================");
// Serial.println("Последние три элемента, максимальные: " +
// String(devices[mass_length-1].rssi) + " " + String(devices[mass_length-1].Mac_adress) + " "
// + String(devices[mass_length-1].bettary_power) +"\n" +
// String(devices[mass_length-2].rssi) + " " + String(devices[mass_length-2].Mac_adress) + " "
// + String(devices[mass_length-2].bettary_power) +"\n" +
// String(devices[mass_length-3].rssi) + " " + String(devices[mass_length-3].Mac_adress) + " "
// + String(devices[mass_length-3].bettary_power) + "\n");
// Serial.println("========================================================================================");
// delay(2000);
// }
// }
// return;
}