查看: 2831|回复: 0

EDP方式操作LED灯

[复制链接]
  • TA的每日心情
    开心
    2019-6-20 14:08
  • 签到天数: 43 天

    连续签到: 1 天

    [LV.5]常住居民I

    发表于 2017-9-10 15:49:22 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 mabo124 于 2017-9-10 16:43 编辑

    对麒麟mini板的学习进入到了进阶阶段,也花了2周的时间一直在学习/测试如何使用EDP方式操作LED灯,总算搞定了。
    刚开始的时候,一直在“2.kyLinMini-V1.x-OneNET-裸机-基础例程”的“1.ESP8266-EDP_TYPE3-LED”中纠结几个问题:
    1. 如何连接自己的wifi网络(我的wifi网络是在笔记本通过360随身wifi建立的)
    2. 如何连接OneNet

    对于第一个问题着实让我花了不少时间,通过进入qq群里问(在张继瑞工程师的指点迷津下),网上查找资料,总算搞定了!
    在1.ESP8266-EDP_TYPE3-LED中通过更改esp8266.c文件中的宏ESP8266_WIFI_INFO和ESP8266_ONENET_INFO,将其改为自己的wifi名和密码,也就是所谓的SSID和PWD,便可使得esp8266连接自己的wifi网络了。(有时也会出现连接几次才能连接上的情况,不用着急,多reset几次便ok了)
    这里涉及的esp8266的主要命令就是CWJAP,可以自行问问度娘或者看对应的datasheet(资料包里有说明)

    对于第二个问题,关键在于要在OneNet开发者中心,注册--编辑一个项目产品(我也不知道用什么词语好) 配置设备.jpg ,通过多次尝试,总算搞定了连接,这里因为我的目的是操作LED灯,需要下发命令,所以我这里选择的是EDP方式,配置好项目产品,就必须要申请对应的APIKey,当然设备ID是申请项目时就定下来的,这个APIKey是需要申请的。

    申请好后,就可以更改1.ESP8266-EDP_TYPE3-LED中onenet.c文件中的宏DEVID和APIKEY,更改好了,编译下载到板子中,便可以通过串口助手看到如下信息 接入onenet.jpg
    接下来,我就一直在尝试通过OneNet发命令给麒麟板子,可是一直没有成功,令我徘徊郁闷纠结了毛一周的时间。



    前几天,闲来没事,就读“3.kyLinMini-V1.x-OneNET-裸机-进阶例程”中"1.麒麟座MiniV1.x综合应用代码-EDP“的例子,代码的复杂度又加深了(如果从资料包中基础例程一步一步读代码,会发现其实它有一个思路进化的过程,刚开始简单, 越往后越复杂,操作才有可行性),这里我就更改了net_device.c中第447行中的"AT+CWJAP“指令,改为自己的wifi的ssid和pwd,再更改onenet.c中第47行的oneNetInfo,改为申请的deviceID和APIKey,配置烧写,下载 就可以通过串口助手如下信息 连接OneNet.jpg 接下来,便可如我所愿 操作LED灯了,在设备管理中发送命令,如图所示 发生命令.jpg 这里命令格式为:{xxx}{V},xxx代表LED灯(redled,greenled,yellowled和blueled),V代表命令:1是打开,0是关闭
    发送命令后,串口助手显示信息如下: EDP点灯.jpg ,  此时如我所愿,令我高兴不已。

    当然,令我遗憾的是,通过网页方式操作LED没能实现,我在应用管理中配置了4个开关,依次对应4个LED灯,页面如下 应用管理.jpg ,想法是通过鼠标点击开关来操作远程的设备,但是没能如愿所尝,目前分析是我的协议使用不对,应该采用http协议。

    对于网络协议端、 甚至将来前端程序的编写/手机APP的编写,都是我的弱项,计划在今后日子里补充学习下。


    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则



    手机版|小黑屋|与非网

    GMT+8, 2024-4-24 07:51 , Processed in 0.128888 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.