收藏官网首页
查看: 35342|回复: 221

[资料] 3分钟教你创建WIFI远程控制应用,图形化编程,自动代码生... ...

 
发表于 2016-9-16 19:19:19 | 显示全部楼层 |阅读模式
免费使用STM32、APP自动代码生成工具
本帖最后由 bigfanofloT 于 2016-10-14 21:25 编辑

版权所有,转载请注明出处http://club.gizwits.com/home.php?mod=space&uid=7261
对,你没有看错!!!3分钟教你创建WIFI远程控制应用,图形化编程,自动代码生成,麻麻再也不用担心我不会编程了,纯傻瓜式开发方式!机智云,物联网智能硬件平台领导者,重新定义智能设备开发
下面以智能灯为例:
请看组图(下面附PDF教程下载):


演示1.png
演示2.png

演示3.png

演示4.png

演示5.png

演示6.png

演示7.png

生成的工程是Keil MDK的,如下点击打开。


演示8.png



演示9.png

若是Keil5打开工程,我们选择迁移packs。Keil4则没有这一步操作。


演示10.png

演示11.png

这里,我们从机智云官网下载gokit V2.1 STM32底板 微信宠物屋源码,把里面的关于底板4颗LED的驱动文件Hal_led.h和Hal_led.c文件拷贝到我们的工程中来,并添加好文件和编译路劲。


演示12.png

下面是关于LEDAPI,在Hal_led.h文件里面;
演示15.png
回到主函数main.c文件,把LED初始化函数放到userInit()里,当然不是必须放这里,为了规范化,建议放这里。


演示14.png

下面添加和LED亮灭控制有关的代码了。


演示16.png

MCU工程弄好后,编译并下载,这里不再赘述。
下面我们去官网下载自动生成的安卓APP测试,当然不只是提供安卓APP。


演示17.png

演示18.png

演示19.png

下载好后打开手机“机智云APP”


11.png

注册帐号登录或者点击跳过
22.png

点击添加设备
33.png

输入你手机连接的路由器的ssid名称和密码,点击下一步

99.png


接下来长按KEY2 2S,我们使用的触发配置入网方式为长按KEY2,AirLink方式,
当然用户可以自定义触发方式和配置方式。

演示20.png


上述步骤完成后在app上“已完成上述操作”打勾,点击下一步。
这里注意,MCU程序里面目前没有RGB LED的驱动,因此忽视测试APP的提示绿灯亮,心里默数3S左右就行,不确定就多按一下。关于这个RGB LED驱动的移植请参考下期教程http://club.gizwits.com/thread-3572-1-1.html
44.png


此时app会发出配置包,并提示正在搜索设备

55.png


连接好后app会返回设备列表界面并显示出该设备

66.png


点击该设备绑定后进入控制页面

77.png

这里给出演示视频:
优酷视频:
腾讯视频:
PDF版教程下载:
游客,如果您要查看本帖隐藏内容请回复
超级简单有木有,so奔走相告吧
如需交流,请在论坛发帖。
附上源代码: LED1_Demo.zip (6.68 MB, 下载次数: 1552)
1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息

3

主题

7

帖子

114

积分

注册会员

Rank: 2

积分
114
发表于 2017-5-25 15:51:43 | 显示全部楼层
..\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

楼主为什么会这样呀!而且会设备配网超时
发表于 2016-10-26 00:54:36 | 显示全部楼层
深夜学习了一下,上面有一点没写上,就是在添加LED_ON(LED)。。,那个文件那里要include "hal_led.h",希望以后多出一点这类型的教程,很详细,很受用,...
我就是我,不一样的烟火;努力努力,永不放弃。

41

主题

55

帖子

766

积分

高级会员

Rank: 4

积分
766
发表于 2016-9-16 19:35:44 | 显示全部楼层
长按K2,进入airLink亮绿灯是微信宠物屋的设计,自助生成的代码是没有亮绿灯的。

点评

请教大家 此处的K2 是单片机的 K2 , 还是wifi模块上面的K2呢 ?  详情 回复 发表于 2018-9-22 10:40
 楼主| 发表于 2016-9-16 19:42:36 | 显示全部楼层
免费使用STM32、APP自动代码生成工具
本帖最后由 bigfanofloT 于 2016-9-16 19:47 编辑
梅达尔多 发表于 2016-9-16 19:35
长按K2,进入airLink亮绿灯是微信宠物屋的设计,自助生成的代码是没有亮绿灯的。 ...

