微功耗WiFi无线传感器网络设计与实现
一、WiFi 无线传感器传感器网络广阔的应用前景
无线传感器网络由部署在检测区域内的大量、廉价、微型、节能传感器节点组成,通过无线通信方式自我形成网络系统,其主要目的是协同地感知、采集和处理网络覆盖区域中感知对象的信息,接收命令并与控制中心交换有关现实世界的信息。如果说互联网构成了逻辑上的信息世界,改变了人与人之间的沟通方式,那么,无线传感器网络就是将逻辑上的信息世界与客观上的物理世界融合在一起,改变人类与自然界的交互方式。
无线传感器网络被美国商业周刊列为21世纪最有影响的改变世界的十大技术之一,还被麻省理工学院(MIT)技术评论列为全球未来的三大高科技产业; 和目前国内已经比较普及的802.15.4标准和zigbee无线传感器网络比较,WiFi /IEEE 802.11b/g网络是更成熟的技术,在设备互操作上所具备明显优势;这种基于IP的联网技术能够非常方便的实现和已经安装在企业和家庭中的网络进行无缝连接,而且还应具有更好的安全性。
当WiFi /IEEE 802.11b/g 的无线网络信号,在不远的将来,像一片片”无线云彩”一样覆盖我们的每一个”无线城市”的上空和覆盖我们每一个家庭,每一个商业楼宇上空的时候,下列的图画将变为现实。
图画一: 千家万户家庭中的各种电表,水表,煤气表内的低功耗无线WiFi SoC,通过WI-FI无线网络,以很低的功耗,和供电公司等能源通过者保持着网络实时联系 ,家庭内的数字显示系统,会通知你,何时能源价格最低,你可以使用低价格能源付费,同时,如果你的能源设备出现问题,能源公司也会第一时间抢修。
缴费和抄表,更是全自动中通过无线完成……
图画二: 都市林立的商业大楼内部,数以万计的工作无线传感器,包括安防,温度,湿度,烟雾报警等等,全部采用已经具有的WiFi 无线SoC为核心的节点进行自动无线连接,中心控制系统,根据这些无线传感器的大量的信息,调节空调系统,监控大楼安全,是商业大厦更安全,更节能…。
图画三: 巨大的物流仓库,大型货车,铲车,来来往往, 每件货物上,都安装了具有定位功能的无线WiFi SoC芯片,通过仓库内已经广泛布设的802.11无线网络,每件货物都可以精确的定位,也可以容易获得货物的详细信息……
从发展的眼光看, WiFi 无线传感器传感器网络的应用领域包括各种无线传感器,无线实时定位网络,射频识别(RFID) 网络,数字家庭网络,安全监视网络等等,具有非常广阔的应用前景和商业前景。
二、选择合适的无线WiFi SoC (单片机)
长期以来,虽然802.11标准已经成为了全球无线网络发展的主流方向之一,但是在很多人印象中, WiFi /IEEE 802.11b/g技术功耗比较高,只适用于电脑之间的无线连接和其他高速无线连接应用,其实,无线技术和SoC技术的演进,近年来,已经出现了下面提到的多个适合于低功耗应用的WiFi 无线SoC芯片,我们只是需要对其进行选择,就可以用于我们自己的WiFi 无线传感器传感器网络设计;
G2 Microsystems 公司开发的 G2C501, 是一个推出较早的超低功耗IEEE 802.11 (Wi-Fi) 芯片 (SoC) , 见图一所示, 该芯片内部集成了802.11无线芯片和基带芯片,包括了一个32位MCU和80KB SRAM+320KB ROM, 并且具有125K无线唤醒和支持ISO 24730-2 无线定位的硬件功能。
图一 G2C501 片上系统
GainSpan公司最近推出WiFi 芯片GS1010,(该公司是芯片巨人英特尔投资支持的美国硅谷的创新企业), 这个以两个经典ARM7微控制器器为内核的32位“ARM射频SoC (ARM无线片上系统), 将两个ARM7 32位微处理器,384K闪存,224k SRAM多种外围电路,A/D,RTC和802.11无线芯片等全部设计成一只非常小的QFN封装微型单芯片中(102脚 10X10平方毫米大小),实现了Wi-Fi系统的单片机化,无线化,微型化,使设计者可以采用GS1010单片机来设计微型遥控器,信用卡一样薄的微型RFID电子标签,能置入人体的微型传感器等等电池供电产品和多种应用产品。
同时, 该芯片功耗非常低,GS1010能够确保在一节AA电池供电下长达5~10年的使用时间(具体时间取决于不同应用中的唤醒间隔)。
GS1010芯片内部框图见图二所示;
图二 GS1010 WI-FI 无线 SoC框图
以上两种WI-FI无线芯片,各有千秋,针对不同的应用,有各自不同的技术特点,但是GS1010由于内置384K FLASH ,所以不需要任何外部芯片,就可以构成一个完整的应用系统,更像一个正真的单片机, 而且使用大家比较熟悉的ARM7结构,对很多已经熟悉ARM编程的工程师而言,上手比较容易,可以比较方便的象开发ARM单片机应用,容易入门开发等, 所以, 我们在下面的讨论中,采用GS1010作为我们使用的无线SoC。
三、选择合适的开发系统
由于GS1010无线 WiFi SoC芯片,实际上也是一个典型的微控制器芯片,国内也习惯称为ARM单片机, 和其他ARM单片机开发一样, 用户需要设计自己的 WiFi应用产品,必然需要一套开发平台来实现代码编译,下载,调试(DEBUG) 和测试等功能。
根据在互联网上搜索的结果,目前发现的开发GS1010的开发平台只有两种,一种是GainSpan公司原厂生产的软件开发包装:GS1010-SDK, 见图三。
图三 GS1010-SDK
{$page$}
另一种是GainSpan公司中国战略合作伙伴深圳/成都无线龙通讯科技公司联合开发的ARMRF-GS1010-PK软件开发平台,见图四。
图四 ARMRF-GS1010-PK开发系统
两套开发系统各有技术特点, 适合于不同应用, 表一是两套开发平台主要技术参数比较表:
表一 : GS1010开发平台主要参数比较
从上面比较我们可以看出,GS1010-SDK优点是采用了GREEN HILLS的高档开发环境和RTOS,比较适合欧美市场高端客户,缺点是价格较高。
ARMRF-GS1010-PK ,采用了国内比较熟悉的KEIL ARM 平台和uCOS-II作为 RTOS, 并且开发了中文图形显示等功能, 也在功能和代码上,兼容GS1010-SDK主要代码,为开发GS1010和无线传感器网络,提供了新的选择。
四、代码开发和初步测试
设计WiFi 无线传感器传感器网络的应用,首先是代码设计,开发系统中的嵌入式传感器节点软件包,提供了所需要全部相关源代码,如果你是设计一个将各种传感器的物理量,如温度,光度,按一定时间间隔传送的802.11网络的系统,你只需要先打开下面的工程文件: (见图五)
图五:无线传感器嵌入式节点软件工程文件
对于熟悉ARM单片机开发的工程师而言,这是一个大家都非常熟悉的画面,你可以从顶层开始,对相关ARM 源代码进行修改,包括改变传送间隔,增加传感器类型,增加控制外设等等,58个简单和容易使用的API包括了对网络协议栈和WI-FI网络传输的全部控制功能…。, 完成这些修改和增加代码后,你可以轻松进行编译,下载到多个开发板GS1010芯片 FLASH 内部和进行调试,并实际运行…
完成节点软件初步测试后,你可以连接WI-FI AP ( wireless access point,)
运行WI-FI 传感器网络PC表演软件,你可以在PC上,通过屏幕,看到通过WI-FI网络无线传输过来的传感器信息, 如图六所示。
图六 传感器曲线实时显示
五、WI-FI无线传感器网络开发并不那样神秘和困难
从上面的简单介绍来看,只要你已经熟悉ARM单片机和KEIL开发环境和uCOS-II, 即使还对802.11无线传感器网络不是很熟悉,但是是借助完整的和强大的软件开发平台和容易使用的无线WiFi SoC芯片, WI-FI无线传感器网络开发并不那么神秘和困难。