• 智能家居项目框架学习总结


    这个月的第一个博客,其他各种东西。。


    之前负责过一个智能家居项目的二次开发。苏州一家公司做的,项目还是分了好几个系统。对业务流程的不同部分进行了划分,我是此项目的主要负责人,通过老师的指导,对这个项目也有了一些了解。此项目运用了一些框架。有些也是我第一次接触到的,以下将对项目用到的一些框架进行总结。

    以下可能会出现几个有关智能家居的名词。介绍一下

    1、机顶盒:每个家庭都应该至少有一个机顶盒,控制电器开关都是由机顶盒向各电器的接收器发送命令

    2、client:也就是用户的移动设备,手机、平板都能够,我们支持的系统有IOS和安卓



    1.MINA                                                                                                                       


    Mina框架是第一次听说,当时老师简单说了一下,主要是用来线程复用。由于每个机顶盒都是通过socket来连接,每个socker在等待接受命令的时候都得有一个线程来轮训,这样肯定要对线程做一个线程池的管理。

    后来也挺感兴趣的,在网上看了一下,mina是基于NIO的开发框架,JAVA在jdk1.4以后对NIO提供了支持,mina是将其封装了一下,提高了程序猿的开发效率。

    普通BIO的就是上面说的一个socket一个线程,是堵塞式的,NIO提供的是非堵塞式的IO机制,每个socket都交给一个线程。由这个线程统一分配给线程池中线程,大大节省了线程堵塞式切换当前上下文时的开销

    。非堵塞式IO机制例如以下图所看到的:





    2.OpenRemote                                                                                                          


    下面是Openremote官网的介绍:


    OpenRemote is software integration platform for residential and commercial building automation. OpenRemote platform is automation protocol agnostic, operates on off-the-shelf hardware and is freely available under an Open Source license. OpenRemote's architecture enables fully autonomous and user-independent intelligent buildings. End-user control interfaces are available for iOS and Android devices, and for devices with modern web browsers. User interface design, installation management and configuration can be handled remotely with OpenRemote cloud-based design tools.

    其主要是为安卓和IOS提供的一个在线设计界面的一个系统,用户能够自己定义要展示的界面。拖动一些button等待,生成在一个XML。类似于工作流的在线流程设计器,由程序来解析XML,实现自己在线做UI。无需安装,在线更新,就能够更改手机端UI设计






    3.Spring MVC                                                                                                             


    除了主要的一些接口,他们还利用Spring MVC实现rest服务。

    REST(Representational State Transfer)是一种轻量级的Web Service架构风格,事实上现和操作明显比SOAP和XML-RPC更为简洁,能够全然通过HTTP协议实现,还能够利用缓存Cache来提高响应速度。性能、效率和易用性上都优于SOAP协议.(以上载自网络)

    项目里面有一些服务之间的通信使用了 rest,其也用了其它服务商提供的rest接口,比方短信接口、语音接口等。


    另一些其它常见的就不一一介绍了,quartz任务调度框架等,都是一些0基础WEB程序猿常见的,引入quartz对定上的写入处理,这样做的任务

    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    甲级1008 Elevator
    甲级1004 Counting Leaves
    甲级1007 Maximum Subsequence Sum
    甲级1006 Sign In and Sign Out
    甲级1005 Spell It Right
    甲级1003 Emergency
    甲级1002. A+B for Polynomials
    ..
    使用git版本管理打包增量更新包
    c++实现互斥锁
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4840164.html
Copyright © 2020-2023  润新知