Category Archives: Smart Home

Smart Home | HP MicroServer Gen8 不专业评测

今年三月份,我在英国Amazon下单买下了现在这台HP ProLiant MircoServer Gen8。说到为什么要买它,回想起来,其实中间有很长的一段渊源。

记得2010年,我对DIY智能家居系统开始感兴趣。因为当时手上有友善之臂的mini2440开发板,我最初选择的实现方案是基于ARM(S3C2440)+ Linux。不过当时对Linux系统还不熟悉,花了一些精力调通了摄像头远程拍照后,就不了了之了。后来有了树莓派,又进一步研究了IO控制、语音播报和简单图像识别的实现。虽然功能上都可以实现,但是树莓派的CPU和IO性能实在捉襟见肘。后来又尝试过pcDuino v3,也并没有太多改善。究其原因是,这些嵌入式控制板毕竟追求的是低功耗和高集成性,在性能上难免会有妥协。有过这些失败的经验后,我决定还是买一个全功能的服务器平台。

当时我对服务器的印象还是:高IO性能,价格昂贵(万元以上),体积大,7/24工作,需要良好散热环境。在经过一些调查后,我意外发现了惠普的塔式服务器系列。我之前从未有过选购服务器的经验,但是这款Gen8还是让我眼前一亮,仔细研究了两天性能和兼容性之后我就下单了。Gen8让我动心的特点主要有:

1、体积:体积小巧,在家里随意摆放,不占空间;
2、价格:英镑折算2000元人民币,配上西数3TB红盘900,总价只要3000左右,远远低于标准服务器的价格;
3、性能:RAID硬盘控制器,千兆以太网,x86架构;
4、外观设计:铝合金面板,蓝色健康指示灯,外观设计美观大方;
5、多OS支持:RHEL / Windows Server / VMware ESXi;
6、可玩性好:接口多 – USB 3.0 / USB 2.0 / VGA / 双千兆网口,升级空间 – 内存最大可升级16GB,硬盘最大支持16TB,CPU支持升级Xeon,PCIe接口可插独立显卡。

当然了,Gen8的主要目的还是作为智能家居框架的中心:智能家用中心服务器(Smart Home Central Server,SHCS)。这个系统的主要功能有:
1、智能家居主站:智能节点数据采集与管理(与节点的通信方式:RF无线/WLAN/LAN);
2、智能家庭服务:天气播报,日历事件提醒,环境检测;
3、摄像头监控与入侵检测;
4、NAS数据存储:照片、多媒体、文件备份;
5、流媒体服务(DLNA):音乐,视频播放服务器;
6、BT文件下载器;
7、提供网页管理前台(基于Apache):当前服务器运行情况、智能节点数据浏览、资源使用情况、功能管理等;
8、开发调试:Linux应用程序开发,或作为数据库服务器。

有了Gen8强大的硬件支持,我的项目又有了新的希望。接下来的几篇文章我会介绍Gen8的硬件结构、配置和可升级空间。尽请期待。

Smart Home | Update the smart home architecture to v1.2

The architecture of the Yunfei Smart Home project is changed again. This time the system adopt the new bought HP ProLiant Microserver Gen 8 as the main server, instead of using an ARM-based embedded system. This evolution improves both the storage and computation capacity of the server, which makes it possible to deploy more complex nodes in the system and to provide a better user interface. The 12TB maximum storage capacity of the server also makes it an ideal NAS server for storing personal photos and videos!

smart_home_architecture_v1_2

6681698bjw1eqq6z82ttvj20hs0dctaq

Smart Home | 系统结构 (v1.1改进)

我对智能家居一直很看好,它让嵌入式技术如此贴近人们生活。

几个月前,我就开始了智能家居系统的设计,但一直没有步入实际设计阶段。利用长假时间,我对第一版设计做了一些改进,改进的内容主要有:

1)使用Wifi代替了原有线连接,使得中心服务器可在任意位置部署;

2)使用无线连接代替了原485的连接方式,避免了布线的繁琐;

3)希望可以增加语音识别和TTS功能;

4)去除了触摸屏以及Qt/E,显示和用户操作将通过C/S及B/S (BOA WebServer) 的方式提供。

Smart Home | ZigBee无线设备的低功耗通讯方案

在ZigBee网络中,COO、Router通常由外部电源供电,而ZED节点一般由电池供电。为了提高ZED节点的工作时间,我们需要进行低功耗设计。

