常见智能家居通信方案对比

这几天对比了一下常见的智能家居,在考虑到绝大多数家庭已经装修好了的情况下,需要修改装修的方案(有线通讯)则不在本博文的考虑内,本人是一名专业软件工程师,本文的论点是以软件开发方便程度来做对比,因此涉及到核心硬件以及通讯方面的技术问题,则不在考虑之内。

电力载波

一般来说,通讯方案按介质分为有线和无线,装修好的房子,如果要用有线就只能考虑电线,现有的电力载波模块也比较成熟,之前也用过一些比如X10的模块,那个速度之慢就不说了,毕竟是已经淘汰了的技术,淘宝上倒是有不少模块,各有个的优点,但缺点基本一致。
参考模块:LX200V20
优点:传输速率不错,能达到200Mbps,提供IP接入解决方案,淘宝价格在130左右
缺点:相对其他方案来说有点贵,IP协议会增加传感器与开关设备的研发成本。这个直接接入电力的模块还依赖3.3V供电。容易受到大噪音源影响数据性能,需要在总空开和噪音源处安装阻波模块。在电力线停电时无法工作。
其他电力载波模块(McLaren, PLC_SPYDER, X10,Mamba)的问题基本是价格高,速度慢,而且没有标准协议支持。

蓝牙2.0

这是最常见,也是支持最广的通讯协议了
参考模块: BLK-MD-BC04-B(CSR BC 04 External)
淘宝上很多蓝牙的模块,提供UART/SPI接口,对开发是比较友好的。工作电压: 3.3V。带信号放大电路的通讯距离能达到1000km,不带放大电路的一般是10~100m,
优点:功耗比较低(发射电流 20mA),不过一些HC系列的模块功耗会比较高(70mA),通讯接口开发友好,具有基本组网能力,模块便宜(30~50块左右)。支持跳频技术,降低和2.4GHz的Wifi的干扰
缺点:障碍物容易增大信号衰减。2.4GHz 频段,对Wifi容易产生互相干扰。组网只能实现1个Master连7Slaves的方式,Slave之间不能通信。透传模块一次只能与一个配对的设备通讯,必须断开链接才能和其他设备通讯,非透传模块使用难度则高很多。

蓝牙4.0

也被称为BLE或者低功耗蓝牙。
参考模块:TI CC2540
优点:更低的功耗(集成MCU下还能保持19~24mA),集成MCU和ADC,可以不需要外面再接一个MCU,直接接到传感器上,有专有操作系统支持(OSAL),方便做开发。支持跳频技术,降低和2.4GHz的Wifi的干扰。宽电压支持(2~3.6V)
缺点:有操作系统,因此加大了学习门槛。学习资料远不如Zigbee丰富。开源协议栈支持得一塌糊涂。依赖闭源的IAR,对开源的8051编译器SDCC支持得有限。OSAL没有提供代码和SDCC支持。组网能力和2.0一样差,虽然有Scatternet,但是路由没有协议规范。

Zigbee

本来是个很有前途的技术,但是标准不够规范,多个协议(Zigbee 2006,Zigbee 2007),各个厂家之间实现的又互不兼容。
参考模块:TI CC2530
优点:强大的组网能力,Zigbee有完善的组播,点对点,广播通讯支持,又有路由功能,单个节点之间通讯距离能达到3000km,超低功耗(休眠0.4~4uA,发射20~30mA),丰富的技术资料与开发套件支持。宽电压支持(2~3.6V)
缺点:协议实现过于封闭,各个厂家之间互相不兼容。开源协议栈基本是砣屎,TI官方不支持SDCC,IAR带的协议栈也不公开代码。2.4GHz不支持跳频技术,美国以外地区限定死了2.4GHz的使用频率

6LoWPAN

基于IPv6的WSN解决方案,可以在Zigbee的芯片(TI CC2530)上实现该协议
参考模块:TI CC2530
优点:提供专有操作系统来实现多任务(Contiki, TinyOS),支持IPv6协议,能直接跑在Zigbee的硬件上,Contiki支持SDCC
缺点:Contiki需要专门的虚拟机来跑他们的系统,TinyOS又是使用了特殊的语言(nesc),相关资料很贫乏

低功耗WIFI

低功耗WIFI是个很有前途的技术,不过相比Zigbee和BLE而言,还是功耗太高了。
优点:组网方便,支持标准协议开发。有支持UART接口的,方便MCU进行数据传输
缺点:虽然叫低功耗,也只是相对于普通WIFI而言,通常情况下传输电流峰值可以达到220mA。相关模块开发资料不够丰富,不适合我这样的业余玩硬件的软件开发者。组网依赖路由,因此你没法在空旷地方用来遥控你的机器人或者传感器。

综上所述,如果我来做,我可能会优先选择Zigbee,但是我个人感觉低功耗Wifi和BLE的前途会比Zigbee更加光明。


Last modified on 2013-05-04