这次【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开发板的智能小灯开发
-
物联网
+关注
关注
2909文章
44640浏览量
373419 -
开发板
+关注
关注
25文章
5052浏览量
97489 -
平头哥
+关注
关注
0文章
64浏览量
9053
原文标题:【技术分享】平头哥开发套件开发体验——基于W800开发板的智能小灯开发
文章出处:【微信号:gh_9b9470648b3c,微信公众号:电子发烧友论坛】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论