前言
前言:本文描述了如何仅使用一片 ESP8266 的 1 个 GPIO 驱动 WS2812B 型全彩 RGB LED, 底层驱动参考了 https://github.com/cnlohr/ws2812esp8266,驱动程序还移植Adafruit_NeoPixel 的应用库,可实现多种常用特效。在此基础上还连接到了机智云物联网平台,利用其强大的代码自动生成工具,
视频:http://player.youku.com/player.php/sid/XMjc0MDM3NTE4MA==/v.swf
具体步骤
Step1:在开发者中心新建产品;
Step2:添加数据点,可使用微信宠物屋 Demo 模板导入,删除不需要的即可;
Step3:在 MCU 开发栏目选择 SoC 方案生成代码 SDK;
Step4: 下载通用版本调试 APP,支持安卓和 IOS:
http://dev.gizwits.com/zh-cn/developer/resource/demo_app?protoc=WIFI
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 文件,然后做如下修改; 首先添加头文件:
我们此次使用的是 Gokit3 SoC 开发板,由于驱动 LED 的 GPIO 是 GPIO0(Gokit3 SoC 开发 板上对应 D6),而生成的代码包默认使用了 GPIO0 连接到了 Gokit3 SoC 版的按键 key1, 因此把按键 1 相关删除,一般不需要使用产测功能,若自己使用 esp8266-12f 搭建最小系 统,可保留此功能:
然后在主函数里面调用 LED 的初始化:
Step7:打开目录 SoC_ESP8266_WS2812B_SmartLEDs\app\Gizwits 下的 gizwits_product.c 文 件;
首先添加头文件:
然后在有 user handle 注释的地方添加用户代码: 如下是 ESP8266 接收到手机 APP 指令后执行的动作;
源码开发环境搭建,固件烧录教程查看:
http://docs.gizwits.com/zh- cn/deviceDev/WiFiSOC/GoKit3S%E4%BA%8C%E6%AC%A1%E5%BC%80%E5%8F%91.html
工程源码:https://github.com/DengQilong/ESP8266_WS2812B_SmartLamp
本文出处:http://club.gizwits.com/thread-6116-1-1.html
相关推荐:
机智云开发者:www.gizwits.com
机智云开发者社区:club.gizwits.com
QQ技术交流群:378683984
官方淘宝店:http://shop159680395.taobao.com/index.htm
客服电话/微信:18002215823
扫一扫,开启您的IoT开发之旅