分为以下三步:
1. 机智云开发者中心创建产品;
2. 机智云开发者中心生成SOC方案工程;
3. 移植RGB LED驱动,编写用户应用;
首先在机智云开发者中心创建产品:
![](https://i-blog.csdnimg.cn/blog_migrate/296d7e580b46f9403ba6eb2631ea42b8.png)
![](https://i-blog.csdnimg.cn/blog_migrate/51bdca2a79219dfdc7c467b72c4c0fab.png)
填写好产品信息后新建数据点,我们建立如下数据点:
(注意枚举的LED颜色需要用英文逗号隔开,不能有空格!!!)
![](https://i-blog.csdnimg.cn/blog_migrate/df7ca4960442813461d08b3f50447b0f.png)
然后我们在开发向导里面,生成soc工程:
![](https://i-blog.csdnimg.cn/blog_migrate/599442515dea29a11766440b2fccd564.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0dd9f6c6eb6978930038e807e303bee1.png)
下载生成的工程,解压后,其目录如下:
![](https://i-blog.csdnimg.cn/blog_migrate/7a70692b74c8b7e9d75dcabf6eb97743.png)
各个文件作用如下:
![](https://i-blog.csdnimg.cn/blog_migrate/b8970bd08be903c2a1c62821cae5ce67.png)
生成的工程包含了基本的框架,需要用户自己添加驱动和应用逻辑,本例来说就是RGB LED的底层驱动和应用,生成的工程文件夹名太长,为了方便改为soc_ esp8266 _RGBLED。
这里,我们从机智云官网下载Gokit3 SOC微信宠物屋源码,把里面的关于底板RGB5050 全彩LED的驱动文件hal_rgb_led.h和hal_rgb_led.c文件拷贝到我们的工程中来。
下载源码:
http://dev.gizwits.com/zh-cn/dev ... hardware?type=GoKit
![](https://i-blog.csdnimg.cn/blog_migrate/728a040681edfd0db0def68bda50f32d.png)
解压后找到如下2个RGB LED驱动文件:
![](https://i-blog.csdnimg.cn/blog_migrate/a4ec4a39fb8585b1f80f51a79723646c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/941905f3b3d8b5ca2b3a21a27074fbde.png)
把它们拷贝到生成的工程里面对应位置:
![](https://i-blog.csdnimg.cn/blog_migrate/80ad2bb9e8f6a1a10668051f71ab10ae.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d94d6fc7f5e5be9295ae4e6f43f10271.png)
接下来就是修改生成的工程源码了,我这里使用notepad++文本编辑器修改;
找到..\app\user目录的主函数user_main.c文件,首先添加RGB LED驱动头文件路劲:
![](https://i-blog.csdnimg.cn/blog_migrate/ecc694c1e3a6645624d4bdfe2f37015e.png)
把RGB LED初始化函数放到void ICACHE_FLASH_ATTR user_init(void)里面:
![](https://i-blog.csdnimg.cn/blog_migrate/18e6acf22ba9d9a69208336448e7dea4.png)
在按键回调函数里面添加如下代码,是为了适应测试APP的提示;
![](https://i-blog.csdnimg.cn/blog_migrate/1ceea1ed80879e3c9fb6218838722363.png)
找到..\app\Gizwit目录下的gizwits_product.c文件,首先是包含RGB LED驱动头文件:
![](https://i-blog.csdnimg.cn/blog_migrate/b172a4bec89b806c490e71f31c580480.png)
然后在int8_t ICACHE_FLASH_ATTR gizwitsEventProcess(eventInfo_t *info, uint8_t *data, uint32_t len)函数里面添加对手机APP下发枚举颜色变量和颜色数值变量的处理:
![](https://i-blog.csdnimg.cn/blog_migrate/b3f9d7d261a7d00648ce7880be785836.png)
![](https://i-blog.csdnimg.cn/blog_migrate/faa3e70321cd535d7a8113467d030b35.png)
工程修改完毕后,按照教程
http://docs.gizwits.com/zh-cn/de ... BC%80%E5%8F%91.html
搭建开发环境、编译代码、烧录。
视频: