3分钟教你创建WIFI远程控制应用,图形化编程,自动代码生... ...
本帖最后由 bigfanofloT 于 2016-10-14 21:25 编辑版权所有,转载请注明出处http://club.gizwits.com/home.php?mod=space&uid=7261对,你没有看错!!!3分钟教你创建WIFI远程控制应用,图形化编程,自动代码生成,麻麻再也不用担心我不会编程了,纯傻瓜式开发方式!机智云,物联网智能硬件平台领导者,重新定义智能设备开发!下面以智能灯为例:请看组图(下面附PDF教程下载):
生成的工程是Keil MDK的,如下点击打开。
若是Keil5打开工程,我们选择迁移packs。Keil4则没有这一步操作。
这里,我们从机智云官网下载Gokit V2.1 STM32底板 微信宠物屋源码,把里面的关于底板4颗LED的驱动文件Hal_led.h和Hal_led.c文件拷贝到我们的工程中来,并添加好文件和编译路劲。
下面是关于LED的API,在Hal_led.h文件里面;
回到主函数main.c文件,把LED初始化函数放到userInit()里,当然不是必须放这里,为了规范化,建议放这里。
下面添加和LED亮灭控制有关的代码了。
MCU工程弄好后,编译并下载,这里不再赘述。下面我们去官网下载自动生成的安卓APP测试,当然不只是提供安卓APP。
下载好后打开手机“机智云APP”
注册帐号登录或者点击跳过
点击添加设备
输入你手机连接的路由器的ssid名称和密码,点击下一步
接下来长按KEY2 2S,我们使用的触发配置入网方式为长按KEY2,AirLink方式,当然用户可以自定义触发方式和配置方式。
上述步骤完成后在app上“已完成上述操作”打勾,点击下一步。这里注意,MCU程序里面目前没有RGB LED的驱动,因此忽视测试APP的提示绿灯亮,心里默数3S左右就行,不确定就多按一下。关于这个RGB LED驱动的移植请参考下期教程http://club.gizwits.com/thread-3572-1-1.html
此时app会发出配置包,并提示正在搜索设备
连接好后app会返回设备列表界面并显示出该设备
点击该设备绑定后进入控制页面
这里给出演示视频:优酷视频:http://v.youku.com/v_show/id_XMTcyNzQxNTkzMg==.html?oldhttp://v.youku.com/v_show/id_XMTcyNzQxNTkzMg==.html腾讯视频:http://static.video.qq.com/TPout.swf?vid=n03304dx3nv&auto=0http://static.video.qq.com/TPout.swf?vid=n03304dx3nv&auto=0PDF版教程下载:**** Hidden Message *****超级简单有木有,so奔走相告吧!如需交流,请在论坛发帖。附上源代码:
用户添加的部分非常少;
..\Gizwits\gizwits_protocol.c(465): warning:#223-D: function "gizGetTimerCount" declared implicitly
gizwitsProtocol.waitAck.sendTime = gizGetTimerCount();
..\Gizwits\gizwits_protocol.c(639): warning:#177-D: variable "lastReportTime" was declared but never referenced
static uint32_t lastReportTime = 0;
..\Gizwits\gizwits_protocol.c(681): warning:#177-D: variable "devStatusTmp" was declared but never referenced
devStatus_t devStatusTmp;//涓存椂璁惧鏁版嵁鐐瑰彉閲? ^
..\Gizwits\gizwits_protocol.c(932): warning:#223-D: function "gizGetTimerCount" declared implicitly
if(0 == (gizGetTimerCount() % (600000)))
..\Gizwits\gizwits_protocol.c(1082): warning:#223-D: function "gizGetTimerCount" declared implicitly
gizwitsProtocol.waitAck.sendTime = gizGetTimerCount();
..\Gizwits\gizwits_protocol.c(1158): warning:#223-D: function "gizGetTimerCount" declared implicitly
if(SEND_MAX_TIME < (gizGetTimerCount() - gizwitsProtocol.waitAck.sendTime))
..\Gizwits\gizwits_protocol.c(1223): warning:#1029-D: __packed ignored for non-pointer parameter
static int32_t gizProtocolErrorCmd(protocolHead_t *head,errorPacketsType_t errno)
..\Gizwits\gizwits_protocol.c(1260): warning:#177-D: variable "ret" was declared but never referenced
int32_t ret = 0;
..\Gizwits\gizwits_protocol.c(1291): warning:#223-D: function "gizGetTimerCount" declared implicitly
uint32_t timeDelay = gizGetTimerCount();
..\Gizwits\gizwits_protocol.c(1700): warning:#223-D: function "gizwitsEventProcess" declared implicitly
gizwitsEventProcess(&gizwitsProtocol.issuedProcessEvent, (uint8_t *)&gizwitsProtocol.gizCurrentDataPoint, sizeof(dataPoint_t));
..\Gizwits\gizwits_protocol.c(1610): warning:#177-D: variable "i" was declared but never referenced
uint16_t i = 0;
..\Gizwits\gizwits_protocol.c(39): warning:#177-D: function "rbDelete" was declared but never referenced
static void rbDelete(rb_t* rb)
..\Gizwits\gizwits_protocol.c(321): warning:#177-D: function "gizY2X" was declared but never referenced
static uint32_t gizY2X(uint32_t ratio, int32_t addition, int32_t preValue)
..\Gizwits\gizwits_protocol.c(340): warning:#177-D: function "gizX2Y" was declared but never referenced
static int32_t gizX2Y(uint32_t ratio, int32_t addition, uint32_t preValue)
..\Gizwits\gizwits_protocol.c(359): warning:#177-D: function "gizY2XFloat" was declared but never referenced
static uint32_t gizY2XFloat(float ratio, float addition, float preValue)
..\Gizwits\gizwits_protocol.c(378): warning:#177-D: function "gizX2YFloat" was declared but never referenced
static float gizX2YFloat(float ratio, float addition, uint32_t preValue)
..\Gizwits\gizwits_protocol.c: 16 warnings, 0 errors
楼主为什么会这样呀!而且会设备配网超时 深夜学习了一下,上面有一点没写上,就是在添加LED_ON(LED)。。,那个文件那里要include "hal_led.h",希望以后多出一点这类型的教程,很详细,很受用,...:lol 长按K2,进入airLink亮绿灯是微信宠物屋的设计,自助生成的代码是没有亮绿灯的。 本帖最后由 bigfanofloT 于 2016-9-16 19:47 编辑
梅达尔多 发表于 2016-9-16 19:35
长按K2,进入airLink亮绿灯是微信宠物屋的设计,自助生成的代码是没有亮绿灯的。 ...
亮绿灯只是一个指示作用,只需要长按KEY2就行了,自动生成的测试APP没有考虑用户添加的指示方式,你看看源代码就明白了,当然你可以自己添加其他的触发方式,指示方式,例如蜂鸣器 这是哪里不对了 hebmagic 发表于 2016-9-16 22:52
这是哪里不对了
你要添加头文件,把led驱动源文件.h和.c复制到工程目录,并且添加编译路径 够详细,哈哈哈:lol:lol:lol 支持楼主,想法很好。生成编译代码之后,是否直接在后面提供编译环境下载链接,省得还要到处找编译软件下载。 jipin 发表于 2016-9-17 17:09
支持楼主,想法很好。生成编译代码之后,是否直接在后面提供编译环境下载链接,省得还要到处找编译软件下载 ...
这个。。。用keil,代码量大了,要和谐,你懂的 我正好在做这部分我有看到初始化部分和执行部分 但是单片机抓取数据部分怎么实现 如果有两个开关 他怎么实现开关A对A B对B 我现在下了微型宠物屋的源代码 我希望能多加两个开关就够了,可是我现在依然没搞懂怎么在开辟两路通道(抓取数据,分析数据,执行部分) pauline 发表于 2016-9-18 19:47
我正好在做这部分我有看到初始化部分和执行部分 但是单片机抓取数据部分怎么实现 如果有两个开关 他怎么 ...
在官网开发者中心添加2个数据点就可以了,这个例程是1个数据点的,1个数据点作为一个开关。你按照我的例程,采用云端自动生成MCU端Keil MDK工程。 写的很详细很易懂,辛苦了楼主 如果我的设备从开始之初 原装调试就没连上过airlink之类的方法 全靠直接接入设备的wifi上 这个要怎么解决 pauline 发表于 2016-9-20 18:35
如果我的设备从开始之初 原装调试就没连上过airlink之类的方法 全靠直接接入设备的wifi上 这个要怎么解决 ...
全靠直接接入设备的wifi上 ??请详细描述一下 本帖最后由 anymax 于 2016-9-22 10:34 编辑
:lol:lol:lol楼主你机智云的ESP8266烧的是哪个固件呢??
顶!d=====( ̄▽ ̄*)b 下来学习! 楼主写的很是详细啊...赞 大赞一个~~~~~~~~~~~~~~~~~~~ 看看,谢谢分享! 赞一个!