目前在服务器上用一个py脚本接收单片机发送的套接字数据,用while ture来实时更新,要怎么做一个api来实现把最新数据放到api中,现在是一直卡在脚本里获取实时数据,下面的api.run根本不跑怎么办?换句话就是想让本来按照顺序执行程序的py实现两个程序并行
基于Monster 组和GPT的调写:
用 Flask 来实现一个 API,用于返回最新的单片机数据:
from flask import Flask, jsonify
app = Flask(__name__)
latest_data = {} # 存储最新的数据
@app.route('/latest_data', methods=['GET'])
def get_latest_data():
"""获取最新的数据"""
return jsonify(latest_data)
def update_latest_data():
"""定期更新最新数据"""
while True:
# 获取最新的数据,并存储在 latest_data 中
latest_data = receive_latest_data()
if __name__ == '__main__':
# 启动定期更新最新数据的线程
from threading import Thread
update_thread = Thread(target=update_latest_data)
update_thread.start()
# 启动 API
app.run()
et_latest_data() 函数用于获取最新的数据,并返回一个 JSON 格式的响应。update_latest_data() 函数用于定期获取最新的数据,并将其存储在 latest_data 变量中。
通过将 update_latest_data() 函数放在一个单独的线程中运行,可以使其与 API 同时运行,实现并行处理。