大家新年好,过了个春节,抱歉了,第二篇帖子来的有点晚,进入主题;
第一步,到网上找素材背景图:http://132131.taskcity.com/users/36705-cnyckj/portfolios/138459,并保存在电脑里;

第二步,下载并对应制作开关ICON;
1.jpg 2.jpg

第三步,下载窗帘 关窗帘,开窗帘的GIF文件:
https://t.cj.sina.com.cn/articles/view/2630093573/9cc40b0502700t0zl?from=digit,并保存在电脑里;

         第四步,由于GIF 图片的分辨率480*272 超过了屏幕分辨率的1/4,到网上找了一个小软件,把GIF文件裁剪到360*230大小;
3.jpg

第五步,建立工程,并导入背景图,开关图标和动画文件,并做好重命名,方便调用;
4.jpg

第六步,创建页面,并设置背景图
这里操作比较简单,略去操作过程;
第七步,编辑各个页面的功能;
添加开关ICON图标,并配置关联变量为0x080008的0bit位:=0为关;=1显示为开;
5.jpg
添加对应触摸键,通过触摸键实现切换开关的状态,利用VP运算异或的功能实现(感谢提供的技术支持)
6.jpg

第八步,卧室窗帘页面设置,添加开窗动画及关窗动画;
7.jpg
将2个动画重叠,并分设置对应的使能变量;
开窗动画使能为:0x080004-开窗使能;
关窗动画使能为:0x080006-关窗使能;



对应添加触摸键 利用vp=value功能,控制窗帘状态变量0x08000A-窗帘状态:= 0 无动画;=1开窗动画;=2 关窗动画;如下图:
8.jpg

第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.界面美观主要取决于素材;