APP下载

基于OpenWrt的物联网服务器设计

2016-07-21潘权威黎晓云宋新宇

实验科学与技术 2016年2期
关键词:厨房电器物联网

潘权威,黎晓云,宋新宇

(电子科技大学 物理电子学院,成都 610054)



基于OpenWrt的物联网服务器设计

潘权威,黎晓云,宋新宇

(电子科技大学物理电子学院,成都610054)

摘要物联网技术近年发展飞速,各类家电无线互联,极大地方便了人们的生活。该文提出了一种厨房电器服务器的设计方案。该智能厨房电器服务器是基于OpenWrt开源嵌入式系统设计的,通过对TP-Link Wr703n路由器的改造,引出相关控制端口,将编译适配后的OpenWrt系统移植到路由器上。智能手机通过WiFi网络与路由器连接,形成智能服务器网络。利用该智能厨房电器服务器可与微波炉建立连接,并通过实际测试验证了相关功能的可靠性与实用性。

关键词OpenWrt; 物联网; WiFi; 厨房电器

物联网技术在近些年飞速发展,它的出现给社会生活的发展指出了一个全新的方向——各类家电之间无线连接,智能控制。该技术让电器更具智能化,使人与电器之间的交流沟通成为可能。

在人们的经济生活日渐丰富的今天,基于物联网的智能厨具鲜有所见。本文提出了一种基于OpenWrt操作系统的智能服务器,它可用于厨房电器的无线互联和智能化改造。通过利用本智能厨电服务器,实现了对微波炉的智能化改造,并将智能手机通过WiFi网络连接到服务器成功对微波炉进行了远程控制。

本设计可以作为智能厨电的基础物联网平台,可以对该平台进行合理的扩展,使智能家居成为可能。

1OpenWrt SDK介绍

OpenWrt是一个用于嵌入式设备的GNU/Linux发行版,具有强大的扩展性。

OpenWrt具备高度模块化、高度自动化,拥有强大的网络组件和扩展性,常常被用于工控设备、电话、小型机器人、智能家居、路由器以及VOIP设备中。它对无线路由器的支持友好,同时,它还提供了100多个已编译好的软件,而且数量还在不断增加。

通过在Linux系统下对OpenWrt源码的编译可以产生OpenWrt SDK。

OpenWrt SDK是一个可再定位的、预编译的OpenWrt工具链,是适用于无须从头开始编译整个系统的前提下,针对一个特定平台交叉编译单个用户空间包。OpenWrt SDK保证了原系统的二进制特性和兼容性,针对特定的发行版编译自定义软件,更新版本指定的包含文件。使用自定义补丁,或者不同特性来重新编译已经存在的OpenWrt SDK简化了软件开发的工序,为进一步开发相关软件和功能提供了可能。

2OpenWrt的编译

OpenWrt是基于Linux系统,为编译OpenWrt需要搭建Linux平台。利用VMware Workstation装载Ubuntu 14.04虚拟机搭建Linux编译环境。

Ubuntu 14.04系统安装完成,连接上网络,以非root用户登录,打开“应用程序—附件—终端”,在终端下利用sudo apt-get install命令语句,加载如下的软件包:gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfounzip sharutils subversion libncurses5-dev zlib1g-dev,利用sudo apt-get update命令语句更新以上软件包。获取OpenWrt源代码和安装包。在终端中输入命令语句svn checkout svn://svn.openwrt.org/openwrt/trunk,将会在OpenWrt代码托管网站上下载OpenWrt最新工程文件。

feeds是OpenWrt环境所需要的软件包套件。通过feeds.conf.default文件检查需要包含在环境中的软件包。下载所需要的软件包,使用[openwrt@localhost trunk]$ ./scripts/feeds update -a./scripts/feeds install -a更新feeds的配置文件,添加新的软件包用于生成系统。使用交叉编译,生成的SDK以及image等文件的类型取决于开发环境、应用硬件及源码版本。这需要对开发环境进行了解,才能进行正确的配置。使用make defconfig make prereq make menuconfig进入配置界面(menuconfig),如图1所示。

