文档章节

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

h
 hacke2
发布于 2014/06/19 21:31
字数 1026
阅读 78
收藏 1

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


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

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

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对定时任务做一写处理等等

© 著作权归作者所有

共有 人打赏支持
h
粉丝 0
博文 1
码字总数 1026
作品 0
巴南
资源: 适合 AI 新手的 9 款人工智能开源软件

如果要问当下互联网什么最热门?毫无疑问是人工智能。目前,世界上主要发达国家都已经将人工智能作为国家级发展战略。那么,踩在下一个时代的风口浪尖上,普通程序员如何向人工智能靠拢?为此...

AI科技大本营
2017/11/14
0
0
【开源项目】之仓鼠管家和OpenHamtaro

项目背景 大家好,我是多多的爸爸,多多是在李志唱了“多多你不要哭”之后来到这个世界上的小女孩。 前段时间给多多买了个语音仓鼠玩具,主要功能就是你说一句,它重复一句,里头有个电机,讲...

机智宝
2016/09/07
5.3K
9
【码云周刊第 1 期】推荐7款你不能错过的开源硬件架构

近年来,不断有智能硬件产品刷新着我们对于未来生活的期待,从智能手机到智能手表,从智能手环到智能空气净化器,毫无疑问,智能硬件在互联网时代以一种令人惊异的速度飞速发展,并给我们生活...

码云Gitee
2016/12/19
1K
0
码云周一见 | 7 款不可错过的开源智能硬件架构

近年来,不断有智能硬件产品刷新着我们对于未来生活的期待,从智能手机到智能手表,从智能手环到智能空气净化器,毫无疑问,智能硬件在互联网时代以一种令人惊异的速度飞速发展,并给我们生活...

码云Gitee
2016/12/19
3.9K
4
两大物联网标准组织暗战2016年CES大展

距离2016年1月份拉斯维加斯的CES大展只有两个多月的时间,物联网世界的两大标准组织——Allseen联盟和OIC开放互联论坛之间已经展开了激烈的标准争夺战。 Allseen本周一推出了物联网产品认证服...

王萌
2015/10/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Ubuntu18.04 显卡GF-940MX安装NVIDIA-390.77

解决办法: 下面就给大家一个正确的姿势在Ubuntu上安装Nvidia驱动: (a)首先去N卡官网下载自己显卡对应的驱动:www.geforce.cn/drivers (b)下载后好放在英文路径的目录下,怎么简单怎么来...

AI_SKI
今天
1
0
深夜胡思乱想

魔兽世界 最近魔兽世界出了新版本, 周末两天升到了满级,比之前的版本体验好很多,做任务不用抢怪了,不用组队打怪也是共享拾取的。技能简化了很多,哪个亮按哪个。 运维 服务器 产品 之间的...

Firxiao
今天
1
0
MySQL 8 在 Windows 下安装及使用

MySQL 8 带来了全新的体验,比如支持 NoSQL、JSON 等,拥有比 MySQL 5.7 两倍以上的性能提升。本文讲解如何在 Windows 下安装 MySQL 8,以及基本的 MySQL 用法。 下载 下载地址 https://dev....

waylau
今天
0
0
微信第三方平台 access_token is invalid or not latest

微信第三方开发平台code换session_key说的特别容易,但是我一使用就带来无穷无尽的烦恼,搞了一整天也无济于事. 现在记录一下解决问题的过程,方便后来人参考. 我遇到的这个问题搜索了整个网络也...

自由的开源
今天
3
0
openJDK之sun.misc.Unsafe类CAS底层实现

注:这篇文章参考了https://www.cnblogs.com/snowater/p/8303698.html 1.sun.misc.Unsafe中CAS方法 在sun.misc.Unsafe中CAS方法如下: compareAndSwapObject(java.lang.Object arg0, long a......

汉斯-冯-拉特
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部