【esp8266】从0开始玩转Gokit3 SOC(2)全彩智能灯应用-数值量下发控制

本应用基于 机智云 gokit3 SOC硬件平台,演示了如何通过手机APP下发数值量和枚举值控制一个RGB全彩LED的应用。
分为以下三步:
1.     机智云开发者中心创建产品;
2.     机智云开发者中心生成SOC方案工程;
3.     移植RGB LED驱动,编写用户应用;
首先在机智云开发者中心创建产品:
【esp8266】从0开始玩转Gokit3 SOC(2)全彩智能灯应用-数值量下发控制_第1张图片
【esp8266】从0开始玩转Gokit3 SOC(2)全彩智能灯应用-数值量下发控制_第2张图片
填写好产品信息后新建数据点,我们建立如下数据点:
(注意枚举的LED颜色需要用英文逗号隔开,不能有空格!!!)
【esp8266】从0开始玩转Gokit3 SOC(2)全彩智能灯应用-数值量下发控制_第3张图片 
然后我们在开发向导里面,生成soc工程:
【esp8266】从0开始玩转Gokit3 SOC(2)全彩智能灯应用-数值量下发控制_第4张图片 
【esp8266】从0开始玩转Gokit3 SOC(2)全彩智能灯应用-数值量下发控制_第5张图片 
下载生成的工程,解压后,其目录如下:
【esp8266】从0开始玩转Gokit3 SOC(2)全彩智能灯应用-数值量下发控制_第6张图片 
各个文件作用如下:
【esp8266】从0开始玩转Gokit3 SOC(2)全彩智能灯应用-数值量下发控制_第7张图片 
生成的工程包含了基本的框架,需要用户自己添加驱动和应用逻辑,本例来说就是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
【esp8266】从0开始玩转Gokit3 SOC(2)全彩智能灯应用-数值量下发控制_第8张图片 
解压后找到如下2个RGB LED驱动文件:
【esp8266】从0开始玩转Gokit3 SOC(2)全彩智能灯应用-数值量下发控制_第9张图片 
【esp8266】从0开始玩转Gokit3 SOC(2)全彩智能灯应用-数值量下发控制_第10张图片 
把它们拷贝到生成的工程里面对应位置:
【esp8266】从0开始玩转Gokit3 SOC(2)全彩智能灯应用-数值量下发控制_第11张图片 
【esp8266】从0开始玩转Gokit3 SOC(2)全彩智能灯应用-数值量下发控制_第12张图片 
接下来就是修改生成的工程源码了,我这里使用notepad++文本编辑器修改;
找到..\app\user目录的主函数user_main.c文件,首先添加RGB LED驱动头文件路劲:

【esp8266】从0开始玩转Gokit3 SOC(2)全彩智能灯应用-数值量下发控制_第13张图片 
把RGB LED初始化函数放到void ICACHE_FLASH_ATTR user_init(void)里面:
【esp8266】从0开始玩转Gokit3 SOC(2)全彩智能灯应用-数值量下发控制_第14张图片 
在按键回调函数里面添加如下代码,是为了适应测试APP的提示;
【esp8266】从0开始玩转Gokit3 SOC(2)全彩智能灯应用-数值量下发控制_第15张图片 
找到..\app\Gizwit目录下的gizwits_product.c文件,首先是包含RGB LED驱动头文件:
【esp8266】从0开始玩转Gokit3 SOC(2)全彩智能灯应用-数值量下发控制_第16张图片 
然后在int8_t ICACHE_FLASH_ATTR gizwitsEventProcess(eventInfo_t *info, uint8_t *data, uint32_t len)函数里面添加对手机APP下发枚举颜色变量和颜色数值变量的处理:
【esp8266】从0开始玩转Gokit3 SOC(2)全彩智能灯应用-数值量下发控制_第17张图片 
【esp8266】从0开始玩转Gokit3 SOC(2)全彩智能灯应用-数值量下发控制_第18张图片 
工程修改完毕后,按照教程
http://docs.gizwits.com/zh-cn/de ... BC%80%E5%8F%91.html
搭建开发环境、编译代码、烧录。
视频:

你可能感兴趣的:(esp8266)