亮绿灯只是一个指示作用,只需要长按KEY2就行了,自动生成的测试APP没有考虑用户添加的指示方式,你看看源代码就明白了,当然你可以自己添加其他的触发方式,指示方式,例如蜂鸣器
1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息
发表于 2016-9-16 22:52:57 | 显示全部楼层
这是哪里不对了

错误提示

错误提示
 楼主| 发表于 2016-9-16 22:57:18 来自手机 | 显示全部楼层
hebmagic 发表于 2016-9-16 22:52
这是哪里不对了

你要添加头文件,把led驱动源文件.h和.c复制到工程目录,并且添加编译路径
发表于 2016-9-17 00:16:55 | 显示全部楼层
够详细,哈哈哈
我就是我,不一样的烟火;努力努力,永不放弃。

20

主题

112

帖子

1623

积分

金牌会员

Rank: 6Rank: 6

积分
1623
发表于 2016-9-17 17:09:22 | 显示全部楼层
支持楼主,想法很好。生成编译代码之后,是否直接在后面提供编译环境下载链接,省得还要到处找编译软件下载。
 楼主| 发表于 2016-9-17 18:07:46 | 显示全部楼层
免费使用STM32、APP自动代码生成工具
jipin 发表于 2016-9-17 17:09
支持楼主,想法很好。生成编译代码之后,是否直接在后面提供编译环境下载链接,省得还要到处找编译软件下载 ...

这个。。。用keil,代码量大了,要和谐,你懂的
1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息

4

主题

12

帖子

158

积分

注册会员

Rank: 2

积分
158
发表于 2016-9-18 19:47:12 | 显示全部楼层
我正好在做这部分  我有看到初始化部分和执行部分 但是单片机抓取数据部分怎么实现 如果有两个开关 他怎么实现开关A对A B对B   我现在下了微型宠物屋的源代码 我希望能多加两个开关就够了,可是我现在依然没搞懂怎么在开辟两路通道(抓取数据,分析数据,执行部分)
 楼主| 发表于 2016-9-18 19:50:12 | 显示全部楼层
pauline 发表于 2016-9-18 19:47
我正好在做这部分  我有看到初始化部分和执行部分 但是单片机抓取数据部分怎么实现 如果有两个开关 他怎么 ...

在官网开发者中心添加2个数据点就可以了,这个例程是1个数据点的,1个数据点作为一个开关。你按照我的例程,采用云端自动生成MCU端Keil MDK工程。
1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息

2

主题

11

帖子

647

积分

高级会员

Rank: 4

积分
647
发表于 2016-9-19 22:40:13 | 显示全部楼层
写的很详细很易懂,辛苦了楼主

4

主题

12

帖子

158

积分

注册会员

Rank: 2

积分
158
发表于 2016-9-20 18:35:55 | 显示全部楼层
如果我的设备从开始之初 原装调试就没连上过airlink之类的方法 全靠直接接入设备的wifi上 这个要怎么解决
 楼主| 发表于 2016-9-20 22:03:07 来自手机 | 显示全部楼层
汉枫LPB120模块
pauline 发表于 2016-9-20 18:35
如果我的设备从开始之初 原装调试就没连上过airlink之类的方法 全靠直接接入设备的wifi上 这个要怎么解决 ...

全靠直接接入设备的wifi上 ??请详细描述一下

3

主题

38

帖子

550

积分

高级会员

Rank: 4

积分
550
发表于 2016-9-22 10:33:31 | 显示全部楼层
本帖最后由 anymax 于 2016-9-22 10:34 编辑

楼主你机智云的ESP8266烧的是哪个固件呢?? es.jpg


0

主题

7

帖子

970

积分

高级会员

Rank: 4

积分
970
发表于 2016-9-23 14:17:23 | 显示全部楼层
顶!d=====( ̄▽ ̄*)b

1

主题

5

帖子

771

积分

高级会员

Rank: 4

积分
771
发表于 2016-9-27 10:30:05 | 显示全部楼层
楼主写的很是详细啊...赞

2

主题

56

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
发表于 2016-9-28 13:56:43 | 显示全部楼层
看看,谢谢分享!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

© 2011-2017 Gizwits ( 粤ICP备11090211号 )

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