广州linux

当前位置:   网站首页 >> linux

openwrt路由器也享受时钟报时快感编码过程

一些朋友家有那种电子挂壁时钟,买来的时候默认是开着整点报时的,但是报时就报时,报时后还有一段很不好听的旋律,这样很多朋友就关了整点报时,如果简简单单的说现在几点,那谁还会去关了报时?今天我不是教大家修改挂壁时钟的什么源码,什么资源的。
      来说说如何用路由器报时,首先我家木有那种挂壁时钟,我又想报时,所以想到了让路由器报时,所以有了本文!
      我的路由是刷了openwrt开源系统的,是基于linux3.3的内核的,加上路由器有usb接口,我也有usb声卡(我记得我以前发表过一篇路由器播放歌曲的文章) 
所以声卡安装的过程可以参照我的文章 http://68xg.com/linux/30.html

ok废话不多说,来说说制作过程,硬件+软件+源码+bug修复
1】硬件:usb声卡,小音箱
2】软件:madplay 这里要安装,opkg install madplay
3】源码:(本文最后面)
4】bug修复:因为发现了madplay在播放到最后的时候,会因为切换播放列表造成系统死机,我也不想也没时间去看madplay的源码,所以我简单的跳过了这个bug,就是我本来声音文件是接近7秒的,我用wavecn软件处理了一下,在后面加了10秒的绝对静音,然后用
madplay /www/baoshi/0.mp3 &
sleep 7

killall -9 madplay
如上代码跳过了bug,在第七秒就结束了madplay进程

声音文件可以让我发送给你,下面是本文最重要的代码:

#!/bin/sh
bf="0"
bofang()
{
case $bf in
"0700")
madplay /www/baoshi/07.mp3 &
;;
"0719")
madplay /www/baoshi/0720.mp3 &
;;
"0800")
madplay /www/baoshi/08.mp3 &
;;
"0900")
madplay /www/baoshi/09.mp3 &
;;
"1000")
madplay /www/baoshi/10.mp3 &
;;
"1100")
madplay /www/baoshi/11.mp3 &
;;
"1200")
madplay /www/baoshi/12.mp3 &
;;
"1300")
madplay /www/baoshi/13.mp3 &
;;
"1400")
madplay /www/baoshi/14.mp3 &
;;
"1500")
madplay /www/baoshi/15.mp3 &
;;
"1600")
madplay /www/baoshi/16.mp3 &
;;
"1700")
madplay /www/baoshi/17.mp3 &
;;
"1800")
madplay /www/baoshi/18.mp3 &
;;
"1900")
madplay /www/baoshi/19.mp3 &
;;
"2000")
madplay /www/baoshi/20.mp3 &
;;
"2100")
madplay /www/baoshi/21.mp3 &
;;
"2145")
madplay /www/baoshi/21.mp3 &
;;
esac
sleep 7
killall -9 madplay
}
shijianpanduan()
{
ntpclient -s -c 0 -h time.windows.com
sj=`date +%H%M`
if [ $sj == "0700" ] && [ $bf != "0700" ];then
bf="0700"
bofang
fi
if [ $sj == "0719" ] && [ $bf != "0719" ];then
bf="0719"
bofang
fi
if [ $sj == "0800" ] && [ $bf != "0800" ];then
bf="0800"
bofang
fi
if [ $sj == "0900" ] && [ $bf != "0900" ];then
bf="0900"
bofang
fi
if [ $sj == "1000" ] && [ $bf != "1000" ];then
bf="1000"
bofang
fi
if [ $sj == "1100" ] && [ $bf != "1100" ];then
bf="1100"
bofang
fi
if [ $sj == "1200" ] && [ $bf != "1200" ];then
bf="1200"
bofang
fi
if [ $sj == "1300" ] && [ $bf != "1300" ];then
bf="1300"
bofang
fi
if [ $sj == "1400" ] && [ $bf != "1400" ];then
bf="1400"
bofang
fi
if [ $sj == "1500" ] && [ $bf != "1500" ];then
bf="1500"
bofang
fi
if [ $sj == "1600" ] && [ $bf != "1600" ];then
bf="1600"
bofang
fi
if [ $sj == "1700" ] && [ $bf != "1700" ];then
bf="1700"
bofang
fi
if [ $sj == "1800" ] && [ $bf != "1800" ];then
bf="1800"
bofang
fi
if [ $sj == "1900" ] && [ $bf != "1900" ];then
bf="1900"
bofang
fi
if [ $sj == "2000" ] && [ $bf != "2000" ];then
bf="2000"
bofang
fi
if [ $sj == "2100" ] && [ $bf != "2100" ];then
bf="2100"
bofang
fi
if [ $sj == "2145" ] && [ $bf != "2145" ];then
bf="2145"
bofang
fi
sleep 10
shijianpanduan
}
shijianpanduan
 


发表我的评论

Hi,您需要填写昵称和邮箱!

  • 必填项