收藏官网首页
楼主: bigfanofloT

[资料] 使用ESP8266驱动WS2812B型RGB LED简单3步打造智能灯

 

321

主题

1054

帖子

4502

积分

论坛元老

Rank: 8Rank: 8

积分
4502
QQ
跳转到指定楼层
楼主
发表于 2017-5-2 13:39:19 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式
注册成为机智云开发者,手机加虚拟设备快速开发
本帖最后由 bigfanofloT 于 2017-5-4 18:05 编辑

前言:本文描述了如何仅使用一片esp8266的1个GPIO驱动WS2812B型全彩RGB LED,底层驱动参考了https://github.com/cnlohr/ws2812esp8266,驱动程序还移植Adafruit_NeoPixel的应用库,可实现多种常用特效。在此基础上还连接到了机智云物联网平台,利用其强大的代码自动生成工具,简单三步即完成了一个智能灯的开发。
视频:
Step1:在开发者中心新建产品;
Step2:添加数据点,可使用微信宠物屋Demo模板导入,删除不需要的即可;
Step3:在MCU开发栏目选择SoC方案生成代码SDK;
Step4: 下载通用版本调试APP,支持安卓和IOS:

Step5:把下载的SDK改个名字,原来的有点长,不方便,我这里改为SoC_ESP8266_WS2812B_SmartLEDs
然后添加WS2812B型RGB LED的驱动文件(可在附件源码中找到这2个驱动文件):
把Adafruit_NeoPixel.c文件放到SoC_ESP8266_WS2812B_SmartLEDs\app\driver下

把Adafruit_NeoPixel.h文件放到SoC_ESP8266_WS2812B_SmartLEDs\app\include\driver下
本驱动提供如下功能:

Step6:用文本编辑器如notepad++、SubelimeText等打开目录SoC_ESP8266_WS2812B_SmartLEDs\app\user下的user_main.c文件,然后做如下修改;

首先添加头文件:
我们此次使用的是gokit3SoC开发板,由于驱动LED的GPIO是GPIO0(Gokit3 SoC开发板上对应D6),而生成的代码包默认使用了GPIO0连接到了Gokit3 SoC版的按键key1,因此把按键1相关删除,一般不需要使用产测功能,若自己使用esp8266-12f搭建最小系统,可保留此功能:
然后在主函数里面调用LED的初始化:
Step7:打开目录SoC_ESP8266_WS2812B_SmartLEDs\app\Gizwits下的gizwits_product.c文件;

首先添加头文件:
然后在有userhandle注释的地方添加用户代码:

如下是ESP8266接收到手机APP指令后执行的动作;

源码开发环境搭建,固件烧录教程查看:
工程源码:
游客,如果您要查看本帖隐藏内容请回复
本文PDF:
使用ESP8266驱动WS2812B型RGB LED简单3步打造智能灯.pdf (1.2 MB, 下载次数: 598)
WS2812B数据手册:
WS2812B规格书.pdf (433.51 KB, 下载次数: 306)

1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息

321

主题

1054

帖子

4502

积分

论坛元老

Rank: 8Rank: 8

积分
4502
QQ
沙发
 楼主| 发表于 2017-5-3 21:16:28 | 显示全部楼层
clide2000 发表于 2017-5-3 20:35
其他朋友,有没有遇到初始化以后,总是亮着一个绿灯。
然后在调色时,有时候也会出一个灯颜色不正常。
有时 ...

你用的什么?
1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息

321

主题

1054

帖子

4502

积分

论坛元老

Rank: 8Rank: 8

积分
4502
QQ
板凳
 楼主| 发表于 2017-5-4 13:04:17 | 显示全部楼层
SmartKing 发表于 2017-5-3 23:34
望楼主能提供硬件连接方式,十分感谢

说了啊,ws2812b型LED就3根线,电源VCC接5V,GND接地,数据线接ESP8266的GPIO0,在Gokit3 SoC上是D6

点评

请问一下亮度调节应该怎么写,还有就是我的APP发送的指令为什么有时候后面几个灯颜色没有改变  详情 回复 发表于 2017-8-5 22:15
十分感谢,我试一试,  详情 回复 发表于 2017-5-4 19:50
1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息

321

主题

1054

帖子

4502

积分

论坛元老

Rank: 8Rank: 8

积分
4502
QQ
地板
 楼主| 发表于 2017-5-5 12:24:29 | 显示全部楼层
SmartKing 发表于 2017-5-5 12:07
楼主你好,感谢您的热心,有直接做好的SOC.bin固件吗?自己制作固件方式比较复杂,不太会使用linux ...

有啊,你在源码里面的bin文件夹下找

点评

bin文件下有好多固件,是user1.4096.new.6.bin 这个吗?  详情 回复 发表于 2017-5-5 16:57
1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息

321

主题

1054

帖子

4502

积分

论坛元老

Rank: 8Rank: 8

积分
4502
QQ
5#
 楼主| 发表于 2017-5-5 15:41:37 | 显示全部楼层
注册成为机智云开发者,手机加虚拟设备快速开发
彩色笔 发表于 2017-5-5 15:30
我在学习中,刚会烧录,一脑袋浆糊

加油~~~有什么问题可以加群讨论或者发论坛哦
1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息

321

主题

1054

帖子

