bigfanofloT 发表于 2016-12-25 14:16:21

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

本帖最后由 bigfanofloT 于 2016-12-25 14:25 编辑

本应用基于机智云Gokit3 SOC硬件平台,演示了如何通过手机APP下发数值量和枚举值控制一个RGB全彩LED的应用。分为以下三步:1.   机智云开发者中心创建产品;2.   机智云开发者中心生成SOC方案工程;3.   移植RGB LED驱动,编写用户应用;首先在机智云开发者中心创建产品:填写好产品信息后新建数据点,我们建立如下数据点:(注意枚举的LED颜色需要用英文逗号隔开,不能有空格!!!)
然后我们在开发向导里面,生成soc工程:


下载生成的工程,解压后,其目录如下:

各个文件作用如下:

生成的工程包含了基本的框架,需要用户自己添加驱动和应用逻辑,本例来说就是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

解压后找到如下2个RGB LED驱动文件:


把它们拷贝到生成的工程里面对应位置:


接下来就是修改生成的工程源码了,我这里使用notepad++文本编辑器修改;
找到..\app\user目录的主函数user_main.c文件,首先添加RGB LED驱动头文件路劲:


把RGB LED初始化函数放到void ICACHE_FLASH_ATTR user_init(void)里面:

在按键回调函数里面添加如下代码,是为了适应测试APP的提示;

找到..\app\Gizwit目录下的gizwits_product.c文件,首先是包含RGB LED驱动头文件:

然后在int8_t ICACHE_FLASH_ATTR gizwitsEventProcess(eventInfo_t *info, uint8_t *data, uint32_t len)函数里面添加对手机APP下发枚举颜色变量和颜色数值变量的处理:


工程修改完毕后,按照教程
http://docs.gizwits.com/zh-cn/de ... BC%80%E5%8F%91.html
搭建开发环境、编译代码、烧录。
视频:
http://player.youku.com/player.php/sid/XMTg4MjM2Njg2MA==/v.swf
工程文件:**** Hidden Message *****


笛暮 发表于 2017-2-16 21:00:07


为什么在程序里加了这几行代码,编译不能通过呢?
          case LED_COL_VALUE0:
            //user handle
               break;
                  // case LED_COL_VALUE1:
    rgbControl(254,254,0);//huangse
            break;
                  //case LED_COL_VALUE2:
    rgbControl(254,0,70);//zise
                   break;
                           //case LED_COL_VALUE3:
    rgbControl(238,30,30);//feise

编译错误提示我没有定义 LED_COL_VALUE1, LED_COL_VALUE2, LED_COL_VALUE3但是LED_COL_VALUE0没问题。求赐教。

捡垃圾的 发表于 2017-4-27 13:31:28

谢谢分享                                                                                       

凌顺 发表于 2017-1-9 00:35:30

本帖最后由 凌顺 于 2017-1-9 00:36 编辑

跟着步骤
刷写固件是用4M flash 的选项,不知道是否正确呢?

然后刷上去,拨到正常模式,按reset,

长按key2 亮绿灯进入airlink 模式

打开ios app ,能发现设备,显示未绑定

点选绑定,然后一直就停留在等待设备就绪的界面

看回串口是是一直刷这样的信息




后来换了自己用的带SIM卡的手机也是这样

请问怎么解决这个问题?DID在哪里可以设置?

智慧电气 发表于 2016-12-25 17:56:02

等了好久终于等到了今天,梦了好久终于现在,楼主关于SOC模式的教程太少了,等了N年终于见着了,感谢啊

bigfanofloT 发表于 2016-12-25 18:34:39

智慧电气 发表于 2016-12-25 17:56
等了好久终于等到了今天,梦了好久终于现在,楼主关于SOC模式的教程太少了,等了N年终于见着了,感谢啊 ...

感谢您的支持,欢迎关注后续系列

智慧电气 发表于 2016-12-25 20:30:48

请教楼主这两个头文件找不着怎么搞
#include <stdio.h>
#include <string.h>

bigfanofloT 发表于 2016-12-25 21:03:15

智慧电气 发表于 2016-12-25 20:30
请教楼主这两个头文件找不着怎么搞
#include
#include

C标准库的

幽灵ice 发表于 2017-1-1 01:20:22

受益良多,学习中

智慧电气 发表于 2017-1-1 18:33:10

本帖最后由 智慧电气 于 2017-1-1 18:34 编辑

请教一下。固件刷好了能找到设备却不能连接怎么办,可以找些什么原因;
连接成功却无法配置SOC方案

shsxg 发表于 2017-1-2 12:07:39

看看。学习学习。

凌顺 发表于 2017-1-8 00:17:27

大神,请收下我的膝盖

bigfanofloT 发表于 2017-1-9 09:57:09

智慧电气 发表于 2017-1-1 18:33
请教一下。固件刷好了能找到设备却不能连接怎么办,可以找些什么原因;
连接成功却无法配置SOC方案
...

换个手机试试

bigfanofloT 发表于 2017-1-9 09:58:27

凌顺 发表于 2017-1-9 00:35
跟着步骤
刷写固件是用4M flash 的选项,不知道是否正确呢?



esp8266要用4MB flah的模块

凌顺 发表于 2017-1-9 13:32:17

bigfanofloT 发表于 2017-1-9 09:58
esp8266要用4MB flah的模块

后来我选用的32m-c的选项,现在不知道怎么滴又可以绑定了,功能正常,太奇怪了

bigfanofloT 发表于 2017-1-9 14:20:00

凌顺 发表于 2017-1-9 13:32
后来我选用的32m-c的选项,现在不知道怎么滴又可以绑定了,功能正常,太奇怪了 ...

4MB Flash是32Mbit

凌顺 发表于 2017-1-9 15:33:02

问题解决了,原来是烧录软件版本问题

经典智能 发表于 2017-1-12 15:52:03

学习。。。。。。。。。。。。。。。

peter58 发表于 2017-1-16 12:12:11

学习学习

Smilexxy 发表于 2017-1-19 10:25:31

学习了:D:D

Mr.Lee 发表于 2017-2-8 13:53:46

新手一枚,向大家多多学习啊。

modou 发表于 2017-2-16 16:14:50

学习SOC                     
页: [1] 2 3 4 5 6 7 8
查看完整版本: 从0开始玩转Gokit3 SOC(2)全彩智能灯应用-数值量下发控制