robopark 2.8.10 → 2.8.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -142,6 +142,7 @@ class PreviewAgent:
|
|
|
142
142
|
self.robot_id = cfg.get("robot_id", os.getenv("ROBOT_ID", _hostname()))
|
|
143
143
|
self.device_token: Optional[str] = cfg.get("device_token") or os.getenv("DEVICE_TOKEN") or _load_token()
|
|
144
144
|
self.device_id: Optional[str] = cfg.get("device_id")
|
|
145
|
+
self.enrollment_token: Optional[str] = cfg.get("enrollment_token")
|
|
145
146
|
self.video_device = cfg.get("video_device", os.getenv("VIDEO_DEVICE", "auto"))
|
|
146
147
|
self.audio_device = cfg.get("audio_device", os.getenv("AUDIO_DEVICE", "default"))
|
|
147
148
|
self.width = int(cfg.get("video_width", os.getenv("VIDEO_WIDTH", DEFAULT_VIDEO_WIDTH)))
|
|
@@ -157,7 +158,7 @@ class PreviewAgent:
|
|
|
157
158
|
self._publisher: Optional["LiveKitPublisher"] = None
|
|
158
159
|
|
|
159
160
|
async def run(self) -> None:
|
|
160
|
-
enrollment_token = os.getenv("ENROLLMENT_TOKEN") or
|
|
161
|
+
enrollment_token = os.getenv("ENROLLMENT_TOKEN") or self.enrollment_token
|
|
161
162
|
if not self.device_token and enrollment_token:
|
|
162
163
|
self.device_token = await _enroll(self.scheduler_url, enrollment_token, self.robot_id)
|
|
163
164
|
|
|
@@ -230,7 +231,7 @@ class PreviewAgent:
|
|
|
230
231
|
if not self._session or not self.device_token:
|
|
231
232
|
return PreviewState()
|
|
232
233
|
r = await self._session.get(
|
|
233
|
-
f"{self.scheduler_url.rstrip('/')}/api/robots/{self.robot_id}/preview/agent",
|
|
234
|
+
f"{self.scheduler_url.rstrip('/')}/api/robots/{self.device_id or self.robot_id}/preview/agent",
|
|
234
235
|
headers={"Authorization": f"Bearer {self.device_token}"},
|
|
235
236
|
timeout=10.0,
|
|
236
237
|
)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Python deps for the ROBOT/PI side only (preview_agent.py) — a subset of
|
|
2
|
+
# requirements.txt, which also covers the scheduler server (fastapi/uvicorn/
|
|
3
|
+
# aiosqlite/etc). Keeping this split means a Pi/robot install doesn't pull in
|
|
4
|
+
# server-only packages it will never use.
|
|
5
|
+
httpx==0.27.2
|
|
6
|
+
livekit>=0.18
|
|
7
|
+
opencv-python>=4.8
|
|
8
|
+
pyaudio>=0.2
|
|
9
|
+
picamera2>=0.3; platform_machine == 'aarch64' or platform_machine == 'arm64'
|