bigfanofloT 发表于 2016-9-21 19:34:46

3分钟教你创建手机APP控制全彩智能灯泡应用,图形化编程!

本帖最后由 bigfanofloT 于 2016-9-22 22:33 编辑

版权所有,转载请注明出处http://club.gizwits.com/home.php?mod=space&uid=7261对,你没有看错!!!3分钟教你创建手机APP控制全彩智能灯泡应用,图形化编程,自动代码生成,麻麻再也不用担心我不会编程了,纯傻瓜式开发方式!机智云,物联网智能硬件平台领导者,重新定义智能设备开发!       本应用基于机智云GokitV2.1硬件平台,演示了如何通过手机APP下发数值量和枚举值控制一个RGB全彩LED的应用。请看组图(后面附PDF版教程和源码下载):
首先在机智云开发者中心创建产品。填写好产品信息后新建数据点。
我们建立如下数据点。
注意枚举的LED颜色需要用英文逗号隔开,不能有空格!!!然后我们在开发向导里面,生成STM32工程。有关新建产品、建立数据点、生成单片机工程等步骤这里不再赘述,不明白的请参考前期教程:1.3分钟教你创建WIFI远程控制应用:http://club.gizwits.com/thread-3546-1-1.html2. 3分钟教你创建手机APP远程温度监控应用:http://club.gizwits.com/thread-3550-1-1.html
下载生成的STM32工程并解压,生成的工程是Keil MDK的,如下点击打开。
若是Keil5打开工程,我们选择迁移packs。Keil4则没有这一步操作。

这里,我们从机智云官网下载Gokit V2.1 STM32底板 微信宠物屋源码,把里面的关于底板RGB5050 全彩LED的驱动文件Hal_rgb.h和Hal_rgb.c文件拷贝到我们的工程中来,并添加好文件和编译路劲。这里我把delay.c和delay.h也添加进来,以备使用(实际上没有使用到~~)。关于这些驱动文件可以在机智云官网下载或者参考前期教程。
Main.c包含了RGB驱动头文件。回到主函数main.c文件,把RGB初始化函数放到userInit()里,当然不是必须放这里,为了规范化,建议放这里。
下面添加和RGB颜色控制有关的代码了,在gizwits_product.c里面。
首先是包含RGB驱动头文件。
这里是对于手机APP下发枚举颜色变量的处理,需要用户添加相关的处理函数。这些枚举变量是在这里定义的(云端自动生成的):看到这里,我们可以回头看看前面云端定义的枚举颜色变量数据点。
接下来是手机APP下发数值量的处理:MCU工程弄好后,编译并下载,这里不再赘述,不清楚的参考前期教程。
下面我们去官网下载自动生成的安卓APP测试,当然不只是提供安卓APP。
关于手机APP连接路由器的教程这里不再赘述,请参考前期教程。
同样我们使用的触发配置入网方式为长按KEY2,为了配合生成的测试APP的入网提示,这里添加了RGB LED作为指示灯。我们采用的是AirLink方式,当然用户可以自定义触发方式和配置方式。
一切就绪后打开串口助手可以看到日志:
这里给出演示视频:优酷链接:http://v.youku.com/v_show/id_XMTczMzEwOTY0NA==.html?betahttp://player.youku.com/player.php/sid/XMTczMzEwOTY0NA==/v.swf腾讯视频:http://static.video.qq.com/TPout.swf?vid=y0330yhqqgz&auto=0http://static.video.qq.com/TPout.swf?vid=y0330yhqqgz&auto=0附件下载:1.PDF版教程下载:**** Hidden Message *****2.本例程STM32 keil5工程源码:**** Hidden Message ***** 3.Gokit V2.1底板驱动程序打包下载:**** Hidden Message *****
超级简单有木有,so奔走相告吧!



创梦 发表于 2016-11-2 10:39:27

/***发现楼主这个代码只能分别控制红绿蓝三个灯的状态(控制一个其它两个就被清零了):lol:lol***/
case EVENT_LED_G:
      currentDataPoint.valueLED_G = dataPointPtr->valueLED_G;
      GIZWITS_LOG("Evt:EVENT_LED_G %d\n",currentDataPoint.valueLED_G);
            //ledRgbControl(0, currentDataPoint.valueLED_G, 0);//这样写就只能单独控制RGB三个灯的颜色,如红色 绿色 蓝色
            ledRgbControl(currentDataPoint.valueLED_R, currentDataPoint.valueLED_G, currentDataPoint.valueLED_B);//改成这样就可以混合控制,比如 粉色 紫色 等
      //user handle

创梦 发表于 2016-11-2 16:18:16

bigfanofloT 发表于 2016-11-2 12:51
对呀,仅供演示,应用根据实际需要即可

楼主,你的教程非常好!根据你的教程,我已经学会了app端下发命令来控制设备;但上传状态及数据不会?期待你的更新啊:)

bigfanofloT 发表于 2016-10-12 17:18:51

alex741123 发表于 2016-10-12 15:23
好教程,根据你说的流程制作一遍后收获挺多的。如果教程中添加入 能将LED当前的RGB数值反馈回app的程序代码 ...

感谢您的建议,敬请关注后期教程:):)

askhua520 发表于 2016-9-23 08:20:22

回复才可以下载

ddddfdf 发表于 2016-9-23 08:51:33

好像挺方便的

ngkyou@163.com 发表于 2016-9-23 09:00:05

不错不错

小云2018 发表于 2016-9-23 09:11:48

要好好学学的

智慧家居 发表于 2016-9-23 14:12:22

顶!d=====( ̄▽ ̄*)b

xulida 发表于 2016-9-23 15:15:42

不错,看看

Xuedong 发表于 2016-9-24 14:51:26

板子还没到,先下载备用。

Smit 发表于 2016-9-26 11:01:03

我要下载看看

molo 发表于 2016-9-26 11:38:06

看看,学习一下,谢谢分享!

anymax 发表于 2016-9-26 17:44:17

:'(:'(:'(其他都对了就是死活,连接不上去啊

soso123 发表于 2016-9-26 17:46:13

好棒,多谢楼主分享

bigfanofloT 发表于 2016-9-26 23:18:10

anymax 发表于 2016-9-26 17:44
其他都对了就是死活,连接不上去啊

有可能是路由器问题,一点点排查看看

地方 发表于 2016-9-27 08:32:53

赞赞赞~~要好好学习

anymax 发表于 2016-9-27 11:14:49

:lol:lol:lol万德福,已经试验成功,可以远程控制灯了

anymax 发表于 2016-9-27 11:15:46

bigfanofloT 发表于 2016-9-26 23:18
有可能是路由器问题,一点点排查看看

原因已经找到,需要先注册个IOT用户

混吉 发表于 2016-9-28 15:22:58

希望机智云改进的地方, Demo App界面的拖动条是要等到手指松开才生效发送命令,希望拖动条变化就发送命令

晓林华 发表于 2016-9-29 08:39:10

谢谢分享。。。。

lkl0305 发表于 2016-10-2 16:04:26

很强大!!!

vegure 发表于 2016-10-5 16:09:03

来学习了
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 3分钟教你创建手机APP控制全彩智能灯泡应用,图形化编程!