ספריית Limelight ל-Python
limelightlib-python היא הדרך הקלה ביותר לממשק עם מכשירי Limelight. היא עובדת בכל מערכות ההפעלה (MacOS, Windows, Linux) וארכיטקטורות (x86, ARM).
- https://github.com/LimelightVision/limelightlib-python
- https://pypi.org/project/limelightlib-python/
התקנה
pip install limelightlib-python
שימוש
import limelight
import limelightresults
import json
import time
discovered_limelights = limelight.discover_limelights(debug=True)
print("limelights שהתגלו:", discovered_limelights)
if discovered_limelights:
limelight_address = discovered_limelights[0]
ll = limelight.Limelight(limelight_address)
results = ll.get_results()
status = ll.get_status()
print("-----")
print("תוצאות כיוון:", results)
print("-----")
print("סטטוס:", status)
print("-----")
print("טמפרטורה:", ll.get_temp())
print("-----")
print("שם:", ll.get_name())
print("-----")
print("fps:", ll.get_fps())
print("-----")
print("דוח חומרה:", ll.hw_report())
ll.enable_websocket()
# הדפסת הגדרות הצינור הנוכחיות
print(ll.get_pipeline_atindex(0))
# עדכון הצינור הנוכחי ושמירה לדיסק
pipeline_update = {
'area_max': 98.7,
'area_min': 1.98778
}
ll.update_pipeline(json.dumps(pipeline_update),flush=1)
print(ll.get_pipeline_atindex(0))
# מעבר לצינור 1
ll.pipeline_switch(1)
# עדכון נתוני משתמש מותאמים אישית
ll.update_python_inputs([4.2,0.1,9.87])
try:
while True:
result = ll.get_latest_results()
parsed_result = limelightresults.parse_results(result)
if parsed_result is not None:
print("מטרות תקפות: ", parsed_result.validity, ", מזהה צינור: ", parsed_result.pipeline_id,", השהיית כיוון: ", parsed_result.targeting_latency)
#for tag in parsed_result.fiducialResults:
# print(tag.robot_pose_target_space, tag.fiducial_id)
time.sleep(1) # הגדר ל-0 עבור fps מקסימלי
except KeyboardInterrupt:
print("התוכנית הופסקה על ידי המשתמש, מכבה.")
finally:
ll.disable_websocket()