基于DragonBoard410c的智能照明系统

今天我们继续分析基于DragonBoard410c的智能照明系统该系统分为两大块:(1)定时开关(2)变换颜色的亮度。接下来我就带大家了解下整个APP.因为该程序太简单,所以代码不会太多的讲解。有问题请在文章后面回复。

(1)定时开关的实现:

  case "reserve_open":
                            Calendar calendar = Calendar.getInstance();
                            long sys= System.currentTimeMillis();
                            calendar.setTimeInMillis(sys);
                            calendar.set(Calendar.HOUR_OF_DAY,Integer.parseInt(StringUtil.get(3,code,"@")));
                            Log.i("close",StringUtil.get(3,code,"@"));
                            calendar.set(Calendar.MINUTE,Integer.parseInt(StringUtil.get(4,code,"@")));
                             Log.i("close",StringUtil.get(4,code,"@"));
                            Timer opentime =new Timer();
                             Log.i("close",(calendar.getTimeInMillis()-sys)+"");
                            opentime.schedule(new TimerTask() {
                                @Override
                                public void run() {            Log.i("result",StringUtil.get(1,code,"@")+"********"+StringUtil.get(2,code,"@")+"@@@@@@"+code);                            Config.WriteData(Config.color,StringUtil.get(1,code,"@"));                                  Config.WriteData(Config.brightness,StringUtil.get(2,code,"@"));
                                }
                            },calendar.getTimeInMillis()-sys,(1000 * 60 * 60 * 24));

                            break;
                        case "reserve_close":
                            Calendar ca = Calendar.getInstance();
                            long system= System.currentTimeMillis();
                            ca.setTimeInMillis(system);
                            ca.set(Calendar.HOUR_OF_DAY,Integer.parseInt(StringUtil.get(1,code,"@")));
                            ca.set(Calendar.MINUTE,Integer.parseInt(StringUtil.get(2,code,"@")));
                            Timer close =new Timer();
                            close.schedule(new TimerTask() {
                                @Override
                                public void run() {
                                  Config.WriteData(Config.color, "0");
                                }
                            },ca.getTimeInMillis()-system, (1000 * 60 * 60 * 24));
                            break;

(2)变换颜色的亮度:

  case "close":
                            Config.WriteData(Config.color, "0");
                            break;
                        case "open":
                            Config.WriteData(Config.color, "10");
                            break;
                        case "red":

                            Config.WriteData(Config.color, "1");
                            break;
                        case "red_light":
                            Config.WriteData(Config.color, "4");
                            break;
                        case "green":
                            Config.WriteData(Config.color, "3");
                            break;
                        case "green_light":
                            Config.WriteData(Config.color, "6");
                            break;
                        case "blue":
                            Config.WriteData(Config.color, "2");
                            break;
                        case "blue_light":
                            Config.WriteData(Config.color, "5");
                            break;
                        case "white":
                            Config.WriteData(Config.color, "10");
                            break;

Config.writeData();方法是自己封装的一个File的操作类:

 public static void WriteData(String path, String content) {
        FileOutputStream fos = null;
        File file = new File(path);
        if (file.exists()) {
            try {
                fos = new FileOutputStream(file);
                Log.e("File", "FileWriter"+content);
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
            byte[] array = content.getBytes();
            try {
                fos.write(array);
            } catch (IOException e) {
                e.printStackTrace();
            }
            try {
                fos.flush();
                fos.close();
            } catch (IOException e) {
                e.printStackTrace();
            }

        }

    }

本次介绍到此结束,如有疑惑请在文章底部留言!谢谢大家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值