某智能家居项目框架学习总结
博客专区 > hacke2 的博客 > 博客详情
某智能家居项目框架学习总结
hacke2 发表于3年前
某智能家居项目框架学习总结
  • 发表于 3年前
  • 阅读 76
  • 收藏 0
  • 点赞 0
  • 评论 0
摘要: 之前负责过一个智能家居项目的二次开发,苏州一家公司做的,项目还是分了好几个系统,对业务流程的不同部分进行了划分,我是此项目的主要负责人,通过老师的指导,对这个项目也有了一些了解。此项目运用了一些框架,有些也是我第一次接触到的,下面将对项目用到的一些框架进行总结。

这个月来第一篇博客,各种其他事情。。


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

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

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

2、客户端:也就是用户的移动设备,手机、平板都可以,我们支持的系统有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提供的一个在线设计界面的一个系统,用户可以自定义要展示的界面,拖动一些按钮等待,生成在一个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任务调度框架等,都是一些初级WEB程序员常见的,引入quartz对定时任务做一写处理等等
共有 人打赏支持
粉丝 0
博文 1
码字总数 1026
×
hacke2
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: