TP-LINK 720N刷了OpenWRT后LED灯定时开关
TP-LINK 720N刷了OpenWRT后LED灯定时开关
参考链接:https://blog.wangmao.me/openwrt-timing-off-led-lights.html
因为家里有三台电脑,其中一台是笔记本,想共用一台打印机,所以在某宝上买一以台已经刷好 OpenWRT 的TP-LINK 720N做无线打印服务器。具体设置过程不说了,卖家会给你视频教程的。
到了晚上发现这路由器的电源灯挺亮的,会影响睡眠,就产生了设置一个定时开关灯的任务的想法,就在网上找到上面链接的资料作为参考。
根据资料,LED都是由/sys/class/leds下面的文件控制的,我查了一下,下面只有两个灯。
root@OpenWrt:~# ls /sys/class/leds
ath9k-phy0 tp-link:blue:system
前面那个估计是网络接口的LED灯,也可能是不存在的LED,不管它,我只要控制后面这个LED: tp-link:blue:system 。
路由器是根据这个文件的值来控制灯的亮还灭的:/sys/class/leds/tp-link:blue:system/brightness
root@OpenWrt:~# cat /sys/class/leds/tp-link\:blue\:system/brightness
1
文件brightness值为0时,灯灭,为1时灯亮。
我就据这个文件,新建了两个脚本,一个是:/etc/off_system_led.sh
root@OpenWrt:~# cat /etc/off_system_led.sh
#!/bin/bash
echo 0 > /sys/class/leds/tp-link\:blue\:system/brightness
另一个是:/etc/on_system_led.sh
root@OpenWrt:~# cat /etc/on_system_led.sh
#!/bin/bash
echo 1 > /sys/class/leds/tp-link\:blue\:system/brightness
我就先直接在路由器上运行一下,看看效果:
root@OpenWrt:~# /etc/off_system_led.sh
-ash: /etc/off_system_led.sh: not found
提示出错,查一下系统的默认的shell
root@OpenWrt:~# echo $SHELL
/bin/ash
原来默认的shell是ash,就把上面的两个脚本的bash改为ash,保存就可以了。
root@OpenWrt:~# cat /etc/off_system_led.sh
#!/bin/ash
echo 0 > /sys/class/leds/tp-link\:blue\:system/brightnessroot@OpenWrt:~# cat /etc/on_system_led.sh
#!/bin/ash
echo 1 > /sys/class/leds/tp-link\:blue\:system/brightness
再次运行,就没有出错了。
root@OpenWrt:~# /etc/off_system_led.sh
root@OpenWrt:~# /etc/on_system_led.sh
root@OpenWrt:~#
下面就开始做个定时脚本吧
root@OpenWrt:~# crontab -e
*/10 22-23,0-7 * * * /etc/off_system_led.sh
0 8 * * * /etc/on_system_led.sh
到了晚上10点半后才发现有问题,灯还是在亮着,因为孩子要早睡,就先拿条毛巾把这灯给盖着,第二天再去搞。
第二天通过web登录路由器发现这时间不对,就先把这时区改成中国的,再设定好NTP服务器,让路由器自动更新时间。顺便说说,也可以点同步浏览器时间,即时更正时间,但如果不设置NTP服务器,重启后时间又不准了。具体请看图:
还有就是路由器自带的NTP服务器好像不能使用,请改作国内的NTP服务器。
经过修改上面定时开关的时间进行即时的测试,显示成功。改为正常10点关灯的脚本,到了晚上10点,终于按时灭了灯,第二天早上8点,也按开了灯,终于成功解决的我的问题。
(4月22日)补充:我刚发现,参考的资料跟我的需求是有区别的,他的需求是定时开关所有的灯,我的需求是关闭系统电源灯。他的路由器不同,有多个网口的指示灯要控制,这些灯很容易关闭后会因为各种原因被自动开启,所以他设定为每分钟关闭一次,我的路由器没有这些灯,主要是控制电源灯,不会被自动开启,所以定时任务可以改为:
root@OpenWrt:~# crontab -e
0 22 * * * /etc/off_system_led.sh
0 8 * * * /etc/on_system_led.sh
经测试,在需要关闭的时间段没发现自动开启的情况。
以下为2021-6-2增加:
使用了段时间又出现了灯不按时关闭或开启的情况,登录管理界面发现是日期时间没有同步,应该是当时我同步了浏览器的时间,NTP根本没有生效。
查看ntpd有没有运行:
可以看到,ntpd是有运行的。在往上第二个图片内可以看到ping不通百度的网址,基本上可以确定是DNS是问题,开始我简单的修改了resolv.conf,加入自己的DNS,确认有用,但重启或等一段时间,就变回了原样:
再上网查了一下资料,在这个链接找到了个方法,一试果然有用:http://blog.sina.com.cn/s/blog_af853efb0102wp65.html
我只据所说的方法的第2步,增加了配置文件resolv.dnsmasq.conf:
从上图可以看到resolv.conf我是没有去改动的,因为还没找到方法,我增加了一个配置文件,把自己的DNS输进去,用/etc/init.d/dnsmasq restart重启dns服务,再ping百度,已经没有问题了,再查日期时间,已经同步。
在这里提醒一下,网上查到不少教程是说通过 crontab定时运行 ntpd或ntpdate来更新时间,我觉得是有问题的,除非你使用的ntp站点的IP,而不是网址。但很多情况下IP是会变动的,而网址是不会变的。
希望能帮助到需要的人,谢谢阅读!
TP-LINK 720N刷了OpenWRT后LED灯定时开关相关推荐
- H3C NX30 PRO无线路由器刷OpenWRT后LED定时开关
H3C NX30 PRO无线路由器刷OpenWRT后LED定时开关 前几天刚入手的H3C的NX30 PRO路由器做旁路由使用,跟着b站up主@酱紫表的视频[H3C NX30 Pro 超值百元路由器 ...
- Arduino-Mixly-超声波测距仪-实现距离控制LED灯的开关
Arduino-Mixly-超声波测距仪-实现距离控制LED灯的开关 Arduino:个人理解那块电板就叫arduino,本质上它是一块单片机(功能不怎么强大的计算机),具备了接受信息处理信息的能力, ...
- 怎么控制LED灯的开关呢?最简单的方法是给它加一个开关
怎么控制LED灯的开关呢?最简单的方法是给它加一个开关,然后串联一个电阻,闭合开关,LED灯就会亮,断开开关,LED灯就会熄灭,但这种方法的缺陷是得需要人为的参与. 如果频率很快,比如一秒钟开关100 ...
- Arduino lED灯与开关控制学习
Arduino LED灯随机亮起过程 LED广告灯类型 LDE广告灯绘图 Mixly模块代码 Arduino代码 LED灯与触碰开关使用 LED灯与触碰开关绘图 Mixly模块代码 Arduino代码 ...
- STM32按钮控制LED灯的开关
Hi, I'm Shendi 在之前已经可以控制 PC13 LED灯了,这次加上按钮来控制 首先上效果 STM32按钮控制LED 我使用的是四脚按钮,默认引脚弯折相同的相通,不同不同,按下后四脚都通 ...
- 手机蓝牙控制51单片机实现对led灯的开关
根据蓝牙模块通过手机蓝牙实现对51单片机led灯的控制. 1.器材 2.连线说明 3.源码 4.操作过程 5.成果展示 1.器材 51单片机,本人选用的为亚博的51单片机,不同的单片机在引脚的定义上有 ...
- esp32红外线控制led灯的开关
今天学习了一个红外线模块,红外线的按键都被定义为16进制的值,用这个值进行if分支语句执行,今天有好多不明白的,应该学学C语言,但是大家都说挺难的,但是不学C的写法,就不能改代码,尤其这个IDE编码时 ...
- 小米路由器 R4A 刷原生 OpenWrt 后的风景
简 述: 继上篇 小米AX6S刷OpenWrt和开启OpenClash 后,手痒难耐,决定把小米路由器4A千兆版(R4A)路由器 给刷个原生的 OpenWrt. 文章目录 背景 刷成原生 OpenWr ...
- 设置vmware vsphere web client_Arduino+前端高级应用-通过WEB网页控制Arduino开发板上的LED灯...
在本教程中,让我们继续学习如何控制GPIO 引脚,不过这次进入高级阶段,我们将从一个可以访问的WEB网页中开关led灯.超详细代码解读,前端工程师也可以轻松玩起嵌入式.听起来是不很酷,Let's go ...
最新文章
- 【风控体系】互联网反欺诈体系漫谈
- 开放下载!《一站式大数据开发治理DataWorks使用宝典》
- xml和java用户管理系统_XMLBeans首页、文档和下载 - XML-Java绑定工具 - OSCHINA - 中文开源技术交流社区...
- python整型图_python源码研究之整型对象探索
- leetcode35. 搜索插入位置(二分搜索)
- html选项卡_适用于Mac的最佳HTML文本编辑器,编码开发必备
- C++轻量级微服务_微服务技术栈:API网关中心,落地实现方案
- 详解nullable、firstpos、lastpos和followpos的计算规则
- mysql编程的入门案例
- 2021新鲜出炉软件测试的真实面试题(一篇足以)
- Android -- Property Animation
- java中怎么表示数组中的某个值_java中如何高效判断数组中是否包含某个特定的值...
- html输入日期算出星座,如何通过日期计算星座
- spring cloud gateway获取真实ip以及跨服务器时路由转发的一些问题
- 技术分享:印制插头侧面包镍金加工工艺研究
- js,jquery获取复选框checkbox被选中的值
- swing(二十一)
- testtesttesttest
- HtmlEncode是做什么的?
- Python数据可视化 Pyecharts 制作 Tab 选项卡多图控制
热门文章
- 崩坏:星穹铁道私人服务器搭建教程
- 中国Android应用商店汇总介绍
- 如何维护计算机系统的安全,冰冻精灵应该如何正确使用,长期维护电脑系统安全...
- 终于找到了Visual Studio.net 2003完整高速下载
- [Python Challenge通关]第12关 dealing evil
- 阿里数据集(cluster-trace-v2018)提取
- 赶集网招聘信息数据分析与可视化辑器
- ceph 单活mds主从切换流程
- ip所属地是怎么回事——浅谈 IP地址的实现
- CAD中插入外部参照字体会变繁体_为什么CAD中将图纸作为图块插入时不成功?