1# -*- coding: UTF-8 -*-
2import iot
3import utime
4# 请替换物联网平台申请到的产品和设备信息,可以参考文章:https://blog.csdn.net/HaaSTech/article/details/114360517
5productKey = "a1uTFk4xjko"
6productSecret = "xxxxxxx"
7deviceName  =    "mpy_001"
8deviceSecret  =   "xxxxxxxxxxxxxxx"
9# 初始化linkkit sdk
10key_info = {
11    'region' : 'cn-shanghai' ,
12    'productKey': productKey ,
13    'deviceName': deviceName ,
14    'deviceSecret': deviceSecret ,
15    'productSecret': productSecret
16}
17device = iot.Device(key_info)
18# 物联网平台连接成功的回调函数
19def on_connect():
20    print('linkkit is connected ')
21device.on('connect',on_connect)
22# 设置props 事件接收函数(本案例是云端控制led事件)
23def on_props(request):
24    from driver import GPIO
25    import ujson
26    ON = 0
27    OFF = 1
28    #服务端返回的json 转换成dict
29    payload = ujson.loads(request)
30    #获取dict 中的led 状态字段
31    stat = payload["LEDSwitch"]
32    gpio = GPIO()
33    # open 函数支持的参数列表如下:
34    # led1;led2;led3;led4;led5
35    gpio.open('led1')
36    if stat == 1:
37        gpio.write(ON)
38    else:
39        gpio.write(OFF)
40    utime.sleep_ms(200)
41    gpio.close()
42device.on('props',on_props)
43# 连接物联网平台
44device.connect()
45# 触发linkit sdk持续处理server端信息
46while(True):
47    device.do_yield(200)
48# 断开连接
49device.close()
50