4.1 机智云社区提供的esp8266驱动ws2812下载:
机智云社区下载传送门:club.gizwits.com/thread-6116-1-1.html
咳咳!这个机智云社区发现的这个驱动一个缺点是:只能是 gpio0来和灯珠通讯!之后,我和群里的一个小伙伴彭工细聊了下,发现驱动写得有问题,之后,我们整理下,也就兼容全部 io 了。除了 gpio16!!
4.2 整理过后的驱动适配:
根据自己的硬件连接在 ws2812.h适配修改,以下面的gpio12为例!
// gpio口配置
#define WS2812_PIN 12
#define WS2812_FUN FUNC_GPIO12
#define WS2812_MUX PERIPHS_IO_MUX_MTDI_U
#define PIXEL_MAX 24 //灯珠个数
上面提到 不同的厂商驱动的方式顺序有所不一样,如果发现不正确,请修改 ws2812.c下面的宏定义:
具体的修改内容我就不贴了!看源码把!
五、esp8266 工程概述5.1 程序入口:void ICACHE_FLASH_ATTR user_init(void)
{
uint32_t system_free_size = 0;
wifi_station_set_auto_connect(1); //设置自动连接
wifi_set_sleep_type(NONE_SLEEP_T);//不允许睡眠
espconn_tcp_set_max_con(10);
GIZWITS_LOG( "---------------SDK version:%s--------------\n", system_get_sdk_version());
WS2812_Init();
gizwitsInit();
}
5.2 业务处理:代码长注释又多
扫码查看
原理图还有一个按键,我这里 的业务是 长按是 配网模式 ,短按是切换颜色,代码如下:
代码长注释又多
扫码查看
六、安卓工程概述
此章节读懂更需要一定的安卓基础,您可以从机智云自动生成应用下载自动生成的安卓工程,当然了,也可以直接从我打开工程!
官网提供的那个自动生成的安卓工程的控制界面是简陋的,我们需要去修改下控制界面,达到我们的需求!
集成进去的流程需要安卓基础,如果不懂集成流程,可以留言问我!下面是集成好的截图!
其中 GosDeviceControlActivity.java是我们主控制代码。只要你学过安卓基础,这个非常容易上手!下面我只贴这个七彩控件下发的代码:
mMSeekBarColorPicker.setGizwitLight(true);
//设置点击事件回调
mMSeekBarColorPicker.setSeekBarColorPickerChangeListener(new SeekBarColorPicker.SeekBarColorPickerChangeListener() {
@Override
public void onProgressChange(SeekBarColorPicker seekBarColorPicker, int color, String htmlColor) {
data_LED_R = Color.red(color);
data_LED_G = Color.green(color);
data_LED_B = Color.blue(color);
sendRgbCmd(KEY_LED_R, data_LED_R, KEY_LED_G, data_LED_G, KEY_LED_B, data_LED_B);
}
});
编译后,界面就这样了:
当然,如果想让这个智能灯带实现Echo、Google Home等智能音箱控制,也是可以实现的。
http://docs.gizwits.com/zh-cn/UserManual/Google_Home_
gokit.html