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奔走相告吧!
/***发现楼主这个代码只能分别控制红绿蓝三个灯的状态(控制一个其它两个就被清零了):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 bigfanofloT 发表于 2016-11-2 12:51
对呀,仅供演示,应用根据实际需要即可
楼主,你的教程非常好!根据你的教程,我已经学会了app端下发命令来控制设备;但上传状态及数据不会?期待你的更新啊:) alex741123 发表于 2016-10-12 15:23
好教程,根据你说的流程制作一遍后收获挺多的。如果教程中添加入 能将LED当前的RGB数值反馈回app的程序代码 ...
感谢您的建议,敬请关注后期教程:):) 回复才可以下载 好像挺方便的 不错不错 要好好学学的 顶!d=====( ̄▽ ̄*)b 不错,看看 板子还没到,先下载备用。 我要下载看看 看看,学习一下,谢谢分享! :'(:'(:'(其他都对了就是死活,连接不上去啊 好棒,多谢楼主分享 anymax 发表于 2016-9-26 17:44
其他都对了就是死活,连接不上去啊
有可能是路由器问题,一点点排查看看 赞赞赞~~要好好学习 :lol:lol:lol万德福,已经试验成功,可以远程控制灯了 bigfanofloT 发表于 2016-9-26 23:18
有可能是路由器问题,一点点排查看看
原因已经找到,需要先注册个IOT用户 希望机智云改进的地方, Demo App界面的拖动条是要等到手指松开才生效发送命令,希望拖动条变化就发送命令 谢谢分享。。。。 很强大!!! 来学习了