如何把开发板变成一个被物联网平台控制的设备

描述

这次【1024平头哥开发套件试用】活动,收到了一块W800(CB6201)无线开发板,经过研究使用,这块板子能够很好的接入阿里云生活物联网平台,快速开发成为一款智能小灯。

我们将使用开发板上这个乳白色的超大粒LED,它是一颗三色LED,在其旁边,有一个拨码开关,来控制RGB三个通道,测试时请将三个拨码开关都打开(拨向LED)。同时,可以通过PWM来进行控制,从而不仅可以开关,还能设置亮度。

一、开发板WIFi智能灯控代码下载和编译

首先,我们打开CDK开发工具,使用官方W800的WiFi智能灯控新建项目即可,具体如下:

使用W800搜索对应的项目,找到WiFi智能灯控:

开发板

然后创建工程:

并进行工作区设置:

开发板

设置完成后,即可自动下载代码:

开发板

包括需要的依赖包等:

开发板

根据网速,可能需要持续一段时间下载完成:

开发板

代码下载完成后,就可以进行编译了,编译无误后,就会生成固件:

开发板

因为使用串口工具进行下载,所以需要的文件为:yoc_total.fls

开发板

连接好开发板,并使用串口工具进行下载:

开发板

固件下载完成后,开发板就做好了准备,下面的步骤,就是在阿里云生活物联网平台进行操作了。

等后续设置好,并给开发板配网成功后,开发板将会和物联网平台联通,然后通过物联网平台,就可以控制开发板上的三色LED。

阿里云生活物联网平台网址为:

https://living.aliyun.com/

二、阿里云生活物联网平台操作和设置

 

按照如下设置,依次建立自有品牌项目、新的产品(电工照明/灯):

 

注意新建产品中的节点类型、网关设置,以及联网方式选WiFi

开发板

初次使用,就用默认的标准功能定义即可,不用进行修改,直接下一步。

开发板

然后,进入人机交互设置。这一步,主要用于设置该产品,在物联网平台控制端云智能App中的呈现:

开发板

特别要注意的是,设备面板中的面板,选择一路灯的:

开发板

开发板

因为设备需要联网,才能和物联网平台通信,所以物联网平台为设备提供了简便快捷的配网方式,通过蓝牙,即可在云智联App上,给开发板配网了,非常方便。

由于使用蓝牙配网,所以配网类型,选择灯(BLE+WiFi):

开发板

下一步,就是模组/芯片选择。郁闷的是,W800既然不在列表中,我们可以选择W600:

开发板

或者选择未认证模块:

 

开发板

然后,添加测试设备后,就可以进行实际测试了:

开发板

添加设备后,会给出设备的关键信息:

开发板

开发板

以上五种信息:

hal_devinfo_dn:DeviceName

hal_devinfo_ds:DeviceSecret

hal_devinfo_pk:ProductKey

hal_devinfo_ps:Product Secret

hal_devinfo_pid:Product Id

以上五项信息,就是平头哥开发中常说的五元组信息

kv set hal_devinfo_dn qWfeoh7lufwKHo7VIqGFkv set hal_devinfo_ds 6f3a92f8e7a6519d20796a5e9efb2fd5kv set hal_devinfo_pk a1lRvEBZi07kv set hal_devinfo_ps TJnG77F27J7LdUdCkv setint hal_devinfo_pid 9487546

将下载WiFi智能灯控固件的开发板连接到电脑,用串口工具连接,并按RST键重启,在串口工具中,按回车,会出现#提示符,进入命令操作环境,然后使用如下命令操作:

kv set hal_devinfo_dn qWfeoh7lufwKHo7VIqGFkv set hal_devinfo_ds 6f3a92f8e7a6519d20796a5e9efb2fd5kv set hal_devinfo_pk a1lRvEBZi07kv set hal_devinfo_ps TJnG77F27J7LdUdCkv setint hal_devinfo_pid 9487546

开发板

配置完成后,使用reboot指令进行重启。

三、设备配网连接

首先在物联网平台,进入批量投产页面,打开配网二维码:

开发板

下载安装 云智联App,然后打开App,继续扫码,就可以出现添加设备的界面,按照提示,使用2.4G WiFi,进入如下界面:

 

此时,需要按开发板的USR按键,待三色LED点亮一次启动配网模式,再松开:

 

待配网完成后,将会自动进入控制界面:

 

自此,开发板和物联网平台成功连接,通过 云智联 界面,可以控制LED的亮度,以及进行开关操作。

四、在线调试

通过物联网平台的测试设备界面,可以查看设备的详情,并进行在线调试:

开发板

开发板

在日志查看界面,可以查看上行(设备上报)和下行(控制信息)日志:

开发板

进入在线调试界面,可以直接对设备下发控制信息:

开发板

可以使用的控制信息如下:

1. 开灯:

{ “powerstate”: 1}

2. 关灯:

{ “powerstate”: 0}

3. 设置亮度:

{ “brightness”: 30}

选择设置,并发送指令时,注意观察LED的显示情况。

五、代码说明

通过这个实例,我们能够使用WiFi智能灯控实例,把开发板变成一个被物联网平台控制的设备了。

在WiFi智能灯控实例代码中,除了物联网平台相关的基础服务代码,我们最需要关注的,就是app/src/app_led.c

在这个文件中,包含了:

1. PWM的定义:使用0号PWM通道

// PWM0static pwm_led_t g_pwm_led_ctx = {0, 60, PWM0_PIN, PWM0_CH, PWM0_PIN_FUNC};

2. led初始化:app_pwm_led_init()

3. led实际显示控制:app_pwm_led_set_config()

4. 关闭led:app_pwm_led_set_stop()

5. 设置亮度:app_pwm_led_set_normal()

6. 控制led亮灭:app_pwm_led_control

7. 亮度值检查:app_pwm_led_set_brightness()

现在的代码,只使用的PWM0,我们可以仔细研读代码,把PWM1、PWM2也使用起来,从而可以控制灯的颜色,把一个简单的只有亮度的灯,变成一个还能控制颜色的灯。

原文标题:【技术分享】平头哥开发套件开发体验——基于W800开发板的智能小灯开发

文章出处:【微信公众号:电子发烧友论坛】欢迎添加关注!文章转载请注明出处。
       责任编辑:pj

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分