大家新年好,过了个春节,抱歉了,第二篇帖子来的有点晚,进入主题;
第一步,到网上找素材背景图:http://132131.taskcity.com/users/36705-cnyckj/portfolios/138459,并保存在电脑里;
第二步,下载并对应制作开关ICON;
第三步,下载窗帘 关窗帘,开窗帘的GIF文件:
第四步,由于GIF 图片的分辨率480*272 超过了屏幕分辨率的1/4,到网上找了一个小软件,把GIF文件裁剪到360*230大小;
第五步,建立工程,并导入背景图,开关图标和动画文件,并做好重命名,方便调用;
第六步,创建页面,并设置背景图
这里操作比较简单,略去操作过程;
第七步,编辑各个页面的功能;
添加开关ICON图标,并配置关联变量为0x080008的0bit位:=0为关;=1显示为开;
添加对应触摸键,通过触摸键实现切换开关的状态,利用VP运算异或的功能实现(感谢提供的技术支持)
第八步,卧室窗帘页面设置,添加开窗动画及关窗动画;
将2个动画重叠,并分设置对应的使能变量;
开窗动画使能为:0x080004-开窗使能;
关窗动画使能为:0x080006-关窗使能;
对应添加触摸键 利用vp=value功能,控制窗帘状态变量0x08000A-窗帘状态:= 0 无动画;=1开窗动画;=2 关窗动画;如下图:
第9步,要实现触摸键控制动画的功能,需要一定的逻辑判断,需要利用下位机做一些逻辑处理,再通过串口来实现的,在拓普微技术支持人员了解到,我手上的智能模块还支持LUA脚本功能,可以做一些简单的逻辑处理;
-- 主循环 调用一次等待10ms
luamain = function (void)
local windows = 0
-- 读 窗帘状态变量值
windows = hmt.readvp16(0x08000A)
-- 判断 窗帘状态值是否为 0,是写开/关窗帘都不使能
if (windows == 0) then
hmt.writevp16(0x080004,0x00)
hmt.writevp16(0x080006,0x00)
-- 判断 窗帘状态值是否为 1,开窗帘使能,关窗帘不使能
elseif (windows == 1) then
hmt.writevp16(0x080004,0x01)
hmt.writevp16(0x080006,0x00)
-- 判断 窗帘状态值是否为 2,关窗帘使能,开窗帘不使能
elseif (windows == 2) then
hmt.writevp16(0x080004,0x00)
hmt.writevp16(0x080006,0x01)
end
end
-- 触摸键事件,回调函数
tpkhook = function (page,id,state)
return 0
end
-- 页面切换时,回调函数
pagechangehook = function (page)
return 0
end
烧录和演示:
制作好的工程:
由于工程大于了5M,需要的可以邮件给我 172460587@qq.com;
感谢拓普微提供的智能模块,感谢技术支持给与的帮助!
小结:1.交互界面开发起来简单,只要到网上找到相关的素材利用工具处理一下;
2.LUA可以做基本的逻辑处理,对下位机的单片机要求不高;
3.界面美观主要取决于素材;