项目介绍
GyroBox 3D 是一个通过行空板陀螺仪控制网页3D模型的交互项目。它将物理设备的运动数据实时传输到网页,呈现生动的3D视觉效果。
软件准备
行空板环境:
安装Python环境
安装必要库:
bash
pip install pinpong requests
电脑环境:
Python 3.6+
安装Flask:
bash
pip install flask flask-cors
pip install pinpong requests
pip install flask flask-cors
步骤1 第一步:设置Flask服务器
1.创建项目文件夹:
2.创建fangkuai_3d.py文件,内容如下:
from flask import Flask, request, jsonify, send_from_directory
from flask_cors import CORS
import os
app = Flask(__name__)
CORS(app)
current_data = {"x": 0, "y": 0, "z": 0}
@app.route('/')
def home():
return send_from_directory(os.path.dirname(__file__), 'index_3d.html')
@app.route('/update', methods=['POST'])
def update_data():
global current_data
current_data = request.json
return jsonify({"status": "success"})
@app.route('/get_data', methods=['GET'])
def get_data():
return jsonify(current_data)
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)
步骤2 第二步:配置行空板
1.创建gyro_sender_3d.py文件,代码如下:
from pinpong.board import Board
from pinpong.extension.unihiker import *
import requests
import time
Board().begin()
SERVER_URL = "http://192.168.1.21:5000/update" # 改为你的电脑IP
while True:
try:
x, y, z = gyroscope.get_x(), gyroscope.get_y(), gyroscope.get_z()
data = {
"x": x * 0.05,
"y": y * 0.05,
"z": z * 0.05
}
response = requests.post(SERVER_URL, json=data)
print(f"发送数据: X={x:.1f} Y={y:.1f} Z={z:.1f}")
except Exception as e:
print("发送失败:", e)
time.sleep(0.05)
步骤3 第三步:设置网页端
创建html文件(附件中)
确保文件中服务器IP配置正确:
const CONFIG = {
serverIP: '192.168.1.21', // 改为你的电脑IP
port: 5000
};
步骤4 第四步:开始测试
s使用指南:
启动系统
运行Flask服务器:
(如果不在根目录要按照自己的索引
例:python C:\Users\Administrator\Desktop\fangkuai_3d.py)
bash
python fangkuai_3d.py
运行行空板程序:
bash
python gyro_sender_3d.py
访问网页:
在浏览器打开:
http://192.168.1.21:5000
附件
评论