图1 OpenWrt编译配置界面

在Target System和Target Profile下选择合适的目标即可。本文设计选择TP-LINK TL-WR703N作为目标。选择Build the OpenWrt Image Builder和Build the OpenWrt SDK即可在编译中产生相关二进制和SDK文件。

保存好选项,退出配置界面返回终端,利用[openwrt@localhost trunk]$ make package/cups/compileV=99语句进行OpenWrt的编译。编译过程中会自动从OpenWrt源码托管网站下载相关的系统文件。等待编译结束后,产生相应的Image和SDK文件。在SDK中添加自己的packages进行智能服务器系统开发。

对于新建的package,可以作为一个可选软件包,利用SDK环境来单独编译,编译生成一个ipk的文件包,最后在OpenWrt系统下安装即可。

在本文设计中利用了socket接口通信协议和ser2net服务。实现方法如下:

com_init(); //端口初始化

//设置一个socket地址结构

struct sockaddr_in server_addr;

bzero(&server_addr,sizeof(server_addr));

server_addr.sin_family = AF_INET; //服务器IP

server_addr.sin_addr.s_addr

= htons(INADDR_ANY);

server_addr.sin_port

= htons(SERVER_PORT);//控制端口

//数据发送

void send_cmd(unsigned char cmd){

int len;

intn= 0;

char write_buf[50];

n= 0;

len = 3;

bzero(write_buf,sizeof(write_buf));write_buf[0]=0xfe;

write_buf[1]=0x00;

write_buf[2]=cmd;

n= write(fd,write_buf,len);

}

本文采用的服务器IP为192.168.1.1,端口为2001。

编写的makefile文件如下:

#buildopenwrt-serverexecutablewhenuserexecutes"make"

openwrt-server:openwrt-server.o

$(CC) $(LDFLAGS)openwrt-server.o-oopenwrt-server

openwrt-server.o:openwrt-server.c

$(CC) $(CFLAGS) -copenwrt-server.c

#removeobjectfilesandexecutablewhenuserexecutes"makeclean"

clean:

rm*.oopenwrt-server

执行make生成openwrt-server.ipk文件,将文件上传到路由器。利用opkginstall安装ser2net.ipk和openwrt-server.ipk。

至此,OpenWrt智能服务器系统编译完成。

3TP-Link Wr703n改造

本设计选择TP-LinkWr70n作为中继服务器,负责智能手机与厨房电器之间的通信。TP-LinkWr703n是一款基于ARM构架的无线路由器。本文利用TP-LinkWr703n的串口与厨房电器进行通信,该款路由器默认未将串口引出。对TP-LinkWr703n的改造,让OpenWrt系统成功与其适配也是该设计的重点。Wr703n路由器的版图如图2所示。

图2 Wr703n电路版图

图中A部分是Wr703n的控制AR9331的位置,B部分是Flash所在位置。通过对Wr703n的电路改造引出TTL串口。

取下原有的4MBFlash芯片,将芯片更换为HynixHY27UF084G2B64MBFlash芯片。通过原理图找到Wr703n处理器的串口引脚,利用跳线引出串口到USB接口上,路由器改造完成。

4智能服务器网络组建

在组建服务器之前先对Wr703n路由器进行系统移植,即将Ubuntu虚拟机中编译完成的OpenWrt二进制服务器系统文件烧录到路由器的Flash中。

Wr703n路由器插上网线,连接好TTL设备和路由器的串口。打开计算机上的Putty软件,连接类型选为串口,输入端口号(TTL设备的虚拟COM口,可在设备管理器中查看),通信波特率设为115 200。配置如图3所示。

图3 Putty软件配置界面

建立连接后,连接上路由器电源线,进入控制台界面,如图4所示。

图4 Putty软件控制台界面

输入:setenvserverip192.168.1.2

setenvipaddr192.168.1.1

tftp0x80000000openwrt-sever.bin

进行系统烧录。烧录完成后,重启路由器,计算机连接到Wr703n的WiFi网络,浏览器中输入192.168.1.1测试是否能进入服务器管理界面。

整个系统的组成框图如图5所示。

图5 智能服务器组成

通过Wr703n引出的串口与微波炉连接,组成微波炉控制系统。同时在智能手机上安装适配的“S.M.Oven.apk”软件,通过相关的配置连接到路由器即可。

利用整个智能厨电服务器系统,通过实际的测试,得到了几种食品的健康合理烹调方案,并建立了对应的食物烹饪数据库。

将这些数据转化为实际的加热信息后,编写了相应的加热方案程序。手机连接到Wr703n路由器WiFi,打开软件,在IP栏输入通信地址:192.168.1.1:2001。成功连接后会提示:Client:已经连接到server!图6为智能手机连接界面。

图6 手机连接到服务器

经过实际测试,手机成功与微波炉建立了连接,实现了手机对微波炉的远程智能控制,整个服务器系统达到设计目标。

5结束语

本文提出了一套智能厨电系统物联网服务器的建立方案,并实际测试验证了该方案的实用性和可靠性。该系统具有良好的稳定性,可移植程度高,可以作为智能厨房电器相关领域的参考。

参 考 文 献

[1]苗敬利,李腾. 基于OpenWrt的智能家居服务器的设计[J]. 网络安全技术与应用,2014 (11): 197-198.

[2] 李义,晋磊,程正瑞,等. 基于OpenWrt和TCP/IP协议的Android远程无线智能机械弹琴手系统[J]. 数字化用户,2014,20(11):11-14.

[3]滕泓虬. 基于OpenWrt的移动机器人系统设计[J]. 单片机与嵌入式系统应用,2012,12(1): 50-52.

[4]KELLYSDT,SNRYADEVARANK,MUKHOPADHYAYSC.TowardstheimplementationofIoTforenvironmentalconditionmonitoringinhomes[J].IEEEJournalofSensors,2013,13(10): 3846-3853.

[5]FAINELLIF.TheOpenWrtembeddeddevelopmentframework[C]//ProceedingsoftheFreeandOpenSourceSoftwareDevelopersEuropeanMeeting.[S.l.]:[s.n.],2008.

[6]TMOMAS.OpenWrtWiki[EB/OL].[2015-08-01].http://wiki.openwrt.org.

Design of IoT Server Based on OpenWrt System

PAN Quanwei,LI Xiaoyun,SONG Xinyu

(School of Physical Electronics,University of Electronic Science and Technology of China,Chengdu 610054,China)

AbstractWith the rapid development of Internet of Things(IOT) technology in recent years,all kinds of house appliances have been connected by wireless network,which facilitates human’s life. This paper proposes a design of kitchen appliance server to compensate for the lack in this field. The smart server for kitchen appliances is based on OpenWrt (an open source embedded system). Via the transformation of TP-Link Wr703n router and extracting associated control port,the compiled OpenWrt system can be migrated to the router. Smart phones can connect with the router via WiFi networks,and they all constitute the smart server network. The smart kitchen appliances server and microwave can establish a connection,and the reliability and practicality of the smart server have been verified.

Key wordsOpenWrt; Internet of Things; WiFi; kitchen appliance

收稿日期:2015-09-17

作者简介:潘权威(1994-),男,本科,电子信息科学与技术专业。

中图分类号TN915.5

文献标志码A

doi:10.3969/j.issn.1672-4550.2016.02.016

猜你喜欢

厨房电器物联网
浅析618期间生活电器及厨房电器赛道特点
油烟机油污处理专利技术分布
基于女性消费心理学的厨房电器设计研究
基于高职院校物联网技术应用人才培养的思考分析
中国或成“物联网”领军者
关于家庭食品安全卫生存在问题的实践报告