4502

积分

论坛元老

Rank: 8Rank: 8

积分
4502
QQ
6#
 楼主| 发表于 2017-5-5 18:09:49 | 显示全部楼层
SmartKing 发表于 2017-5-5 16:57
bin文件下有好多固件,是user1.4096.new.6.bin 这个吗?

是的,你看看文档中心烧录教程
1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息

321

主题

1054

帖子

4502

积分

论坛元老

Rank: 8Rank: 8

积分
4502
QQ
7#
 楼主| 发表于 2017-5-5 18:10:32 | 显示全部楼层
彩色笔 发表于 2017-5-5 18:08
版主,我自己新建的一个LED  SDK,我在向gizwits_product.c文件里写代码时,发现没有case LEDCOLOR_VALUE2  ...

要在开发者中心建立数据点,生成SDK
1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息

321

主题

1054

帖子

4502

积分

论坛元老

Rank: 8Rank: 8

积分
4502
QQ
8#
 楼主| 发表于 2017-5-7 11:54:08 | 显示全部楼层
彩色笔 发表于 2017-5-7 11:41
版主,由于我申请GOkit3 没成功,现在只能拿其它板来调了,我的是板子是脚位如图。有几个问题想请教下:1、 ...

你这是nodemcu吗?它的flash是1MB的,无法使用的哦,使用ESP8622-12F模块,4MB Flash的,如何修改GPIO参考这个帖子http://club.gizwits.com/thread-5070-1-1.html

点评

就的,我用的是安信可公司的NodeMCU,根据官方网址上提供的,是说有4M闪存空间的。 一会我再询问下客服确认下。[attachimg]11338[/attachimg]  详情 回复 发表于 2017-5-7 14:41
1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息

321

主题

1054

帖子

4502

积分

论坛元老

Rank: 8Rank: 8

积分
4502
QQ
9#
 楼主| 发表于 2017-5-8 14:45:24 来自手机 | 显示全部楼层
彩色笔 发表于 2017-5-7 14:41
就的,我用的是安信可公司的NodeMCU,根据官方网址上提供的,是说有4M闪存空间的。 一会我再询问下客服确 ...

这个不行的,需要用gpio0,你看注释

点评

下面还有一句user can change。呵呵。应该不会规定死了吧。昨天把我的NodeMCU搞坏了,又买了个Gokit3模组,反正这几天我折腾下。应该是可以改变的吧。  详情 回复 发表于 2017-5-9 09:41

321

主题

1054

帖子

4502

积分

论坛元老

Rank: 8Rank: 8

积分
4502
QQ
10#
 楼主| 发表于 2017-5-9 10:38:17 来自手机 | 显示全部楼层
免费使用STM32、APP自动代码生成工具
彩色笔 发表于 2017-5-9 09:41
下面还有一句user can change。呵呵。应该不会规定死了吧。昨天把我的NodeMCU搞坏了,又买了个Gokit3模组 ...

USER can change是灯的数量可改变

321

主题

1054

帖子

4502

积分

论坛元老

Rank: 8Rank: 8

积分
4502
QQ
11#
 楼主| 发表于 2017-5-15 16:03:58 | 显示全部楼层
彩色笔 发表于 2017-5-15 15:43
程序测试了,GPIO0端口不能随意改变。否则无法控制。    驱动程序Adafruit_NeoPixel.c其中有个小错误,函数 ...

那不叫错误哈,移植自Adafruit_NeoPixel,你自己看看源码哈~并不是要每个都变化滴
1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息

321

主题

1054

帖子

4502

积分

论坛元老

Rank: 8Rank: 8

积分
4502
QQ
12#
 楼主| 发表于 2017-7-24 11:09:35 | 显示全部楼层
南陵羽风 发表于 2017-7-24 10:51
这个是不是可以引用到stm32上也能做到这样的效果?

可以的,你论坛搜索看,我发过2个stm32驱动ws2812b的
1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息

321

主题

1054

帖子

4502

积分

论坛元老

Rank: 8Rank: 8

积分
4502
QQ
13#
 楼主| 发表于 2017-8-5 22:50:36 | 显示全部楼层
打酱油的 发表于 2017-8-5 22:44
请问一下亮度调节应该怎么写,还有就是我的APP发送的指令为什么有时候后面几个灯颜色没有改变 ...

控制颜色的函数包含了亮度信息,0~255级,建议你先看看这个灯珠的资料

点评

请来个格式吧,英文不好  详情 回复 发表于 2017-8-5 22:54
1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息

321

主题

1054

帖子

4502

积分

论坛元老

Rank: 8Rank: 8

积分
4502
QQ
14#
 楼主| 发表于 2018-1-5 17:59:26 | 显示全部楼层
魂归汝居 发表于 2018-1-4 10:42
请问不能改变IO脚是什么原因呢,IO0是特殊引脚吗?

是的,不是每个IO有PWM功能的
1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息

321

主题

1054

帖子

4502

积分

论坛元老

Rank: 8Rank: 8

积分
4502
QQ
15#
 楼主| 发表于 2018-1-13 09:50:58 | 显示全部楼层
免费使用STM32、APP自动代码生成工具
炎谍 发表于 2018-1-12 15:27
正需要这个,机智云的APP可以自己改动吗?

可以哦
1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表