Я пытаюсь написать сценарий, который может обнаружить мое присутствие дома.До сих пор я написал скрипт, который выводит данные из hcitool lescan в файл csv в следующем формате:
TIMESTAMP MAC_ADDRESS_1 MAC_ADDRESS_2 AD_INFINITUM
2018-09-22.11:48:34 FF:FF:FF:FF:FF:FF FF:FF:FF:FF:FF:FF FF:FF:FF:FF:FF:FF
Я пытаюсь выяснить, как написать скрипт для преобразования данных вГрафический формат - это программа gnuplot, которая будет использоваться для этого?Я думаю, что это потребует Баш?скрипт, который импортирует файл csv, сохраняя все метки времени, затем добавляя новый столбец в массив для каждого уникального MAC-адреса, а затем заполняет записи 1 или 0 в зависимости от того, обнаружен ли Mac-адрес в строке.Существуют ли какие-либо встроенные команды, которые могут помочь / помочь с этим, или я должен был бы написать это сам?
Код, который я использовал для генерации .csv, находится здесь.Извините, это, вероятно, не самая красивая, поскольку я только начал с сценариями bash.
cd /home/pi/projects/bluetooth_control;
while true
do
echo 'reset hci0';
sudo hciconfig hci0 down;
sudo hciconfig hci0 up;
echo 'timestamp';
echo `date +%Y-%m-%d.%H:%M:%S` &> test1.csv;
echo 'running scan';
(sudo timeout 20 stdbuf -oL hcitool lescan | grep -Eo '(([A-Z]|[0-9]){2}:){5}([A-Z]|[0-9]){2}') &> test.csv;
echo 'removing duplicates to test.csv';
(sort test.csv | uniq) >> test1.csv;
(paste -s test1.csv) >> data.csv;
echo 'sleep for 60s';
sleep 60;
done