文章目录
- 前言
- 题目如下
- 什么是云平台API
- API调用的基本流程
- Python实例介绍
- 依赖库介绍
- API调用的基本参数
- 请求返回值
- requests库
- PyQt5库
- 总结
- 源码链接
前言
这是基于样题进行讲解的文章,因为正式赛题尚未公布和样题类型相似。文章结尾提供了源码和环境链接,读者可以自行下载以进行更深入的学习和优化。
题目如下
注意:题目中的API链接,是在比赛局域网环境下进行的,在平常练习的时候,用新大陆官方链接即可!
链接:新大陆官网AP接口调用文档
什么是云平台API
云平台API(Application Programming Interface,应用程序编程接口)是一种编程接口,用于不同应用程序之间的通信。在云平台中,API通常用于实现设备数据的读取和控制等功能。用户可以使用API对设备进行远程操作,也可以通过API获取设备的各种传感器数据。
API调用的基本流程
API调用的基本流程如下:
- 用户登录云平台账号,获取AccessToken。
- 使用AccessToken对设备进行认证。
- 调用API获取设备数据。
- 对获取的数据进行处理和展示。
Python实例介绍
下面我们以一个Python实例来介绍API调用的各种参数及其意义。该实例中,我们通过API调用获取一个温度传感器和一个风扇传感器的数据,并将数据显示在PyQt5的界面上。
依赖库介绍
在该Python实例中,我们需要使用requests、PyQt5和prettytable三个库。其中,requests用于向云平台发送HTTP请求,PyQt5用于构建图形用户界面。
API调用的基本参数
在该Python实例中,我们需要使用以下API调用的基本参数:
- login_url:登录API的地址,用于获取AccessToken。
- login_data:登录API的参数,包括账号、密码和是否记住登录状态等。
- temp_sensor_url:温度传感器API的地址,用于获取温度传感器数据。
- fan_sensor_url:风扇传感器API的地址,用于获取风扇传感器数据。
- token_data:认证API的参数,包括AccessToken。
以上均为自定义参数,可对照源码进行查看
请求返回值
请求成功时,API将返回一个带有相应结果的JSON格式响应体。在请求返回的JSON结果中,"Status"表示请求的执行结果,而"ResultObj"是请求的执行结果数据。解析JSON格式数据即可!
requests库
首先我们来看一下requests库中常用的几个函数。
requests.post(url, data=None, json=None, **kwargs)
这个函数用于向指定url发送POST请求,并且传递data或者json参数。-
url:需要发送POST请求的url。
-
data:向服务器发送的表单数据,可以是字典、元组列表或字节序列。
-
json:向服务器发送的json格式数据,可以是python对象或字符串。
-
**kwargs:其他的请求参数,例如headers、timeout等。
-
requests.get(url, params=None, **kwargs)
这个函数用于向指定url发送GET请求,并且传递params参数。-
url:需要发送GET请求的url。
-
params:向服务器发送的查询参数,可以是字典、元组列表或字节序列。
-
**kwargs:其他的请求参数,例如headers、timeout等。
-
response.json()
这个函数用于将服务器返回的json格式数据转换为Python对象。如果返回的数据不是json格式,将会抛出异常。response.status_code
这个属性用于获取服务器返回的HTTP状态码。
PyQt5库
接下来我们来看一下PyQt5库中常用的几个类和函数。
QApplication
这个类是所有PyQt5应用程序的主要类。它是用来管理应用程序的控制流程、事件循环和各种对象之间的交互。QMainWindow
这个类是用来创建主窗口的。它包含一个菜单栏、工具栏、状态栏和中心部件,也可以包含其他窗口小部件。uic.loadUi()
这个函数可以将一个.ui文件加载到一个QWidget或其子类中,用于将设计好的UI界面与代码连接起来。QTimer
这个类用于创建一个定时器,可以根据指定的时间间隔定期触发timeout信号。它常常用来更新UI界面的信息。QWidget
这个类是Qt GUI程序中所有用户界面的基类。它是所有其他窗口部件的父类,并且可以作为窗口部件的容器。QObject
这个类是Qt程序中所有对象的基类,提供了信号和槽机制,用于实现对象之间的通信。
总结
本篇博客中,我们学习了如何使用Python的requests库进行HTTP请求,以及PyQt5库的常用类和函数。通过这个例子,我们可以看到如何将这两个库结合起来,实现一个基于PyQt5的UI界面,用于显示传感器数据。同时,我们还讲解了Python程序中的函数、类、模块等基本概念,以及Python程序的运行机制。
源码链接
链接:百度网盘python源码和环境
提取码:9494
注意:运行代码之前,要搭配对应环境,代码内部的部分参数需要进行对应调正,请仔细阅读!