38 lines
1.2 KiB
Python
38 lines
1.2 KiB
Python
|
# -*- coding: utf-8 -*-
|
||
|
# @Time : 2024/11/12 16:37
|
||
|
# @Author : 黄子寒
|
||
|
# @Email : 1064071566@qq.com
|
||
|
# @File : script.py
|
||
|
# @Project : EmoLLM
|
||
|
import requests
|
||
|
|
||
|
|
||
|
def query_sensor_data(area_code: str, parameter_type: str) -> dict:
|
||
|
"""
|
||
|
查询指定区域和数据类型的传感器数据。
|
||
|
:param area_code: str, 区域代码 (如 "A" 或 "B")
|
||
|
:param parameter_type: str, 数据类型 (如 "moisture"、"temperature"、"conductivity")
|
||
|
:return: dict, 包含查询结果的字典
|
||
|
"""
|
||
|
url = f"http://127.0.0.1:8000/sensors/api/{area_code}/{parameter_type}/"
|
||
|
try:
|
||
|
response = requests.get(url)
|
||
|
response.raise_for_status() # 检查请求是否成功
|
||
|
return response.json() # 返回 JSON 格式的数据
|
||
|
except requests.exceptions.RequestException as e:
|
||
|
return {"error": str(e)}
|
||
|
|
||
|
|
||
|
# 示例用法:可供 LLM function calling 调用
|
||
|
if __name__ == "__main__":
|
||
|
import sys
|
||
|
|
||
|
# 从命令行获取参数
|
||
|
if len(sys.argv) < 3:
|
||
|
print("请提供区域代码和数据类型参数")
|
||
|
else:
|
||
|
area_code = sys.argv[1]
|
||
|
parameter_type = sys.argv[2]
|
||
|
result = query_sensor_data(area_code, parameter_type)
|
||
|
print(result)
|