STM32按键实验入门:GPIO输入模式与软件消抖实战解析
2026/10/15 17:40:49
【免费下载链接】mijia-api米家API项目地址: https://gitcode.com/gh_mirrors/mi/mijia-api
米家API是一个强大的Python工具包,专为控制小米智能家居设备而设计。通过简洁的代码接口,用户可以轻松实现设备状态监控、属性设置和自动化控制,为智能家居爱好者提供完整的开发解决方案。
米家API提供多种安装方式,满足不同用户群体的需求:
标准安装方法
pip install mijiaAPI源码编译安装
git clone https://gitcode.com/gh_mirrors/mi/mijia-api cd mijia-api pip install .现代化包管理工具支持
uv sync首次使用需要通过身份验证来获取设备控制权限:
from mijiaAPI import mijiaAPI # 初始化API实例 api = mijiaAPI() # 二维码登录认证 api.login()认证数据将自动保存在系统配置目录中,后续使用无需重复登录操作。
通过API可以轻松发现和管理所有已连接的米家设备:
# 获取家庭组织结构 homes = api.get_homes_list() print(f"发现 {len(homes)} 个家庭") # 扫描所有可用设备 devices = api.get_devices_list() for device in devices: print(f"设备: {device['name']}, 型号: {device['model']}") # 获取共享设备列表 shared_devices = api.get_shared_devices_list()每个米家设备都有详细的规格定义,可以通过在线服务获取:
from mijiaAPI import get_device_info # 查询设备技术规格 lamp_info = get_device_info('yeelink.light.lamp4')mijiaDevice类提供了直观的设备控制接口:
from mijiaAPI import mijiaAPI, mijiaDevice # 创建API连接 api = mijiaAPI() api.login() # 初始化设备实例 lamp = mijiaDevice(api, dev_name='智能台灯') # 属性式操作控制 lamp.on = True # 开启设备 lamp.brightness = 75 # 设置亮度级别 lamp.color_temperature = 4500 # 调整色温参数对于多设备控制场景,推荐使用批量操作模式:
# 高效批量属性获取 properties = [ {"did": "device1", "siid": 2, "piid": 2}, {"did": "device2", "siid": 2, "piid": 2}, {"did": "device3", "siid": 2, "piid": 2} ] results = api.get_devices_prop(properties)米家API支持复杂的场景联动控制:
# 获取场景配置信息 scenes = api.get_scenes_list() # 执行预设场景 api.run_scene(scene_id="sleep_mode", home_id="living_room")对于需要定期更换耗材的设备,提供状态跟踪:
# 监控耗材使用情况 consumables = api.get_consumable_items() for item in consumables: print(f"{item['name']}: 剩余 {item['left']}%")无需编写Python代码,通过命令行即可完成设备控制:
# 设备发现与信息展示 mijiaAPI --list_devices # 属性查询操作 mijiaAPI get --dev_name "卧室台灯" --prop_name "brightness" # 属性设置命令 mijiaAPI set --dev_name "卧室台灯" --prop_name "on" --value True集成小爱音箱的自然语言处理能力:
# 语音指令执行 mijiaAPI --run "打开客厅所有灯光" # 指定音箱设备 mijiaAPI --run "播放轻音乐" --wifispeaker_name "客厅小爱"完善的错误处理确保程序稳定运行:
from mijiaAPI import ( LoginError, DeviceNotFoundError, DeviceGetError, DeviceSetError ) try: device = mijiaDevice(api, dev_name="智能台灯") device.brightness = 80 except DeviceSetError as e: print(f"属性设置失败: {e}") except DeviceNotFoundError as e: print(f"设备未找到: {e}")启用详细日志记录辅助开发调试:
import logging # 配置调试级别日志 logging.getLogger("mijiaAPI").setLevel(logging.DEBUG)针对不同设备特性调整操作间隔:
# 设置适当的等待时间 device = mijiaDevice(api, dev_name="我的设备", sleep_time=1.0)合理配置认证文件存储位置:
from pathlib import Path # 自定义认证路径 auth_path = Path(".mijia-api-data") / "auth.json" api = mijiaAPI(str(auth_path))通过米家API,开发者可以构建功能丰富的智能家居应用,实现设备状态监控、自动化控制和场景联动等高级功能。
【免费下载链接】mijia-api米家API项目地址: https://gitcode.com/gh_mirrors/mi/mijia-api
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考