Я использую ноутбук Alienware 17 R5 со встроенным трекером глаз Tobii. Я пытаюсь получить доступ к любым данным из встроенной системы слежения за глазами. Код, который я использую, по сути является тем же демонстрационным кодом из исследовательской документации Tobii . Когда я запускаю код, я не могу вывести данные взгляда на консоль. Интерпретатор даже не выполняет функцию обратного вызова, как указано в командах subscribe_to
и unsubscribe_from
. Любое понимание того, почему я не могу получить доступ к данным взгляда, будет оценено. Вот мой код:
import tobii_research as tr
import time
global_gaze_data = None
found_eyetrackers = tr.find_all_eyetrackers()
print(found_eyetrackers[0])
my_eyetracker = found_eyetrackers[0]
my_eyetracker = tr.EyeTracker(my_eyetracker.address)
# print(my_eyetracker.values)
print("Address: " + my_eyetracker.address)
print("Model: " + my_eyetracker.model)
print("Name (It's OK if this is empty): " + my_eyetracker.device_name)
print("Serial number: " + my_eyetracker.serial_number)
print("Eyetracking modes: ",my_eyetracker.get_all_eye_tracking_modes())
print("Output frequencies: ",my_eyetracker.get_all_gaze_output_frequencies())
print("Maybe?",tr.EYETRACKER_GAZE_DATA)
print("Type", type(tr.EYETRACKER_GAZE_DATA))
def gaze_data_callback(gaze_data):
print("Do you get here?")
global global_gaze_data
global_gaze_data = gaze_data
# Print gaze points of left and right eye
print("Gaze data?:",gaze_data)
print("Gaze data type:",type(gaze_data))
print("Left eye: ({gaze_left_eye}) \t Right eye: ({gaze_right_eye})".format(
gaze_left_eye=gaze_data['left_gaze_point_on_display_area'],
gaze_right_eye=gaze_data['right_gaze_point_on_display_area']))
my_eyetracker.subscribe_to(tr.EYETRACKER_GAZE_DATA, gaze_data_callback, as_dictionary=True)
time.sleep(5)
my_eyetracker.unsubscribe_from(tr.EYETRACKER_GAZE_DATA, gaze_data_callback)
print(global_gaze_data)
А вот и вывод. Это не похоже на выполнение функции gaze_data_callback
, а переменной global_gaze_data
не были назначены какие-либо данные взгляда:
> python test.py
<tobiiresearch.implementation.EyeTracker.EyeTracker object at 0xHEXHERE>
Address: MY-ADDRESS
Model: IS4_Base_DAW_MLK
Name (It's OK if this is empty):
Serial number: MY_SERIAL_NUMBER
Eyetracking modes: ('Default',)
Output frequencies: (60.0,)
Maybe? eyetracker_gaze_data
Type <class 'str'>
None