2020年9月15日火曜日

特定のビーコンを測定

概要

スマホから出ているビーコンを特定してスキャンしてみようと思いましたが、どれがスマホから出ているビーコンなのかわからず断念しました。
スキャンしたデータを見ると、Address Typeが全部randomだったので、MACの特定は無理なのかもしれません。

使用例



 # coding: utf-8

 import bluepy
 import datetime

 TARGET_MAC = "XX:XX:XX:XX:XX:XX"
 TARGET_UUID = "XXXXXXXXXXXXXXXXXXXXXXXXXXX"

 print("=======================================================================")
 print("TIME                         MAC address          RSSI    UUID")
 while True:
     scanner = bluepy.btle.Scanner(0)
     devices = scanner.scan(1.0)

     for device in devices:

         # TARGET_MAC をチェック
         if TARGET_MAC in device.addr:
             now = datetime.datetime.now()
             print(now.strftime("%Y/%m/%d %H:%M:%S.%f") + ",  " + str(device.addr) + ",    " + str(device.rssi) + ",   ---")

         # TARGET_UUID をチェック
         for(adtype, desc, value) in device.getScanData():
             if adtype == 255:

                 if TARGET_UUID in value:
                     now = datetime.datetime.now()
                     print(now.strftime("%Y/%m/%d %H:%M:%S.%f") + ",  " + str(device.addr) + ",    " + str(device.rssi) + ",   " + str(value))


0 件のコメント:

コメントを投稿