LED灯的闪烁与熄灭也成了一个iptables target,强汗

只要有符合规则数据包到达,LED灯就XY一下,这个效果怎么实现?
我有很多的办法,比较绕的就是:使用LOG target发内核日志,rsyslogd截获,redirect到filter,调用shell操作LED灯。虽然很绕,但是UNIX上不都是提倡这么玩的吗?
最为直接的办法是什么?我觉得应该是写一个事件target,只要匹配就通过netlink把这个数据包报告给user space,有了这个事件target之后,甚至LOG都可以通过user space的listen daemon来分发,毕竟printk出来的信息最终不也是通过syslog系统调用拿到syslog daemon的吗?
实在是想不通为何要在内核中去process event,难道仅仅是因为维护timer比较方便?并且,名字取得也不好,这个问题我觉得比较严重,虽然它真的不会影响功能。即便我可以设计一个内核态的event机制用来触发和处理事件,我也不会假设该机制和任何特定的对象有关联,事件的接收者当然可以是LED灯,但是难道不能是喇叭,电源吗?

时间: 2024-11-03 22:10:59

LED灯的闪烁与熄灭也成了一个iptables target,强汗的相关文章

四、按键控制LED灯亮灭

材料: 1.SAGOO UNO 1块: 2.按键模块 1块: 3.杜邦线若干. 步骤: 1.按照下图连接按键模块和UNO: SAGOO UNO引脚                                      按键模块引脚 3V3  <------------------------------------>    V(电源) GND <------------------------------------>    G(电源) Pin2  <----------

OK6410基于SD卡的裸机开发-LED灯控制

在上一篇文章中提到SD卡的裸机开发环境的搭建以及OK6410的启动设置,这章开始进入LED灯的闪烁控制. 1.首先打开OK6410的开发板原理图,找到LED等控制的原理图部分,如下图1所示. 图1 LED灯控制原理图 由图1可知,控制LED灯的CPU管脚为NLED1~NLED4,NLED1~NLED4对应的CPU管脚名称为GPM0~GPM3(CPU原理图未给出). 2.编写程序LED.s,下面直接给出LED.s的源码. .globl _start _start: /* 硬件相关的设置 */ ld

蜂鸣器驱动与led灯驱动,按键驱动

一:LED驱动编写 要编写LED驱动,首先的知道开发板的构造:开发板分为核心板与底板:编写驱动的第一步就是要看开发板,找到LED灯在开发板上的位置及所对应的名字:第一步就要查看核心板电路图,以及底板电路图:最后就是查看开发板手册,然后进行程序编写: 通过看开发板我们可以知道LED灯的位置的核心板上,在核心板上找到LED的电路图,Ctrl+F可以在文档中快捷查找: 通过电路图我们可以看出:LED灯的一端已经接高电平,只要给另一端加低电平LED就会被点亮. 然后查看LED在核心板上的引脚: 由上图我

51单片机led灯控制

关于内容理解: 先读懂51单片机的实验原理图,然后再着手编程. 由图可知 1,led灯接的是单片机的P0口,意味着我们只能用P0口来编程. 2,led灯是共阳极,当给低电平时led灯才会亮,(单片机灌电流能力较强,输出电流较弱,所以一般用共阳极) 3,led所在的P0口是读io口,故使用时用一个变量来做中介 实验效果 实现跑马灯效果,P0^0->P0^7口依次亮且每次只亮一个灯,然后P0^7->P0^0. 实验代码 #include <reg52.h> //此文件中定义了51的一些

Arduino 翻译系列 - LED 灯闪烁

原文地址 - https://www.arduino.cc/en/Tutorial/Blink 闪烁 这个例子展示了你能拿 Arduino / Genuino 板子来干的最简单的事:使开发板上的 LED 灯闪烁. 硬件需求 Arduino 开发板 LED (非必要) 220欧电阻(非必要) 电路 这例程使用了大部分 Arduino / Genuino 开发板上都有的 LED 指示灯.这 LED 灯是连接到数字引脚的,而它在不同型号的开发板上的引脚号都不一样.为了方便大家,我们已经每种开发板的描述

CC2640R2F&amp;TI-RTOS 创建 一个任务 和 使用 信号量 超时来闪烁 LED灯

/* * data_process.c * * Created on: 2018年7月5日 * Author: admin */ #include <ti/sysbios/knl/Task.h> #include <ti/sysbios/knl/Clock.h> #include <ti/sysbios/knl/Event.h> #include <ti/sysbios/knl/Queue.h> #include <ti/sysbios/knl/Sem

LED 将为我闪烁: 控制发光二级管

一. led驱动的实现原理: 通过GPC0_3和GPC0_4引脚的高低电平来控制三极管的导通性,从而控制LED灯亮灭. 尽管 Linux 驱动直接与硬件打交道,但并不是 Linux 驱动直接向硬件中的内存写数据, 而是与本机的I0内存(I/O Memory,位于内核空间〉进行交互.所谓 1/0 内存是通过各种接口( PCI. USB.蓝牙.以太网口等〉连接到主机( PC.手机〉的硬件〈网卡.声卡.摄像头等〉在主机内存中的映射. 二. 编写led驱动 1>首先我们需要感受一下led驱动的结果: 测

单片机远程控制步进电机、LED灯和蜂鸣器

通过采用C#语言实现的上位机控制单片机的步进电机模块.LED灯和蜂鸣器模块,使步进电机进行正.反转和停止并控制转速:LED灯模块进行有选择的呼吸式表达:蜂鸣器模块的开始和终止. 上位机通过串口和自定义的通信协议(8字节)控制单片机的步进电机.LED灯和蜂鸣器模块.其中在控制步进电机的过程中,为了使操作能够及时响应,使用了INT0中断来进行及时性速度响应:LED灯使用位运算控制灯的闪烁位置,合理利用了单片机的模块和操作. 注意:由于定时器个数的限制,没能控制更多的模块. #include<reg5

三、点亮LED灯

目标:让LED每秒闪烁1次 材料: 1.SAGOO UNO板1块 2.USB线1根 步骤: 1.用USB线连接Arduino板和PC,电源LED灯亮: 2.启动Arduino IDE软件,打开“File"->"Examples"->"01.Basics"->"Blink"; 3.点击“编译Verify"->"下载Upload"; 4.看到电路板上L标示的LED灯每秒闪烁. 原理图 代