基于OpenWrt的物联网服务器设计
本文提出了一种基于OpenWrt操作系统的智能服务器,它可用于厨房电器的无线互联和智能化改造。通过利用本智能厨电服务器,实现了对微波炉的智能化改造,并将智能手机通过WiFi网络连接到服务器成功对微波炉进行了远程控制。
本设计可以作为智能厨电的基础物联网平台,可以对该平台进行合理的扩展,使智能家居成为可能。
OpenWrt的编译
OpenWrt是基于Linux系统,为编译OpenWrt需要搭建Linux平台。利用VMwareWorkstation装载Ubuntu14.04虚拟机搭建Linux编译环境。Ubuntu14.04系统安装完成,连接上网络,以非root用户登录,打开“应用程序—附件—终端”,在终端下利用sudoapt-getinstall命令语句,加载如下的软件包:gccg++binutilspatchbzip2flexbisonmakeautoconfgettexttexinfounzipsharutilssubversionlibncurses5-devzlib1g-dev,利用sudoapt-getupdate命令语句更新以上软件包。获取OpenWrt源代码和安装包。在终端中输入命令语句svncheckoutsvn://svn.openwrt.org/openwrt/trunk,将会在OpenWrt代码托管网站上下载OpenWrt最新工程文件。
feeds是OpenWrt环境所需要的软件包套件。通过feeds.conf.default文件检查需要包含在环境中的软件包。下载所需要的软件包,使用[openwrt@localhosttrunk]$./scripts/feedsupdate-a./scripts/feedsinstall-a更新feeds的配置文件,添加新的软件包用于生成系统。使用交叉编译,生成的SDK以及image等文件的类型取决于开发环境、应用硬件及源码版本。这需要对开发环境进行了解,才能进行正确的配置。使用makedefconfigmakeprereqmakemenuconfig进入配置界面(menu-config),如下图所示。
OpenWrt编译配置界面
在TargetSystem和TargetProfile下选择合适的目标即可。本文设计选择TP-LINKTL-WR703N作为目标。选择BuildtheOpenWrtImageBuilder和BuildtheOpenWrtSDK即可在编译中产生相关二进制和SDK文件。
保存好选项,退出配置界面返回终端,利用[openwrt@localhosttrunk]$makepackage/cups/compileV=99语句进行OpenWrt的编译。编译过程中会自动从OpenWrt源码托管网站下载相关的系统文件。等待编译结束后,产生相应的Image和SDK文件。在SDK中添加自己的packages进行智能服务器系统开发。
对于新建的package,可以作为一个可选软件包,利用SDK环境来单独编译,编译生成一个ipk的文件包,最后在OpenWrt系统下安装即可。
在本文设计中利用了socket接口通信协议和ser2net服务。实现方法如下:
com_init();//端口初始化
//设置一个socket地址结构
structsockaddr_inserver_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);//控制端口//数据发送
voidsend_cmd(unsignedcharcmd){
intlen;
intn=0;
charwrite_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);
printf(“writedchars\n”,n);
}
本文采用的服务器IP为192.168.1.1,端口为2001。
编写的makefile文件如下:
#buildopenwrt-serverexecutablewhenuserex-
ecutes“make”
openwrt-server:openwrt-server.o
$(CC)$(LDFLAGS)openwrt-server.o-o
openwrt-server
openwrt - server. o: openwrt - server. c
$ ( CC) $ ( CFLAGS) - c openwrt - server. c
# remove object files and executable when user executes “ make clean”
clean:
rm * .o openwrt - server
执行 make 生成 openwrt - server. ipk 文件,将文件 上 传 到 路 由 器。利 用 opkg install 安 装 ser2net. ipk 和 openwrt - server. ipk。
至此,OpenWrt 智能服务器系统编译完成。
TP - Link Wr70n改造
本设计选择 TP - Link Wr70n 作为中继服务器,负责智能手机与厨房电器之间的通信。TP - Link Wr703n 是一款基于 ARM 构架的无线路由器。本文利用 TP - Link Wr703n 的串口与厨房电器进行通信,该款路由器默认未将串口引出。对 TP - Link Wr703n 的改造,让 OpenWrt 系统成功与其适配也是该设计的重点。Wr703n 路由器的版图如下图所示。
Wr703n 电路版图
图中 A 部分是 Wr703n 的控制 AR9331 的位置, B 部分是 Flash 所在位置。通过对 Wr703n 的电路改造引出 TTL 串口。
取下原有的 4 MB Flash 芯片,将芯片更换为Hynix HY27UF084G2B 64 MB Flash 芯片。通过原理图找到 Wr703n 处理器的串口引脚,利用跳线引出串口到 USB 接口上,路由器改造完成。
- 第 1 页:基于OpenWrt的物联网服务器设计
- 第 2 页:智能服务器网络组建
本文导航
非常好我支持^.^
(0) 0%
不好我反对
(5) 100%
相关阅读:
- [电子说] 亚马逊云科技宣布Amazon Trainium2实例正式可用 2024-12-06
- [电子说] 物联网如何改变智慧城市 2024-12-05
- [电子说] 创新微推出基于Nordic nRF54L系列的ME54BS01低功耗蓝牙模块 2024-12-05
- [电子说] 智能包装制袋机远程监控运维物联网方案 2024-12-05
- [电子说] 虚拟化数据恢复—VMware ESX服务器常见故障的数据恢复方案 2024-12-05
- [电子说] 常用的服务器负载均衡多少钱一台? 2024-12-05
- [电子说] 兆芯亮相2024数字科技生态大会 2024-12-05
- [电子说] 西井科技如何助力物流行业实现降本提质增效 2024-12-05
( 发表人:李建兵 )