mini-test / server.py
cduss's picture
wip
595094e
raw
history blame
1.22 kB
import eventlet
from flask import Flask, request, send_from_directory
from flask_cors import CORS
from flask_socketio import SocketIO
# 1) static under /static
app = Flask(__name__, static_folder="static", static_url_path="/static")
CORS(app)
# 2) Socket.IO with wildcard CORS
socketio = SocketIO(app, cors_allowed_origins="*")
motor_states = {f"motor_{i}": 0.0 for i in range(6)}
@app.route("/")
def index():
return send_from_directory("static", "index.html")
@app.route("/sinus")
def sinus():
return send_from_directory("static", "sinus.html")
@app.route("/motor_control", methods=["POST"])
def http_control():
data = request.json or {}
motor_states.update(data)
print("HTTP POST:", data)
return {"status": "ok", "motor_states": motor_states}
@socketio.on("connect")
def on_connect():
print("Client connected")
@socketio.on("motor_control")
def on_ws_control(data):
motor_states.update(data)
print("WS:", data)
# broadcast new states back if you like
socketio.emit("motor_states", motor_states)
if __name__ == "__main__":
# 3) run under eventlet on port 7860 (HF Spaces HTTPS)
eventlet.monkey_patch()
socketio.run(app, host="0.0.0.0", port=7860)