微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 使用微信公众号控制LED灯

使用微信公众号控制LED灯

时间:10-02 整理:3721RD 点击:

    对OneNET的结构虽然有了解了,但提供开发文档还是不够全面,其细节之处总是还有些模糊。每每使用总有不断试错,才能找到解决的方法。   之前的帖子中使用了MQTT协议,支持下发指令,还算好用。可平台应用仅支持EDP协议的下发指令。在MQTT协议下要想实现topic的发送功能,还是需要通过编程来实现,不得其法。翻阅文档,找到一个命令的功能,能够下发指令,算是满足了需求。官方参考文档地址:http://open.iot.10086.cn/doc/art257.html#68。

    由文档知道,OneNET云接受POST的的指令数据。格式如下图:




    实现下发指令的python代码:添加api-key到头部,在POST指令内容,最后解析返回的数据。一个最简单的函数过程就出来了,像下图这样开关红色led的函数实现。完整的demo工程代码见我的Github,从我的项目精简而来,实现了一个微信公众号的简单功能。创建配置文件之后,加入对应的微信token参数和OneNET的API参数等,就可以运行起来。



    运行之后需要先调试一下。从OneNET官网下载MQTT设备工具,能够模拟设备收发数据,调试起来非常方便。设置好设备产品ID和鉴权信息,连接即可



    再使用微信发送文字指令,"开启红灯"/"关闭红灯"程序会自动解析执行,收到执行结果。调试软件也收到了正确的命令。





    最后,将调试软件断开,打开麒麟座,真机测试结果。红色LED正常亮灭。有图有真相:



    红色LED使用的PC7的GPIO口,外接一个3.3V的继电器模块,就能够实现躺在床上开关灯啦。本来想更完善一点再发出来的。

   2017-05-27:python代码添加了一个简单的网页,可在网页上开关灯。



Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top