标题:
使用ESP8266驱动WS2812B型RGB LED简单3步打造智能灯
[打印本页]
作者:
z3512641347
时间:
2017-5-4 18:31
标题:
使用ESP8266驱动WS2812B型RGB LED简单3步打造智能灯
这个智能灯方案很不错,只用了一个无线WIFI esp8266芯片,驱动ws2812b型RGB LED,效果很赞,在群里看到的,特分享下,若是侵犯了版权,联系我删除就行了~
实物图.png
(854.94 KB, 下载次数: 206)
下载附件
2017-5-4 18:31 上传
0.png
(48.43 KB, 下载次数: 196)
下载附件
2017-5-4 18:53 上传
1.源码编译方式
1. cd app/
2. ./gen_misc.sh
2.库编译方式
1. 先用源码编译方式,生成libgagent.a 库路径为:"app/gagent/.output/eagle/debug/lib"
2. cp app/gagent/.output/eagle/debug/lib/libgagent.a ../lib/
3. mv makefile makefile_src
4. mv makefile_lib makefile
5. ./gen_misc.sh
3.烧录固件
esp_init_data_default.bin 0x3fc000
blank.bin 0x3fe000
boot_v1.6.bin 0x00000
user1.4096.new.6.bin 0x01000
选项:CrystalFreq=26M SPI_SPEED=40MHz SPI_MODE=QIO FLASH_SIZE=32Mbit-C1, 其他默认,串口115200
进入uart烧录模式后,点击start下载即可!
4.OTA测试
OTA固件版本号位置:gizwits_product.h
#define SDK_VERSION "02" //OTA固件版本号 必须为两位数
MAC:
查看云端产品管理->运行状态->在线设备详情->设备MAC
注意:
1.编译固件时的Makefile与烧录工具的设置:
"FLASH SIZE" : 32Mbit-C1
"SPI MODE" : QIO
2.推送的“OTA固件版本号”必须大于正工作的软件版本。
3.固件类型:WiFi 推送方式:v4.1
/**
************************************************************
* @file user_main.c
* @brief SOC版 入口文件
* @author Gizwits
* @date 2016-09-05
* @version V03010201
* @copyright Gizwits
*
* @note 机智云.只为智能硬件而生
* Gizwits Smart Cloud for Smart Products
* 链接|增值ֵ|开放|中立|安全|自有|自由|生态
* www.gizwits.com
*
***********************************************************/
#include "ets_sys.h"
#include "osapi.h"
#include "user_interface.h"
#include "gagent_soc.h"
#include "user_devicefind.h"
#include "user_webserver.h"
#include "gizwits_protocol.h"
#include "driver/hal_key.h"
#include "driver/Adafruit_NeoPixel.h"
#if ESP_PLATFORM
#include "user_esp_platform.h"
#endif
#ifdef SERVER_SSL_ENABLE
#include "ssl/cert.h"
#include "ssl/private_key.h"
#else
#ifdef CLIENT_SSL_ENABLE
unsigned char *default_certificate;
unsigned int default_certificate_len = 0;
unsigned char *default_private_key;
unsigned int default_private_key_len = 0;
#endif
#endif
/**@name Gizwits模块相关系统任务参数
* @{
*/
#define userQueueLen 200 ///< 消息队列总长度
LOCAL os_event_t userTaskQueue[userQueueLen]; ///< 消息队列
/**@} */
/**@name 用户定时器相关参数
* @{
*/
#define USER_TIME_MS 1000 ///< 定时时间,单位:毫秒
LOCAL os_timer_t userTimer; ///< 用户定时器结构体
/**@} */
/**@name 按键相关定义
* @{
*/
#define GPIO_KEY_NUM 1 ///< 定义按键成员总数
#define KEY_1_IO_MUX PERIPHS_IO_MUX_MTMS_U ///< ESP8266 GPIO 功能
#define KEY_1_IO_NUM 14 ///< ESP8266 GPIO 编号
#define KEY_1_IO_FUNC FUNC_GPIO14 ///< ESP8266 GPIO 名称
LOCAL key_typedef_t * singleKey[GPIO_KEY_NUM]; ///< 定义单个按键成员数组指针
LOCAL keys_typedef_t keys; ///< 定义总的按键模块结构体指针
/**@} */
/** 用户区当前设备状态结构体*/
dataPoint_t currentDataPoint;
/**
* key2按键短按处理
* @param none
* @return none
*/
LOCAL void ICACHE_FLASH_ATTR key2ShortPress(void)
{
os_printf("#### key2 short press, soft ap mode \n");
gizwitsSetMode(WIFI_SOFTAP_MODE);
}
/**
* key2按键长按处理
* @param none
* @return none
*/
LOCAL void ICACHE_FLASH_ATTR key2LongPress(void)
{
os_printf("#### key2 long press, airlink mode\n");
gizwitsSetMode(WIFI_AIRLINK_MODE);
}
/**
* 按键初始化
* @param none
* @return none
*/
LOCAL void ICACHE_FLASH_ATTR keyInit(void)
{
singleKey[0] = keyInitOne(KEY_1_IO_NUM, KEY_1_IO_MUX, KEY_1_IO_FUNC,
key2LongPress, key2ShortPress);
keys.singleKey = singleKey;
keyParaInit(&keys);
}
/**
* 用户数据获取
* 此处需要用户实现除可写数据点之外所有传感器数据的采集,可自行定义采集频率和设计数据过滤算法
* @param none
* @return none
*/
void ICACHE_FLASH_ATTR userTimerFunc(void)
{
/*
*/
//setAllPixelColor(0,50,0);
system_os_post(USER_TASK_PRIO_0, SIG_UPGRADE_DATA, 0);
}
/**
* @brief 用户相关系统事件回调函数
* 在该函数中用户可添加相应事件的处理
* @param none
* @return none
*/
void ICACHE_FLASH_ATTR gizwitsUserTask(os_event_t * events)
{
uint8_t i = 0;
uint8_t vchar = 0;
if(NULL == events)
{
os_printf("!!! gizwitsUserTask Error \n");
}
vchar = (uint8)(events->par);
switch(events->sig)
{
case SIG_UPGRADE_DATA:
gizwitsHandle((dataPoint_t *)¤tDataPoint);
break;
default:
os_printf("---error sig! ---\n");
break;
}
}
/**
* @brief user_rf_cal_sector_set
* 用flash中的636扇区(2544k~2548k)存储RF_CAL参数
* @param none
* @return none
*/
uint32 user_rf_cal_sector_set()
{
return 636;
}
/**
* @brief 程序入口函数
* 在该函数中完成用户相关的初始化
* @param none
* @return none
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
全部资料下载:
SoC_ESP8266_WS2812B_SmartLEDs.zip
(8.96 MB, 下载次数: 406)
2017-5-4 18:31 上传
点击文件名下载附件
下载积分: 黑币 -5
使用ESP8266驱动WS2812B型RGB LED简单3步打造智能灯.pdf
(1.2 MB, 下载次数: 348)
2017-5-4 18:31 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
343013685
时间:
2017-5-25 10:52
不错!!!!
作者:
cnc2020
时间:
2017-9-29 21:40
good job
作者:
梁光阳
时间:
2017-10-6 00:04
楼主给个联系方式,学习一下
作者:
GUOXUAN
时间:
2017-11-26 15:31
楼主不辞劳苦贴出ESP8266的控制原理和源代码,这才是51HEI的真正好老师!
作者:
John.peng
时间:
2018-1-29 13:52
可以可以,下载下来学习学习
作者:
小鸡炖蘑菇
时间:
2018-2-13 16:48
谢谢大佬分享
作者:
qjzyx
时间:
2018-2-13 20:42
谢谢分享!
作者:
yuri_su
时间:
2018-2-24 23:06
不错,正好手头上有几片8266
作者:
agriculture
时间:
2018-3-21 09:17
谢谢分享!
作者:
cpfmly
时间:
2018-4-23 14:22
不错,可以做个WiFIPOV
作者:
jnq7728
时间:
2018-5-4 16:01
感谢,正在学全彩灯
作者:
beta5
时间:
2018-5-30 14:46
已下载币就不足了。
作者:
leewj129
时间:
2018-6-5 14:47
支持楼主,我想下载
作者:
小易
时间:
2018-6-21 13:39
看看这个原理图, 学习学习
作者:
zhc521
时间:
2018-8-1 15:10
谢谢分享
作者:
leixingmin
时间:
2018-9-11 14:03
赞一个
作者:
kxxxxc
时间:
2018-10-17 23:12
膜拜大佬
作者:
大飞0011
时间:
2018-10-25 08:05
1. cd app/
2. ./gen_misc.sh
2.库编译方式
1. 先用源码编译方式,生成libgagent.a 库路径为:"app/gagent/.output/eagle/debug/lib"
2. cp app/gagent/.output/eagle/debug/lib/libgagent.a ../lib/
3. mv makefile makefile_src
4. mv makefile_lib makefile
5. ./gen_misc.sh
这个命令在哪里输入啊,自带的tools 有个exe文件是干嘛的,打开后会有个命令窗口
作者:
shenyoufu
时间:
2018-12-7 14:13
支持楼主,感谢!
作者:
A7190050
时间:
2018-12-30 10:36
不错,试试
作者:
zxq9781
时间:
2019-1-6 22:50
支持楼主,感谢!
作者:
penglianwei111
时间:
2019-1-27 17:09
很不不粗啊,下载
作者:
tanhailong
时间:
2019-2-25 10:15
楼主 你好 你这个源码包里面 没有gagent得源码呀,你这么有这个源码吗?
作者:
liuyongliuyong
时间:
2019-3-28 23:12
正好需要,谢谢分享
作者:
烟草我爱
时间:
2019-11-7 22:13
感谢分享 正在学习中
作者:
a1208082536
时间:
2020-2-26 21:01
能让灯亮了
作者:
pkwong
时间:
2020-3-7 16:31
谢谢,学习一下
作者:
cclddk
时间:
2020-3-21 23:42
感谢分享,太棒了
作者:
大力水手吃菠菜
时间:
2020-4-23 18:50
楼主辛苦了,好资料
作者:
pkwong
时间:
2020-4-24 21:19
先学习一下!谢谢
作者:
tangystt
时间:
2020-4-27 15:21
正学习呢,下载
作者:
tangystt
时间:
2020-4-27 15:21
感谢分享 正在学习中
作者:
dilongking
时间:
2020-9-3 15:21
感谢 了。找这都找太久了,差点就忘记了
作者:
554023347
时间:
2020-11-1 14:55
使用ESP8266驱动WS2812B型RGB LED简单3步打造智能灯
http://www.51hei.com/bbs/dpj-83580-1.html
(出处:
http://www.51hei.com/bbs/
)
作者:
suoguocs
时间:
2022-1-17 09:07
谢谢使用ESP8266驱动WS2812B型RGB LED简单3步打造智能灯
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1