IoT 场景中,一个非常常见的场景就是设备远程控制。我们通过手机端,调用服务端SDK,从而实现对另外一个设备的控制。
今天我们要介绍的就是如何通过阿里云IoT 的 物联网平台和Python 轻应用,轻松实现设备的远程控制功能。方案介绍阿里云物联网平台提供安全可靠的设备连接通信能力,支持设备数据采集上云,规则引擎流转数据和云端数据下发设备端。 此外,也提供方便快捷的设备管理能力,支持物模型定义,数据结构化存储,和远程调试、监控、运维。
本文使用的是自定义物模型,通过定义一个LedSwitch 属性,云端通过改变这个属性值,实现对设备端Led的控制,具体交互方案设计如下:

物品清单
硬件
- HaaS100 开发板一块
- 电源一个
- micro usb 一个
- sdcard 一个
- 最新的HaaS100 开源代码
- 串口工具
- Python轻应用代码
注意事项
1、信息更新:
请务必将代码中的
PRODUCT_KEY = “xxxxxx”
PRODUCT_SECRET = “xxxxxxx”
DEVICE_NAME = “xxxxx”
DEVICE_SECRET = “xxxxxx”
替换成自己的物联网平台上相关信息。
2、设备联网: 运行代码之前请务必保证机器联网,python 联网指令如下
python /data/python-apps/wifi/main.py ssid password
实现步骤
首先参考 文章 创建产品和设备。

如上图所示,我们创建的产品是 mpy_test, 设备是mpy_001

如上图所示,首先点击产品,选择我们自己创建的产品mpy_test, 然后点击编辑草稿,添加自定义功能 进入下图中的界面:

烧录完成以后,插入sdcard, 开机并连接串口,通过串口输入:
python /sdcard/LinkKitControlLed.py
就可以完成轻应用的启动,启动成功以后,串口会出现如下打印:

连接成功以后,主程序就会等待云端的消息分发,收到消息以后就会通过on_prop_set 函数处理。在设备属性发布以后,我们就可以开始在线调试了。

如上图所示:
- 选择监控运维—->在线调试
- 选择产品mpy_test 和 设备 mpy_001
- 正常情况下,设备已经在线,我们就可以看到下面的调试选项了
- 选择属性调试—->默认模块—->LED开关
- 选择参数 开启-1
- 点击调试,设置即可

结尾
关于Python轻应用的更多资料,请参考《Python轻应用手册》。
欢迎加入Python轻应用钉钉群,探讨更多技术问题。