低功耗可以从两个层面上考虑:1是硬件层面上的,2是软件层面上的。从硬件层面上说,可考虑的角度主要有:MCU及电路中的其他芯片是否支持睡眠、使用上下拉电阻节约功耗、电源芯片是否可管理、芯片及偏置电路的漏电流等。从软件层面上说,就是提高通信效率、设计睡眠与唤醒策略、加快处理速率减少工作时间等。

我从通信软件设计的角度,列举了几种可行的通讯方案,并最终选择了适合自己的方案。

几种可行的工作方式如下所示:

其中,横轴表示时间,蓝色填充部分表示当前是唤醒状态。首行是网关,其工作伊始就一直处于唤醒状态,其余行表示子节点,子节点大部分时间处于休眠状态。

上图中不同工作模式的工作特性如下:

工作模式

工作特性

响应上报

·主机发送指令,节点定时唤醒响应

快响应

·节点睡眠时间较短,若有命令则响应,无命令则立刻睡眠

主动上报

·主机不发送指令,节点主动将数据上报

变时间系数
主动上报

·主动上报,但休眠时间与电量相关

带应答的
主动上报

·主动上报,但是需要主机响应确认

懒模式

·t_cycle6大于t_cycle

不同模式的优缺点如下:

工作模式

优点

缺点

响应上报

·程序简单,定时逻辑由主机完成
·通信可靠,并且主机可以发送控制命令

·从机可以确认网络通信是否正常

·增加了数据量

·有时主机发送的指令会丢失

快响应

·数据更新速率高

·节点效率低,功耗大

主动上报

·网络资源占用少
·发送时间由节点自己控制

·得不到主机的反馈信息

变时间系数主动上报

·电量多时,时间间隔小,数据更新快
·电量少时,时间间隔大,节约功耗
·主机可以根据上报时间,间接获得节点当前电量

·上报速率、超时时间不可控

带应答的
主动上报

·保证数据可靠上发
·主机响应时可附带控制信息

·数据流量大,相比无应答方式
会增加功耗

懒模式

·功耗低

·一次可能会接收到多条指令
·数据更新速率较低

在我的实际设计中,不要求数据更新速率很高,且主机下发的数据很少,但我对工作时间却要求较高,需要能工作一年以上。经过一些实验和比较,最终我采用了响应上报模式,主机每个周期下发心跳帧,节点只有接收到心跳帧才试图向主机发送数据,这样保证了主机或网络故障时节点不会白白发送数据,造成电量流失。并且节点在电量较低时自动进入懒模式,牺牲数据更新率以延长工作时间。

当然,要验证该方案的可行性,我还需要很多的测试工作。

Smart Home | 短距离无线通信的方案与选择

随着通信与物联网技术的不断发展,我们的设计中越来越多的开始出现无线通信的元素。通过无线通信,设备不再只是独立工作,而是可以通过网络协同工作,增强设备的灵活性与功能。短距离无线通信是无线通讯中最常见的一种情况,一般指通讯范围不超过100m的无线通信。本文整理了短距离无线通信的常用方案,并将不同的方案进行了比较,最后叙述了如何根据不同的项目需求进行选择。

一、常见的短距离无线通信方案

1.1  无线编解码芯片

无线编码芯片将数据编码后进行无线传输,而无线解码器则接收无线数据、并进行一些容错处理。无线编解码芯片相当于只实现了无线网络的物理层,利用无线构件了一个数据的通路,一般提供若干个”通道”供使用者使用。一般常用于汽车无线遥控开关、门禁遥控开关、玩具遥控器中,常见型号有PT2262/2272。

1.2  无线数传芯片

无线数传芯片允许使用者通过芯片提供的接口进行数据的传输,常见的接口有SPI及串口。无线数传一般工作在315 MHz/433 MHz/868 MHz/915 MHz/2.4 GHz这些频段,这些频段是公开频段,不需要进行使用申请。无线数传有两种不同的传输方式:透明传输和非透明传输。透明传输是指数据所发即所得,不需要进行协议转换;而非透明传输是指用户需要操作一些寄存器,或是需要进行协议的转化与解析。典型的数传芯片有Si4432、nRF24L01、CC1100,这三款芯片的比较如下 (数据由毛鹏程整理):

型号

电压

传输距离

传输速率

Si4432

1.9~3.6V

1500米以上

256Kbps

nRF24L01

1.9~3.6V

20-50米

2Mbps

CC1100

1.9~3.6V

200米以上

500Kbps

