cduss commited on
Commit
595094e
·
1 Parent(s): cf8648f
Files changed (1) hide show
  1. server.py +37 -4
server.py CHANGED
@@ -1,10 +1,20 @@
1
- from flask import Flask, send_from_directory
 
 
 
2
 
3
- app = Flask(__name__, static_folder="static")
 
 
 
 
 
 
 
4
 
5
 
6
  @app.route("/")
7
- def root():
8
  return send_from_directory("static", "index.html")
9
 
10
 
@@ -13,5 +23,28 @@ def sinus():
13
  return send_from_directory("static", "sinus.html")
14
 
15
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
  if __name__ == "__main__":
17
- app.run(host="0.0.0.0", port=7860)
 
 
 
1
+ import eventlet
2
+ from flask import Flask, request, send_from_directory
3
+ from flask_cors import CORS
4
+ from flask_socketio import SocketIO
5
 
6
+ # 1) static under /static
7
+ app = Flask(__name__, static_folder="static", static_url_path="/static")
8
+ CORS(app)
9
+
10
+ # 2) Socket.IO with wildcard CORS
11
+ socketio = SocketIO(app, cors_allowed_origins="*")
12
+
13
+ motor_states = {f"motor_{i}": 0.0 for i in range(6)}
14
 
15
 
16
  @app.route("/")
17
+ def index():
18
  return send_from_directory("static", "index.html")
19
 
20
 
 
23
  return send_from_directory("static", "sinus.html")
24
 
25
 
26
+ @app.route("/motor_control", methods=["POST"])
27
+ def http_control():
28
+ data = request.json or {}
29
+ motor_states.update(data)
30
+ print("HTTP POST:", data)
31
+ return {"status": "ok", "motor_states": motor_states}
32
+
33
+
34
+ @socketio.on("connect")
35
+ def on_connect():
36
+ print("Client connected")
37
+
38
+
39
+ @socketio.on("motor_control")
40
+ def on_ws_control(data):
41
+ motor_states.update(data)
42
+ print("WS:", data)
43
+ # broadcast new states back if you like
44
+ socketio.emit("motor_states", motor_states)
45
+
46
+
47
  if __name__ == "__main__":
48
+ # 3) run under eventlet on port 7860 (HF Spaces HTTPS)
49
+ eventlet.monkey_patch()
50
+ socketio.run(app, host="0.0.0.0", port=7860)