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