1.3  ZigBee(802.15.4)

随着物联网、车联网与智能家居概念的宣传,ZigBee开始进入我们设计人员的视线。ZigBee基于IEEE 802.15.4标准,由ZigBee联盟制定,具有自组网、低速率、低功耗的特点,尤其适合小型设备组网的需要。ZigBee的第一个版本制定于2004年,经历了ZigBee2004、ZigBee2006、ZigBee2007及ZigBee Pro等版本。各版本的比较如下:

版本

ZigBee2004

ZigBee2006

ZigBee2007

指令集

ZigBee

ZigBee PRO

无线射频标准

802.15.4

802.15.4

802.15.4

802.15.4

地址分配

CSKIP

CSKIP

随机

拓扑

星状

树状、网状

树状、网状

网状

大网络

不支持

不支持

不支持

支持

自动跳频

是,3个信道

PAN ID冲突解决

支持

可选

支持

数据分割

支持

可选

可选

多对一路由

支持

高安全

支持

支持,1密钥

支持,1密钥

支持,多密钥

应用领域

消费电子(少量节点)

住宅(300个节点)

住宅(300个节点)

商业(1000个节点以上)

1.4  WiFi(802.11)

WiFi相信大家都非常熟悉了,WiFi被广泛应用于笔记本电脑、手机、平板电脑中,用于支持设备通过无线的方式连接互联网。WiFi的通信吞吐率很高,且与现存的网络设备具有良好的兼容性。

1.5  蓝牙(802.15.1)

蓝牙技术的创始人是爱立信公司,用于手机与外围设备的连接,如蓝牙耳机、蓝牙GPS等。蓝牙使用时分双工的模式来实现全双工通讯,遵循IEEE802.15.1协议。蓝牙具有通讯速率快、连接简单、全球通用、功耗低等特点,广泛用于手机、计算机、娱乐外围设备之中。

1.6  IrDA

IrDA使用红外线进行通讯,是一种低成本的通讯方案。该标准制定了一个半双工的通讯系统,通讯范围1m左右,传输角度30到60度。因为使用红外线作为通讯媒介,IrDA的数据传输率最大可以达到4Mbps。IrDA较大的劣势就是其对传输路径的要求比较高,传输距离、收发角度都有限制,减小了它的应用领域。

二、短距离无线通信方案的比较

方案

通信速率

通信距离

网络拓扑

功耗

体积

硬件成本

编解码芯片 较低 10m – 100m 点对点 较小 较低
数传芯片 较高 100m-1000m 点对点,星型 一般 较小 一般
Zigbee 较低 (*)10m以上 星型,网型 较低 较大 较高
WiFi 最高 100m 星型 最高 最大 最高
蓝牙 一般 10m 点对点 较低 较大 较高
IrDA 较高 2m 点对点 最小 最低

(*)Zigbee支持跳传机制,理论上通讯距离上不封顶。

三、短距离无线通信方案的选择

根据项目需求中对功能、成本、体积、功耗的种种要求,确立了以下一些选择的思路:

3.1 需要极低的成本

如果对成本十分敏感(比如用于消费类电子产品),可以使用编解码芯片(对角度无要求)或IrDA(对角度有要求)。IrDA通讯的成本极低,只需要一对红外收发管,但通讯角度必须在60度以内。

3.2 需要较大的数据传输率

如果需要传送的数据是图片或者视频这样的“大家伙”,那么一般只能选择WiFi传输;

如果传送的是语音数据,蓝牙也可以较好的支持。

3.3 需要连接互联网

如果设备需要连接互联网,一种方式是使用节点 + 网关的形式,另一种方式就是使用WiFi。

3.4 设备需要组成星型网络

使用支持多通信通道的数传模块,或在点对点通讯时附加设备ID信息。

3.5 设备需要组成网状网络

可以使用数传模块,需要自己实现路由、转发机制;

也可以使用支持ZigBee协议的芯片,如CC2530、STM32W,但成本较高。

【修订历史】

v1.1 2016/05/12: 修改了文章部分排版和标题格式。

Smart Home | 系统结构 (v1.0)

最近身边有几个朋友在做智能家居,其实做智能家居的想法我已经考虑很久了。

虽然智能家居在成本、实用性上还有一段路需要走,但是作为研究课题来说刚好合适。

现在已有语音控制器、照明控制器、短信平台等项目立项,我争取通过设计一个主机服务器把大家的成果“集成”在一起,从而提高整体的实用性。

YFSmartHome