Метка времени для сканирования Wi-Fi

#java #timestamp #wifi #rssi

Вопрос:

Я хотел бы реализовать приложения, с помощью которых я мог бы сканировать Mac-адрес Wi-Fi и получать его RSSI и метку времени. Например, первая метка времени даст мне все значения RSSI каждого Mac-адреса. Эти необнаруженные сигналы RSSI будут содержать пустые ячейки. Аналогично, следующая метка времени выдаст мне все сигналы RSSI для обнаруженного Mac-адреса. Ожидаемый CSV-файл должен быть ниже.

введите описание изображения здесь

Однако, когда я сохранил файл, он дал мне такой результат. Кроме того, у меня возникли некоторые трудности с переносом значения Mac-адреса в CSV-файле из строки в столбец.

введите описание изображения здесь

Вот код. `private void scanWifiResult() { Список wifiscan = WifiManager.getScanResults();

 for (ScanResult scanning : wifiscan) {  String macAddress = String.valueOf(scanning.BSSID);  Float RSS = Float.valueOf(scanning.level);  ArrayListlt;Floatgt; arrayOfRss = WifiNetworkWithRssi.get(macAddress);  if (arrayOfRss == null) {  arrayOfRss = new ArrayListlt;gt;();  WifiNetworkWithRssi.put(macAddress, arrayOfRss);  scanDataList.add(new ScanData(macAddress, System.currentTimeMillis(), arrayOfRss));  scanDataList.add(new ScanData(macAddress, System.currentTimeMillis(), RSS));   }  if (tagMotion == false amp;amp; arrayOfRss.size() gt; 1)  RSS = (RSS   arrayOfRss.get(arrayOfRss.size() - 1)) / 2;  arrayOfRss.add(((int) ((RSS   (RSS gt;= 0 ? 1 : -1) * 0.005f) * 100)) / 100f);    long actualTime = System.currentTimeMillis() - TimeUnit.MILLISECONDS.convert(SystemClock.elapsedRealtimeNanos() - scanning.timestamp, TimeUnit.NANOSECONDS);    

введите код здесь

 String csvString = "";  for(ScanData scanData : scanDataList) {  csvString = scanData.getBssid() "," scanData.getTimeStamp() ","  TextUtils.join(",",scanData.getRssi())   "n";  csvString = scanData.getBssid() "," scanData.getTimeStamp() ","  scanData.getLevel()   "n";  file_writer.append(csvString);  }