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灯定时开关相关推荐

  1. H3C NX30 PRO无线路由器刷OpenWRT后LED定时开关

    H3C NX30 PRO无线路由器刷OpenWRT后LED定时开关 ​ 前几天刚入手的H3C的NX30 PRO路由器做旁路由使用,跟着b站up主@酱紫表的视频[H3C NX30 Pro 超值百元路由器 ...

  2. Arduino-Mixly-超声波测距仪-实现距离控制LED灯的开关

    Arduino-Mixly-超声波测距仪-实现距离控制LED灯的开关 Arduino:个人理解那块电板就叫arduino,本质上它是一块单片机(功能不怎么强大的计算机),具备了接受信息处理信息的能力, ...

  3. 怎么控制LED灯的开关呢?最简单的方法是给它加一个开关

    怎么控制LED灯的开关呢?最简单的方法是给它加一个开关,然后串联一个电阻,闭合开关,LED灯就会亮,断开开关,LED灯就会熄灭,但这种方法的缺陷是得需要人为的参与. 如果频率很快,比如一秒钟开关100 ...

  4. Arduino lED灯与开关控制学习

    Arduino LED灯随机亮起过程 LED广告灯类型 LDE广告灯绘图 Mixly模块代码 Arduino代码 LED灯与触碰开关使用 LED灯与触碰开关绘图 Mixly模块代码 Arduino代码 ...

  5. STM32按钮控制LED灯的开关

    Hi, I'm Shendi 在之前已经可以控制 PC13 LED灯了,这次加上按钮来控制 首先上效果 STM32按钮控制LED 我使用的是四脚按钮,默认引脚弯折相同的相通,不同不同,按下后四脚都通 ...

  6. 手机蓝牙控制51单片机实现对led灯的开关

    根据蓝牙模块通过手机蓝牙实现对51单片机led灯的控制. 1.器材 2.连线说明 3.源码 4.操作过程 5.成果展示 1.器材 51单片机,本人选用的为亚博的51单片机,不同的单片机在引脚的定义上有 ...

  7. esp32红外线控制led灯的开关

    今天学习了一个红外线模块,红外线的按键都被定义为16进制的值,用这个值进行if分支语句执行,今天有好多不明白的,应该学学C语言,但是大家都说挺难的,但是不学C的写法,就不能改代码,尤其这个IDE编码时 ...

  8. 小米路由器 R4A 刷原生 OpenWrt 后的风景

    简 述: 继上篇 小米AX6S刷OpenWrt和开启OpenClash 后,手痒难耐,决定把小米路由器4A千兆版(R4A)路由器 给刷个原生的 OpenWrt. 文章目录 背景 刷成原生 OpenWr ...

  9. 设置vmware vsphere web client_Arduino+前端高级应用-通过WEB网页控制Arduino开发板上的LED灯...

    在本教程中,让我们继续学习如何控制GPIO 引脚,不过这次进入高级阶段,我们将从一个可以访问的WEB网页中开关led灯.超详细代码解读,前端工程师也可以轻松玩起嵌入式.听起来是不很酷,Let's go ...

最新文章

  1. 【风控体系】互联网反欺诈体系漫谈
  2. 开放下载!《一站式大数据开发治理DataWorks使用宝典》
  3. xml和java用户管理系统_XMLBeans首页、文档和下载 - XML-Java绑定工具 - OSCHINA - 中文开源技术交流社区...
  4. python整型图_python源码研究之整型对象探索
  5. leetcode35. 搜索插入位置(二分搜索)
  6. html选项卡_适用于Mac的最佳HTML文本编辑器,编码开发必备
  7. C++轻量级微服务_微服务技术栈:API网关中心,落地实现方案
  8. 详解nullable、firstpos、lastpos和followpos的计算规则
  9. mysql编程的入门案例
  10. 2021新鲜出炉软件测试的真实面试题(一篇足以)
  11. Android -- Property Animation
  12. java中怎么表示数组中的某个值_java中如何高效判断数组中是否包含某个特定的值...
  13. html输入日期算出星座,如何通过日期计算星座
  14. spring cloud gateway获取真实ip以及跨服务器时路由转发的一些问题
  15. 技术分享:印制插头侧面包镍金加工工艺研究
  16. js,jquery获取复选框checkbox被选中的值
  17. swing(二十一)
  18. testtesttesttest
  19. HtmlEncode是做什么的?
  20. Python数据可视化 Pyecharts 制作 Tab 选项卡多图控制

热门文章

  1. 崩坏:星穹铁道私人服务器搭建教程
  2. 中国Android应用商店汇总介绍
  3. 如何维护计算机系统的安全,冰冻精灵应该如何正确使用,长期维护电脑系统安全...
  4. 终于找到了Visual Studio.net 2003完整高速下载
  5. [Python Challenge通关]第12关 dealing evil
  6. 阿里数据集(cluster-trace-v2018)提取
  7. 赶集网招聘信息数据分析与可视化辑器
  8. ceph 单活mds主从切换流程
  9. ip所属地是怎么回事——浅谈 IP地址的实现
  10. CAD中插入外部参照字体会变繁体_为什么CAD中将图纸作为图块插入时不成功?