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

[开源项目] 机智云宠物屋(基于GOKIT3的SOC模式)

跳转到指定楼层
楼主
发表于 2019-5-29 23:56:22 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
校园创客福利
机智云微信宠物屋教程(SOC模式)
1.注册账户进入开发中中心,点击右上角创建新产品
2.按照如图所示设置好产品参数,每个选项前面问号鼠标移动上去会显示介绍。
3.数据点的创建,为了快速开发宠物屋,此处选择导入方式将机智云实验室的微信宠物屋进行导入。
4.数据点创建完成之后需要生成SOC代码,输入product secret之后点击生成代码包,下载生成的代码到电脑并解压备用。
5.开发环境的准备,此处使用Windows版本的一体化IDE环境,将软件下载解压到非中文目录下,打开IDE程序就可以了,免安装版本。软件下载可到QQ群下载(号码:378683984)
6.打开一体化的IDE软件之后,进行项目的导入,项目导入步骤很重要,导入错误是不能编译的。
1首先在左侧空白右键单击,选择import导入项目
2选择Makefile项目之后NEXT(不要选错)
3选择项目所在的路径,记住一定要选择项目的根目录,选择错误不能编译,然后选择Cycwin GCC编译器,选错了也不能编译,然后点击finish完成项目的导入。
7.首先修改项目的编译信息,打开根目录下Makefile文件,找到
将其替换成
BOOT?=new
APP?=1
SPI_SPEED?=40
SPI_MODE?=QIO
SPI_SIZE_MAP?=6
此处修改对应的是32Mbit的flash,比如ESP12F,ESP12E之类的,gokit3采用的是ESP12F,修改了之后保存文件,接下来我们要移植驱动程序,首先,要确定Gokit3的GPIO使用情况,
GPIO5----DHT11
GPIO4----RGB_DIN
GPIO0----KEY1
GPIO14---KEY2
GPIO16---红外对管
8.我们到机智云下载中心下载驱动文件,下载地址:http://gizwits.oss.aliyuncs.com/hardware_resource/GoKit_SoC_ESP8266_V03000003测试固件及开发资源2017072815.zip,接下来我们要将驱动文件添加到项目里面去。
1将驱动库代码目录下的“.c”驱动文件拷贝到 SOC_esp8266_source\app\driver 目录下
2将驱动库代码目录下的“.h”驱动文件拷贝到SOC_ESP8266_source\app\include\driver目录下
9.添加完毕之后在项目里面进行文件的刷新,到此就将驱动文件导入到项目里面了
10.接下来我们要进行代码的修改:
1在代码中添加相应的函数调用,首先在在SOC_ESP8266_source\app\user\user_main.c 文件中添加各驱动库的头文件。
//新增的头文件
#include "driver/hal_infrared.h"
#include "driver/hal_motor.h"
#include "driver/hal_rgb_led.h"
#include "driver/hal_temp_hum.h"
在该文件文件的LOCAL void ICACHE_FLASH_ATTRkeyInit(void)函数中添加各sensor的初始化。
   //新增的各sensor的初始化
   ///< 新添加代码: RGB LED初始化
   rgbGpioInit();
   rgbLedInit();
   ///< 新添加代码: 电机初始化
   motorInit();
   motorControl(0);
   ///< 新添加代码: 温湿度初始化
   dh11Init();
   ///< 新添加代码: 红外初始化
   irInit();
在该文件的key2ShortPress( )函数与key2LongPress( )函数中添加长/短按key2时的LED点亮代码

