本帖最后由 机智少年 于 2017-6-21 09:31 编辑
(环境+源码改写+编译+烧录+iOS+Android+按键实时反馈)
从接触机智云gokit一步一坑,大坑套小坑也算挺过来了,把遇到的问题和经验分享给大家,帮助新人少走一些弯路。
一、环境搭建安装完毕之后去官方下载微信宠物屋for GoKit3(S) esp8266源码
Paste_Image.png
Import导入soc源码
Paste_Image.png
Paste_Image.png
Paste_Image.png
需要修改makefile文件配置才能编译成功 BOOT?=newAPP?=1
SPI_SPEED?=40
SPI_MODE?=QIO
SPI_SIZE_MAP?=6
Paste_Image.png
二、GoKit3开发套件1、GoKit3(S) - SoC版(乐鑫模组(GoKit3转接板)+底板+GoKit3功能板)
2、GoKit3玩法
根据使用方式不同可分MCU版和SOC版两大类
(了解SoC与MCU的区别),每个类型又分不同方式的玩法。 2.1、MCU版
MCU版的玩法与GoKit2一样,采用底板+扩展板+模组的方式(如上图所示)。 2.2、SOC版
模组+扩展版为SOC版本不需要底板。
Paste_Image.png
2.3、模组组装时分为俩种模式(有坑不要插错了) MCU模式SOC模式三、烧录选项配置1. 前三个 ‘.bin’ 文件都在\bin 目录下,选择对应的名称的 ‘.bin’文件即可。最后一个.bin 文件默认为SOC版固件:user1.4096.new.6.bin位置:\bin\upgrade\user1.4096.new.6.bin
Paste_Image.png
2.GoKit套件SOC版烧录模式接法(有坑不要接错了) 需要注意RX TX接法GND接GNDRX接TXTX接RX
IMG_20170615_173535.jpg
将拨码开关设为程序烧录模式(下拨位置)
设备管理器选择com口 设置波特率
Paste_Image.png
Paste_Image.png
相继按下烧录工具的“START”键与WiFi模组的“Reset”键,开始烧录程序:
若显示“完成”及烧录成功 四、源码改写只需要关心文件路径为“GizLamp\app”下面的几个地方:如果你需要添加8266的外设,只需要在“GizLamp\app\driver”文件目录下添加相应外设的驱动的.c文件“GizLamp\app\include\driver”文件目录下添加相应外设的驱动的.h文件App通过云端下发控制事件处理,可以在“GizLamp\app\Gizwits”文件目录下“gizwits_product.c”文件里面的“gizwitsEventProcess()函数里添加驱动外设执行事件函数即可实现控制设备上报云端状态事件处理,可以在“GizLamp\app\user”文件目录下“user_main.c”文件里面的“userTimerFunc()”函数里添加数据状态上报函数即可以实现状态上报。
第一步先修改Gizwits目录下的gizwits_protocol.h里的PRODUCT_KEY - /**@name Product Key (产品标识码)
- * @{
- */
- #define PRODUCT_KEY "xxxxxxxxxxxxxxxxxxxxxxx"
复制代码
然后我们要实现按键APP实时反馈状态
我们以key1键为例 在user_main.c文件修改key1ShortPress - LOCAL void ICACHE_FLASH_ATTR key1ShortPress(void)
- {
- os_printf("#### KEY1 short press ,Production Mode\n");
- //判断当前LED状态取反赋值
- if(0x01 == currentDataPoint.valueLED_OnOff)
- {
- rgbControl(0, 0, 0);
- }
- else
- {
- rgbControl(254, 0, 0);
- }
- currentDataPoint.valueLED_OnOff = !currentDataPoint.valueLED_OnOff;
- }
复制代码
gizwitsEventProcess()驱动外设执行事件函数 根据数据点执行相应逻辑
- int8_t ICACHE_FLASH_ATTR gizwitsEventProcess(eventInfo_t *info, uint8_t *data, uint32_t len)
复制代码
实际效果:
soc.gif
|