首页>>科技 >>内容

openwrt pppoe自动拨号,基于OpenWrt的网络校时自动打铃器

发布时间:2023-08-19 22:42:33编辑:温柔的背包来源:

很多朋友对openwrt pppoe自动拨号,基于OpenWrt的网络校时自动打铃器不是很了解,每日小编刚好整理了这方面的知识,今天就来带大家一探究竟。

openwrt pppoe自动拨号,基于OpenWrt的网络校时自动打铃器

本文将以目前最流行的开源路由系统OpenWrt系统为例,并以一个自动敲钟器项目为例,详细讨论其作为嵌入式平台进行二次开发的潜力。基本原理以DB120-WG路由器作为嵌入式系统的硬件平台,在其上安装基于Linux的开源OpenWrt路由器系统,配置搭建WEB管理平台,利用路由器的USB接口挂载声卡和移动存储设备,驱动声卡在软件编写时准时响铃,实现周期验证。其原理图如下图所示。

硬件平台自动敲钟器的硬件主要由三部分组成:采用大亚科技公司的DB120-WG无线路由器作为控制平台。用于音频输出的USB声卡。u盘,用于存储铃声音乐。厚度只有4 mm,由于DB120-WG的两个USB接口之间的垂直距离很小,使用普通优盘无法同时插入u盘和声卡,所以专门使用了这款超薄优盘。

本项目基于Linux开源路由软件OpenWRT (Back-Fire 10.0.3),其上安装了LightTPD+PHP+MySQL、NTP客户端、lighttpd+php+mysql、NTP客户端和MP3播放器madplay。软件平台结构的基本功能如下:使用NTP客户端定时与网络上的NTP服务器同步,保持时钟准确。使用php编写动态页面,上传MP3文件并存储在u盘上,管理播放列表。这也是本项目中软件开发的主要内容。

后台程序根据预定时间调用播放器播放MP3文件,并输出振铃音频信号。在Vmware虚拟机中部署x86版本OpenWrtPC开发环境的准备实验环境本项目使用php语言可以跨平台运行,而OpenWrt本身就有跨平台的x86版本,所以可以直接在PC虚拟机中开发程序,然后移植到路由器上运行,大大提高了开发效率。要使用镜像文件在虚拟机中安装OpenWrt,您需要从OpenWrt下载它。

官网下载OpenWRT-x86-generic-combined-ext2.img.gz文件,然后从gz文件中提取img文件,再由ltraiso转换成iso文件加载到Vmware虚拟光驱中。下一次安装类似于其他Linux发行版。本地opkg源码OpenWrt没有使用yum、rpm等流行的软件包管理系统,而是使用了轻量级的软件包管理系统opkg。安装软件时,您需要连接到互联网软件源进行下载和安装。建立本地源码可以加快软件安装速度,减少重复下载。

设置运行环境以安装lighttpdWEB服务器。使用opkg安装lighttpd软件包,然后配置相关参数。由于OpenWrt默认安装ht-tptd服务器运行管理接口,为了避免与其占用的80端口冲突,将lighttpdWEB端口配置为另一个端口,比如81。安装php解析器。

安装Samba3,将WEB主目录发布为共享目录,并将该目录映射为Windows中的网络驱动器。这样可以直接在WEB home目录下新建项目,和在本地PC虚拟机上开发一模一样,相比通常以交叉编译为主的嵌入式开发方式也非常方便。Samba3软件包安装后,为了解决中文乱码问题,需要将字符集从默认的ISO-8859-1设置为utf8。

自动敲钟软件开发的数据库结构设计自动敲钟软件可以使用一个名为songdb的新数据库来存储曲目数据和播放时间等数据。songdb数据库的整体结构是两表一视图。

表tbpl用于存储振铃(播放项)数据,主要字段有振铃名称、振铃开始时间、振铃持续时间、播放曲目ID等。表tbsong用于存储曲目数据,主要字段有曲目名称、文件大小等。视图vpl由表tbpl和表tbsong用IDsong键连接而成,方便查询操作。PhpWEB界面设计WEB界面分为四个功能模块,分别是公共模块、曲目管理、播放列表管理和系统配置。软件功能模块框图如下所示。

软件功能模块框图将程序部署到DB120-WG软件开发完成后,需要将程序部署到DB120-WG路由器。OpenWrt刷机方便通过WEB界面刷机,适合初学者,但固件大小不能超过8MB。大型特殊固件可以用TTL串口刷。默认情况下,安装WinSCP OpenWrt会安装SSH和SFTP服务。为了向路由器输入指令和上传文件,安装了WinSCP软件。Win-SCP是一个在Windows环境下使用SSH的开源图形。

SFTP客户端,也支持SCP协议。它基于putty、filezila、openssl等开源软件,主要功能是在本地和远程计算机之间安全地复制文件。代码上传和修正:使用WinSCP新建WEB home目录,上传自动敲钟器WEB接口的php代码文件,根据虚拟机环境和真实路由器目录结构的不同进行适当的修改。数据库移植从导出虚拟机中的数据库开始,可以在命令行使用mysql-dump工具导出数据库。代码如下:

mysqlump-urot-psong db > song db . SQL然后将数据库导入路由器。远程登录路由器后,在命令行启动mysql,在sql命令行输入导入数据库的命令:> > creatdatabasesongdb;> usesongdb>sourcesongdb.sql

此时,RouterRing项目已经在路由器上正确运行。在实际使用中,无论用户是通过有线还是无线方式接入网络,也无论是在内网还是外网,只要能与路由器所在的网络进行通信,都可以通过WEB接口轻松控制。用户可以在校园网的任何办公室控制放置在工作室的路由器。上/更好/以前/一个姓氏

发送MP3曲目,设置具体的振铃时间,路由器会准时振铃。即使在断电等意外情况下,由于MP3和配置文件都存储在u盘中,数据也不会丢失。供电恢复后,系统会重新读取配置文件,NTP客户端会重新与服务器同步,获取当前的准确时间,因此意外断电不会影响系统的正常工作。

以上知识分享希望能够帮助到大家!