2在SoC_ESP8266_32M_source\app\Gizwits\gizwits_product.c 文件开头添加
#define USER_TIME_MS 100 ///< 新添加代码: 更改定时器间隔为100ms
#define TH_TIMEOUT (1000 / USER_TIME_MS)///< 新添加代码: 温湿度采集间隔为1S(1000ms)
#define INF_TIMEOUT (500 / USER_TIME_MS)///< 新添加代码: 红外采集间隔为500ms
在该文件的userHandle( )函数中添加只读型传感器数据点相关的代码
uint8_t ret = 0;
uint8_t curTemperature = 0;
uint8_t curHumidity = 0;
uint8_t curIr = 0;
static uint8_t thCtime = 0;
static uint8_t irCtime = 0;
thCtime++;
irCtime++;
///< 新添加代码: 红外传感器数据获取
if(INF_TIMEOUT < irCtime)
{
irCtime = 0;
curIr = irUpdateStatus();
currentDataPoint.valueInfrared = curIr;
}
///< 新添加代码: 温湿度传感器数据获取
if(TH_TIMEOUT < thCtime)
{
thCtime = 0;
ret = dh11Read(&curTemperature,&curHumidity);
if(0 == ret)
{
currentDataPoint.valueTemperature =curTemperature;
currentDataPoint.valueHumidity =curHumidity;
}
else
{
GIZWITS_LOG ("@@@@ dh11Read error !\n");
}
}
在该文件的gizwitsEventProcess( )函数中添加可写型传感器数据点相关的代码
rgbControl(254,0, 0); ///< 新添加代码: 对应开启红灯
rgbControl(0,0, 0); ///< 新添加代码: 对应关闭红灯
rgbControl(currentDataPoint.valueLED_R,currentDataPoint.valueLED_G,currentDataPoint.valueLED_B);///<新添加代码: 对应设置LED组合色
rgbControl(254,254, 0); ///< 新添加代码: 对应LED组合颜色‐黄色
rgbControl(254,0, 70); ///< 新添加代码: 对应LED组合颜色‐紫色
rgbControl(238,30, 30); ///< 新添加代码: 对应LED组合颜色‐粉色
rgbControl(currentDataPoint.valueLED_R,currentDataPoint.valueLED_G,currentDataPoint.valueLED_B);///<新添加代码: 对应设置LED组合色  rgbControl(currentDataPoint.valueLED_R,currentDataPoint.valueLED_G,currentDataPoint.valueLED_B);///<新添加代码: 对应设置LED组合色        rgbControl(currentDataPoint.valueLED_R,currentDataPoint.valueLED_G,currentDataPoint.valueLED_B);///<新添加代码: 对应设置LED组合色
motorControl(currentDataPoint.valueMotor_Speed);///<新添加代码: 对应设定电机转速
设置连接路由器关闭RGB
rgbControl(0, 0, 0); ///< 新添加代码: 连接路由后关闭LED灯
到此所有的驱动程序就已经移植完成了。
11.右键点击项目,选择编译代码
编译成功后如图所示
12. 将代码下载到GOKIT,此处我只截图下载软件的页面设置,请务必按照截图所示下载程序到ESP8266,如果在下载程序之前不知道之前下了什么程序,建议清空一下内存,在下载模式下点击下载器的ERASE,清除之后在进行程序的下载,GOKIT3如何进入下载模式请参考第13点内容
15.到此整个SOC宠物屋移植教程到此结束,如有不懂,先看资料和看教程,实在不懂得联系我(15120205205微信电话QQ同号)
代码以及相关文档.zip (311 Bytes, 下载次数: 157)

发烧友

0

主题

9

帖子

21

积分

新手上路

Rank: 1

积分
21
沙发
发表于 2019-5-31 00:15:36 | 只看该作者
或许是一阵风雨的洗礼,才使得心与心之间的碰撞更为清脆响亮,更为精彩晶莹绚丽。

0

主题

17

帖子

629

积分

高级会员

Rank: 4

积分
629
板凳
发表于 2019-10-12 12:40:48 | 只看该作者
不错不错,支持。
stm32资料
硬氪网-硬件工程师必上网站之一

0

主题

5

帖子

26

积分

新手上路

Rank: 1

积分
26
地板
发表于 2020-3-11 21:12:57 | 只看该作者
过来学习的

0

主题

11

帖子

176

积分

注册会员

Rank: 2

积分
176
5#
发表于 2021-5-20 20:44:28 | 只看该作者
汉枫LPB120模块
一模一样做的,两个错误
cannot find -lhal        SoC_ESP8266_32M_source                         C/C++ Problem
  
make: ** [../Makefile:363: .output/eagle/debug/image/eagle.app.v6.out] Error 1        SoC_ESP8266_32M_source                         C/C++ Problem


0

主题

8

帖子

59

积分

注册会员

Rank: 2

积分
59
6#
发表于 2021-6-25 19:12:57 | 只看该作者
不错不错,支持
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

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

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