下面是一个简单的示例,演示如何使用Python开发一个简单的物联网应用,用于传感器数据的采集和显示。在这个示例中,我们将使用Flask框架创建一个Web应用,通过HTTP请求来模拟传感器数据的采集,并使用Chart.js库在网页上实时显示传感器数据的变化。

from flask import Flask, render_template, jsonify, request
import random
import threading
import time

app = Flask(__name__)

# 模拟传感器数据采集
sensor_data = {'temperature': 25, 'humidity': 50}

def update_sensor_data():
    global sensor_data
    while True:
        sensor_data['temperature'] = round(random.uniform(20, 30), 2)
        sensor_data['humidity'] = round(random.uniform(40, 60), 2)
        time.sleep(1)

# 启动传感器数据更新线程
update_thread = threading.Thread(target=update_sensor_data)
update_thread.start()

# 首页路由,显示传感器数据
@app.route('/')
def index():
    return render_template('index.html', sensor_data=sensor_data)

# API路由,返回JSON格式的传感器数据
@app.route('/api/data', methods=['GET'])
def get_sensor_data():
    return jsonify(sensor_data)

if __name__ == '__main__':
    app.run(debug=True)
  • 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.

在这个示例中,我们使用了Flask框架创建了一个简单的Web应用,并定义了两个路由。首页路由用于显示传感器数据的实时变化,API路由用于返回JSON格式的传感器数据。

在传感器数据更新函数中,我们使用了一个简单的循环来模拟传感器数据的实时变化。在每次循环中,我们生成一个随机的温度和湿度值,并将其保存到sensor_data字典中。

最后,我们使用了一个线程来启动传感器数据更新函数,以便在后台模拟传感器数据的实时变化。这样,当Web应用运行时,我们就可以通过浏览器访问首页路由,实时查看传感器数据的变化。