File size: 781 Bytes
d081bf3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import gradio as gr
import base64
from PIL import Image
import io
import json

def process(json_input):
    try:
        data = json.loads(json_input)

        # Decode Base64
        img_bytes = base64.b64decode(data["image_b64"])
        img = Image.open(io.BytesIO(img_bytes))

        # You can do CV/LLM here later
        response = {
            "received": True,
            "robot_id": data.get("robot_id", "unknown"),
            "image_size": img.size
        }

        return json.dumps(response)

    except Exception as e:
        return json.dumps({"error": str(e)})

# Gradio interface
demo = gr.Interface(
    fn=process,
    inputs=gr.Textbox(lines=10, label="Input JSON from Jetson"),
    outputs=gr.Textbox(lines=10, label="Reply to Jetson"),
)

demo.launch()