论基于OPENWRT系统路由器的远程监控平台构建

2014-04-06 11:57李玉斌
山东工业技术 2014年17期
关键词:固件上位路由器

李玉斌

(贵州电子信息职业技术学院电子工程系,贵州 凯里 556000)

论基于OPENWRT系统路由器的远程监控平台构建

李玉斌

(贵州电子信息职业技术学院电子工程系,贵州 凯里 556000)

本文主要讨论设计基于嵌入式OpenWrt系统的路由器的远程监控平台,涵盖的功能有视频音频监测、自主移动、环境信息采集、位置定位、WiFi通信等,是一种具有高性价比、良好的操控性、安全性及可配置的远程监控智能设备平台。

OPENWRT系统;远程监控;平台构建

1 路由器的远程监控平台采用两层架构

上层以安装OPEN WRT系统TP—Link WR703N路由器(基于Atheros的AR9331芯片)作为上层的主板,主要负责功能为图像采集模块、无线通信模块的功能,实现控制信号、图像采集、声音采集和WiFi无线通信的数据传输。上层架构硬件核心系统是基于TP—Link WR703N的改造路由器,安装OpenWrt系统设计出基于Atheros的AR9331芯片WiFi通信模块,选择天敏S606、S608的网络摄像头为监控视频和声音的硬件设施。实现远程监控、控制等功能。并且预留可扩张的接口,用于智能家居的控制。

下层是以通用8位或16位单片机为控制板,外接传感器、电机驱动、显示、串口通信电路等。主要实现运动过程控制、传感器数据处理、串口遥控信号的接收和执行。

远程监控平台的软件设计包括嵌入式操作系统、网络摄像头加载程序、视频处理程序、WEB服务器程序以及单片机控制应用程序等。核心系统选用嵌入式LINUX发行版OpenWrt为上层硬件架构即路由器的操作系统。OpenWrt的设计开发理念是将操作系统分解组合成为一套完全可写的文件系统及软件包管理,使用软件包的概念来管理嵌入式设备,因此嵌入软件开发的过程变得更为简单和容易。

2 OpenWrt嵌入式系统

我们需要通过改装的路由器使实现下面的功能:驱动并控制摄像头,通过串口控制硬件层的C51单片机,驱动无线网卡并连接,运行服务端,提供UI界面。而实现以上的功能,我们需要首先构建一个嵌入式操作系统。经过反复地讨论研究,我们决定在主芯片是Atheros的AR9331路由器上移植OpenWrt。

OpenWrt它是一个开源的用于各种无线路由及嵌入式设备的linux发行版。它可以实现与另外一个著名的固件DD-WRT相类似的功能。OpenWrt提供了一个完全可写文件系统及软件包管理,它通过简单易用的方式,最大限度地降低了嵌入式linux开发的门槛,它允许使用软件包的概念来定制嵌入式设备,这使得它能适用于绝大多数应用并实现更多的功能。对于开发人员,OpenWrt提供简单易用的环境框架来构建应用程序。OpenWrt主页:http://www.OpenWrt.org。

本课题重点研究的路由器,已经发布有通用的版本,因此不需要自己再去重复的编译。为了深入学习和了解,也可以下载源码来自己编译,得到的“固件”效果是一样。

3 整体设计思路

整体设计实现的步骤:

(1)改造能刷Linux的无线路由器,将其操作系统刷成OpenWrt。

(2)将Linux下的摄像头驱动安装到路由器上, 即在路由器上安装程序: 挂载摄像头、安装MJPEG。

(3)PC端与机器人建立通讯。

(4)通过上位机操作,选择PC端的上位机软件,利用上位机的Socket把特定的数据包发送到路由端。直接控制单片机电机运动,并能实时接收到机器人上的摄像头视频。整体设计如下图1所示:

图1 OPENWRT系统路由器的远程监控平台整体架构

4 路由器刷机

提前准备好OPENWRT系统编译好的“固件”,具体编译方法在下一章会有介绍。这里先学会运用成熟的网络公共资源,寻找主页:http://www.OpenWrt.org或下载固件“openwrt-ar71xx-generic-tlwr703n-v1-squashfs-sysupgrade.bin”(针对TP-LINK WR703N路由器,Flash=4MB RAM=32MB ar9331芯片属于ar71xx),在官网下载最新的OpenWrt固件,保证各种软件的安装不出问题,但是不提供界面LUCI(WEB服务器软件LuC),openwrt系统下的WEB服务器LuCi是一个嵌入式设备的Web框架。

