收藏官网首页
查看: 35659|回复: 5

[经验分享] 机智云Gokit3 SOC方案教程 从无到有 看我就够了

1

主题

4

帖子

120

积分

注册会员

Rank: 2

积分
120
跳转到指定楼层
楼主
发表于 2017-6-20 17:58:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
校园创客福利
本帖最后由 机智少年 于 2017-6-21 09:31 编辑


(环境+源码改写+编译+烧录+iOS+Android+按键实时反馈)

从接触机智云gokit一步一坑,大坑套小坑也算挺过来了,把遇到的问题和经验分享给大家,帮助新人少走一些弯路。

一、环境搭建
1.下载安装eclipse一体化开发环境
下载地址:http://pan.baidu.com/s/1skRvR1j
安装完毕之后去官方下载微信宠物屋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
  1. /**@name Product Key (产品标识码)
  2. * @{
  3. */
  4. #define PRODUCT_KEY "xxxxxxxxxxxxxxxxxxxxxxx"
复制代码

然后我们要实现按键APP实时反馈状态
我们以key1键为例 在user_main.c文件修改key1ShortPress
  1. LOCAL void ICACHE_FLASH_ATTR key1ShortPress(void)
  2. {
  3.     os_printf("#### KEY1 short press ,Production Mode\n");
  4. //判断当前LED状态取反赋值
  5.     if(0x01 == currentDataPoint.valueLED_OnOff)
  6.     {
  7.            rgbControl(0, 0, 0);
  8.     }
  9.     else
  10.     {
  11.            rgbControl(254, 0, 0);
  12.     }
  13.     currentDataPoint.valueLED_OnOff = !currentDataPoint.valueLED_OnOff;
  14. }
复制代码

gizwitsEventProcess()驱动外设执行事件函数
根据数据点执行相应逻辑

  1. int8_t ICACHE_FLASH_ATTR gizwitsEventProcess(eventInfo_t *info, uint8_t *data, uint32_t len)
复制代码



实际效果:

soc.gif





0

主题

3

帖子

112

积分

注册会员

Rank: 2

积分
112
板凳
发表于 2017-6-21 12:00:46 | 只看该作者
第一步先修改Gizwits目录下的gizwits_protocol.h里的PRODUCT_KEY
这个PRODUCT_KEY怎么来?

7

主题

92

帖子

1587

积分

金牌会员

Rank: 6Rank: 6

积分
1587
5#
发表于 2017-6-23 13:50:06 | 只看该作者
汉枫LPB120模块
看了一下,就是烧录了一个源代码,而且大部分内容都在开发者中心的文档中心里面有。有什么好分享的?

0

主题

3

帖子

112

积分

注册会员

Rank: 2

积分
112
6#
发表于 2017-6-24 16:29:51 | 只看该作者
注释都是乱码啊,源码在哪里
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表