|
楼主 |
发表于 2020-6-5 19:39
|
显示全部楼层
8、MicroPython编程
(1)发现灯泡
掌控板和Yeelight灯泡在同局域网内后,我们要控制灯泡,首先需要知道该灯泡的IP地址,我们可以使用 discover_bulbs() 函数:
[mw_shl_code=python,true]from mpython import * # 导入mpython模块
from yeelight import * # 导入yeelight模块
my_wifi = wifi() # 连接到与YeeLight相同的局域网内
my_wifi.connectWiFi("ssid","password")
discover_bulbs() # 发现局域网内YeeLight的设备信息[/mw_shl_code]
网内的Yeelight灯泡响应并返回包含bulbs属性的字典:
[mw_shl_code=arduino,true]>>> discover_bulbs()
[{'ip': '192.168.0.8', 'capabilities': {'rgb': '16711680', 'bright': '100', 'support': 'get_prop set_default set_power toggle set_bright start_cf stop_cf set_scene cron_add cron_get cron_del set_ct_abx set_rgb set_hsv set_adjust adjust_bright adjust_ct adjust_color set_music set', 'sat': '100', 'power': 'off', 'id': '0x0000000007e7544d', 'name': '', 'fw_ver': '26', 'color_mode': '2', 'hue': '359', 'ct': '3500', 'model': 'color'}, 'port': '55443'}][/mw_shl_code]
discover_bulbs() 函数,可获取网内Yeelight设备的属性。从上述返回的来看,该灯泡的IP地址为 192.168.0.8 。
(2)开关控制
知道IP地址后,我们构建 Bulb 对象,对灯泡开关控制:
[mw_shl_code=arduino,true]bulb=Bulb("192.168.0.8") # 构建对象
bulb.turn_on() # 开灯指令
bulb.turn_off() # 关灯指令[/mw_shl_code]
除了 turn_on() 、turn_off() 还可使用 toggle() 反转状态。
|
|