本系统需要给路由器刷OPENWRT系统。目前刷机大致有两种方法,一种是通过网线法进行刷机,另一种是通过TTL线进行刷机。一般采用网线法刷机比较简单,不需要什么工具。下面重点介绍网线法刷机步骤:

第一步:首先关闭路由器电源,网线连接电脑和路由器的LAN4或LAN1。

第二步:电脑IP设置为192.168.1.X/255.255.255.0(X为2-255之间的任意数字),网关不用设置。

第三步:用针状物按住路由器的RST键,然后打开路由器电源,等待大概10至15秒钟,路由器的电源灯会变成红色,此时可松开复位按键。

第四步:运行电脑端的cmd.exe,然后输入ping 192.168.1.1,测试是否能ping通,如能ping 通继续,否则返回检查。

第五步:打开电脑浏览器输入192.168.1.1,会出现一个页面,即出现CFE更新的页面,这里要选择要刷的OpenWrt固件,请按图示文字进行操作更新固件,此时固件选择“openwrt-ar71xxgeneric-tl-wr703n-v1-squashfs-sysupgrade.bin”,点击确定开始刷机,然后等待一会儿,大概两分钟后路由器会自动重启,至此说明路由器刷机完成。

第六步:这里还需要进行的步骤是开启WiFi,设置pppoe联网,安装LUCI,本处暂时不详细讨论,因为在自己编译固件时候可以将LUCI软件编译在一起。

也可以非常方便的在openwrt官网可得到LUCI软件安装包,使用putty(该软件是嵌入式系统调试常用的软件)登陆路由后,通过如 下命令安装LUCI与中文包:

即可完成LUCI的安装。

最后支持中文界面运行在PC上ping 192.168.1.1,如能ping 通路由器,则表示本次刷机成功,这时候可以访问http://192.168.1.1将会看到期待的openwrt WEB中文界面,即WEB服务器软件LuC中文版。如不能ping通则关闭电源,回到步骤前面几步重做。

5 路由器上挂载摄像头和安装MJPEG

5.1 路由器挂载摄像头

目前常用的USB摄像头分两种:有驱的和免驱的。在本系统中使用的是有驱的,主控芯片为中星微301,此摄像头挂载成功率100%,并且性价比高,特别适合本系统的设计。以下是OpenWrt 挂载摄像头的程序参考语句。

5.2 安装监控端作用的软件MJPEG

MJPEG作为一个小型的视频服务器软件,对系统消耗非常小,也很适合本系统设计。(另外一种预选方案是考虑安装Palantir模块)

(1)安装MJPEG

使用如下命令安装:

Opkg install mjpg-strcamer

(2)启动MJPEG

/etc/init.d/mjpg-streamer start

(3)查看图像

由于火狐浏览器支持动态刷新,因此需要下载安装火狐浏览器。在地址栏输入:http://192.168.1.1:8080/?action-stream 可查看到摄像头的动态视频。

6 PC端与机器人建立通讯。

通过上位机操作,选择PC端的上位机软件,利用上位机的Socket把特定的数据包发送到路由端。直接控制单片机电机运动,并能实时接收到机器人上的摄像头视频。关于嵌入式系统通过上位机与PC通信的研究,已经有许多成熟的方案,本处不在展开讨论。

7 总结

本课题创新点在于采用常见的无线路由器作为硬件平台,通过在其上移植刷写开放及扩展性极佳的OpenWrt(linux)系统,作为整个系统的软硬件基础;WIFI作为通讯手段;可在通过网络远程监控及控制;预留接口扩展智能家居控制系统。经济价值和社会价值方面,本课题的提供了一套新颖的、高性价比的智能平台,适用于玩具娱乐、远程监控、简单WEB网络服务器、智能家居控制等应用,是一套高适应性、强扩展性的开放性嵌入式智能远程监控平台。

李玉斌(1982—),男,湖南永州人,本科,硕士在读,讲师,研究方向:嵌入式系统、集成电路应用。

猜你喜欢
固件上位路由器
买千兆路由器看接口参数
尼康旗舰Z9升级新固件延长高速连拍时间
基于国产化IT 基础设施的通用固件安全模型研究
路由器每天都要关
路由器每天都要关
特斯拉 风云之老阿姨上位
基于ZigBee和VC上位机的教室智能监测管理系统
路由器成为木马攻击目标
英特尔发布免费固件引擎
提取ROM固件中的APP