这段代码是一个使用 Flask 框架构建的 API 接口。当有 POST 请求发送到根目录'/'时,会执行 print_messages 函数。函数的主要功能是从 POST 请求的 JSON 数据中解析出温度、湿度、CO、烟雾浓度、ppm 等数据,并将这些数据保存到 MySQL 数据库中。最后,API 会返回一个 JSON 格式的响应,其中包含一个表示操作成功的消息。如果这个脚本被直接运行,则会启动 API 服务。

代码解析

  1. 导入必要的库:
from flask import Flask, json, request
import re
import pymysql
  1. 创建 Flask 应用:
api = Flask(__name__)
  1. 定义 API 路由:
@api.route('/', methods=['POST'])
def print_messages():
  ...
  1. 处理 POST 请求:
  reply= {'result': 'ok', 'message': 'success'}
  data=request.get_json()

  # 获取 JSON 数据
  json_str = json.dumps(data)
  json_data = json.loads(json_str)

  # 提取传感器数据
  temperature = json_data['temperature']
  humidity = json_data['humidity']
  co = json_data['co']
  yan = json_data['yan']
  ppm = json_data['ppm']

  # 打印数据(可选)
  print(temperature)
  print(humidity)
  print(co)
  print(yan)  
  print(ppm)
  1. 连接 MySQL 数据库:
  conn = pymysql.connect(host='127.0.0.1',
                       user='root',
                       password='aff6fc6013b00ddd',
                       database='mqtt',
                       port=3306,
                       charset='utf8')
  print("连接成功")
  cursor = conn.cursor()
  1. 执行 SQL 插入语句:
  insert_emp_sql = """
    insert into mqtt.esp82661(temperature,humidity,co,yan,ppm)
    values(%s,%s,%s,%s,%s)
  """
  cursor.execute(insert_emp_sql,(temperature,humidity,co,yan,ppm))  #执行sql语句

  # 提交数据
  conn.commit()
  cursor.close()
  # 关闭连接
  conn.close()
  1. 返回 JSON 响应:
  return json.dumps(reply), 200
  1. 启动 API 服务:
if __name__ == '__main__':
  api.run()

总结

这段代码展示了如何使用 Flask 框架构建一个简单的 API 接口,用于接收传感器数据并将其存储到 MySQL 数据库中。代码中使用 request.get_json() 获取 POST 请求中的 JSON 数据,并使用 pymysql 库连接 MySQL 数据库。最后,接口返回一个表示操作成功的 JSON 响应。

Flask API 接口解析:接收传感器数据并存储到 MySQL 数据库

原文地址: https://www.cveoy.top/t/topic/nw4R 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录