分享一段shell脚本--su权限下自动读取某个GPIO电平,判断为低即自动关机的功能

CH34X USB转I2C芯片调试:i2c-tools实战与性能调优指南 I2C(Inter-Integrated Circuit)是一种广泛应用于嵌入式系统的串行通信总线协议,它通过主从架构和简单的双线制(SDA数据线、SCL时钟线)实现设备间通信。其工作原理基于开漏输出和线与逻辑,需要上拉电阻确保信号电平,这是理解I2C总线稳定性的基础。该协议的技术价值在于支持多主多从、硬件地址寻址和低速设备互联,在传感器数据采集、EEPROM存储和IO扩展等场景中至关重要。当通过CH34X这类USB转I2C桥接芯片扩展主控能力时,标准工具链的适配成为关键。本文聚焦于在Linux环境下,如何 阅读详情

以下内容均为原创,欢迎转载,转载请说明来源:https://blog.youkuaiyun.com/masterbee/article/details/78832701

sudo sh -c "echo 50 > /sys/class/gpio/export"

sudo sh -c "echo "in" > /sys/class/gpio/gpio50/direction"

while(true)
do
gpiovalue=`sudo cat /sys/class/gpio/gpio50/value`
# sleep 3
# echo "gpio:$((gpiovalue))";
if [ "$gpiovalue" = 0 ];
  then
{
echo "shut down system";
shutdown -h now
}
fi
sleep 3
done
sudo sh -c "echo 50 > /sys/class/gpio/unexport"
应用层操作gpio的3种方法之一:通过sysfs文件系统 先上结论: 1. 通过sysfs方式访问gpio,在命令行界面进行操作。 2.编写一个简单的GPIO驱动,通过系统调用进行操作。 3. 通过Input子系统进行操作。 如果还有其他方法,欢迎补充~! 《一》通过sysfs方式访问gpio,在命令行界面进行操作。 《二》编写一个简单的GPIO驱动,通过系统调用进行操作。 《三》通过Input子系统进行操作。 ... 阅读详情

相关推荐

基于linux的GPIO子系统,使用poll函数监听IO口实时电平变化

基于Linux开发板的GPIO子系统,使用poll()函数监听io口的实时电平变化,使用示例: GpioApi ioTest = new GpioApi(this); ioTest->addOutIO(GpioApi::IO_C_0);//添加输出口 ioTest->addInIO(GpioApi::IO_G_11);//添加输入口 ioTest->addInIO(GpioApi::IO_G_10); ioTest->addInIO(GpioApi::IO_G_12); ioTest->setOutIO(GpioApi::IO_C_0, 1);//设置输出口电平 ioTest->start();//开始监听添加的 详情请见博客:https://blog.youkuaiyun.com/birdman_1992/article/details/91412538

linux下GPIO的设置-调试

一般linux都有相关GPIO的驱动,做个简单备用吧。 这次我要控制的ls2k1000的gpio48,49,50,51. 设置为输出模式,输出一个固定的电平,所以这里先借助/sys/class/gpio/的方法调试一下。 首先在内核需要开启这个调试方法。 在 device driver --> gpio suport 选项中,选中指定的那个选项。 重新编译内核,更新新的内核。 出现这个目录才能正常操作。 以下改为sh脚本: 设置为输出,然后设置为某个电平输出。需要root

嵌入式 arm 单片机 入门 视频 培训 3039

GPIO两个版本_基于linux的GPIO子系统,使用poll函数监听IO口实时电平变化

里面 是两个版本,一个是带工程的,基于Linux开发板的GPIO子系统,使用poll()函数监听io口的实时电平变化,使用示例: GpioApi ioTest = new GpioApi(this); ioTest->addOutIO(GpioApi::IO_C_0);//添加输出口 ioTest->addInIO(GpioApi::IO_G_11);//添加输入口 ioTest->addInIO(GpioApi::IO_G_10); ioTest->addInIO(GpioApi::IO_G_12); ioTest->setOutIO(GpioApi::IO_C_0, 1);/

Linux GPIO读取高低电平

Linux 用户态设置GPIO控制Linux 用户态设置GPIO控制 Linux 用户态设置GPIO控制 Linux 用户态设置GPIO控制

嵌入式与人工智能 4803

stackelberg博弈_博弈论、多智能体、强化学习(随便记点东西)

多智能体应用场景:已实现:游戏AI。正在努力:UAV,物资运输,快递分发,交通系统。未来:社会学,预测群体行为,城市区域合作,国际关系。博弈论基本定义:玩家集合: 策略集合: 收益函数: 囚徒困境:两智能体矩阵博弈坦白抵赖坦白1,13,0抵赖0,32,2占优策略与最佳应对:上表中两者均具有占优策略,即无论如何都应该选坦白。那么构造下表。坦白抵赖坦白1,13,0抵赖0,12,2对于玩家一来说,坦白...

weixin_39611722的博客 2997

基于PCA的故障诊断方法(matlab)

1. PCA原理分析 PCA的原理主要是将原始数据进行降维。其具体工作原理参照:CodingLabs - PCA的数学原理 2. 数据预处理 训练数据集(只有正样本)为维数据,即有n个采样值,每个采样值有m个特征。 2.1 数据归一化 将数据X针对每个特征归一化为均值为0,均方根为1的数据。 其中: 3. PCA降维 3.1 首先求取协方差矩阵 协方差矩阵的公式为: 计算出来的协方差矩阵为特征m*m维矩阵。 3.2 求取特征值和特征向量 求取协方差矩阵R的特征值.

tangxianyu的博客 1万+

linux系统中GPIO的设置

GPIO往往是通过sys文件系统进行操作的,当我们需要验证一个GPIO口置1还是置0的话,可以通过操作sys文件来完成。 命令操作如下:(不同的开发板可能对应的目录不同) cd /sys/class/gpio echo "3">export    (测试gpio3) cd gpio3 cat direction(查看gpio3是否有对应的输入输出的字符,通常in:对应输入,out:对应输

hy119的博客 2282

SIMetrix教程-001.SIMetrix软件简介与安装

  由于某些原因需要用到SIMetrix仿真软件,然而网上的资料并不是特别多,故在此记录一下这款仿真软件的学习过程,也给有需要的人提供一些参考,免走弯路。如果使用过Pspice或者LTspice软件,学习SIMetrix会很容易入门,仿真软件都是大同小异的,会一样后都可以快速入门其他软件。   SIMetrix是一款以SPICE模型为基础的仿真软件,集成了SIMetrix和SIMPLIS两款内核,为工程师提供了可靠的、易于使用的、并完美结合了速度与精度的电路仿真方式。官方的话不多说,和LTspice一样,优

gaoyong_wang的博客 2万+

Linux如何进行GPIO读写操作的?

最近接触到Linux系统中的GPIO开发,这里做个小总结,也分享一下;本文会介绍GPIO的读写,介绍基本原理,以及不同读写方式的性能。比如定义GPIO258为输入,命令如下:(这个命令需要root权限)比如定义GPIO258为输出,命令如下:(这个命令需要root权限)

moyongliu的专栏 3311

YOLO12涨点改进| 损失函数改进篇 |AAAI 2025| 一种小目标检测SDLoss损失函数,解决现有损失函数对不同目标尺度敏感度不足的局限,提高了网络检测不同尺度目标的敏感能力,助力高效涨点

本文提出了一种改进的小目标检测方法SDLoss,通过动态调整尺度损失与位置损失的权重,优化了YOLOv12模型的性能。针对红外小目标检测中存在的两个主要问题:1)标准卷积难以捕捉目标的高斯空间分布特性;2)现有损失函数对不同尺度目标的敏感度不足,研究团队开发了Pinwheel-shaped卷积(PConv)和Scale-based Dynamic损失函数(SDLoss)。PConv通过不对称卷积核设计显著提升感受野,SDLoss则根据目标大小动态平衡尺度与位置损失的影响。

Ai缝合怪、助力小伙伴高效发论文 238

HTML5+CSS3+JS小实例:焦点图波浪切换动画特效

实例:焦点图波浪切换动画特效。字体图标库:Font Awesome。技术栈:HTML+CSS+JS。

艾恩小灰灰的博客 907

自动化脚本之GPIO/LED相关适用于Android/Linux

自动化脚本之GPIO/LED相关适用于Android/Linux

我其实什么都不会 2240

把核心变干净的代价与回报:为什么推动 Clean Core,几乎绕不开 SAP Integration Suite 与 API Management

Clean Core的核心价值在于构建可持续升级的ERP系统架构,其关键不在于减少代码或限制扩展,而是通过解耦和治理实现系统边界的清晰划分。这一理念将推动企业从传统的"私搭乱建"式集成向平台化工程转型,而SAP Integration Suite和API Management正是实现这一转型的核心组件。 Integration Suite作为集成中枢,通过统一平台、可复用内容库和事件驱动架构,将碎片化连接转变为标准化能力;API Management则负责建立接口治理体系,通过统一入口、

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 241

Ubilinux系统下libmraa库的安装配置与GPIO编程实战

在嵌入式Linux开发中,GPIO(通用输入输出)是连接软件与物理世界的基础接口,它允许微控制器或单板计算机通过引脚直接控制外部硬件。其工作原理是通过读写特定的内存映射寄存器来设置引脚的电平状态(高/低)或方向(输入/输出)。为了简化这一底层操作,硬件抽象库应运而生,它们封装了复杂的寄存器操作,为开发者提供了统一、易用的高级API,极大地提升了开发效率和代码可移植性。这种技术价值在物联网和嵌入式领域尤为突出,广泛应用于智能家居、工业自动化、机器人控制等场景。以Intel Edison平台为例,在基于Debi

all00747的博客 438

OpenClaw实战系列06:持久记忆与RAG知识库构建——让AI真正“记住”你

本文介绍了OpenClaw AI助理的持久记忆与RAG知识库构建功能。OpenClaw采用"文件即真理"的独特设计,所有记忆都以Markdown文件形式存储,支持直接编辑和Git版本管理。记忆系统分为三层:长期精炼记忆(MEMORY.md)、日常日志(按日期存储)和归档记忆。文章详细说明了环境配置步骤,包括安装必要组件、创建目录结构、设置API密钥,并提供了OpenClaw主配置文件的完整参数说明。该系统实现了跨会话、跨平台的持久化记忆,使AI助理能真正理解用户需求。

PeterPan的博客 1171

2025年CSP-J复赛真题及题解:T4 多边形(polygon)

2025年CSP-J复赛真题及题解:T4 多边形(polygon)

王老师青少年编程 1716

用shell脚本读取gpio按键的对应的eventx

#/bin/bash line=$(cat ./input.txt | grep -n "gpio-keys" | awk -F: '{print $1}') echo $line line=$(($line + 3)) echo $line cat ./input.txt | sed -n ''$line'p' |awk '{print $3}' cat ./input.txt |

3161

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Linux环境变量和(export,echo的使用)

Shell 的变量,可以分为 “环境变量” 和 “自定义变量” 两种类型,两者的区别在于作用范围不同。环境变量可以在其进程的子进程中继续有效,而自定义变量的势力范围则无法延伸到其进程的子进程中。 env:显示当前用户的环境变量,但不会显示其自定义变量。 export:功能同 env 一样,也是显示当前用户的环境变量,只不过该命令的输出是按变量名进行排序的。 declare:显示当前 Shell 中定义的所有变量,包括用户的环境变量和自定义变量,该命令的输出按变量名进行排序。 set:功能同 declare

han_hhh的博客 7323

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Linux通过shell命令操作GPIO

Linux通过shell命令操作GPIO 开发板:zlg M3354 目录:cd /sys/class/gpio/ 需要操作某个GPIO,只需操作gpioN里面的文件即可。例如操作gpio46,首先进入gpio46目录,查看里面可操作的文件

weixin_45430735的博客 3628

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

利用SYSFS和SHELL脚本操作GPIO

linux下面有一个通用的GPIO操作接口,那就是 “/sys/class/gpio” 方式。 首先,看看系统中有没有“/sys/class/gpio”这个文件夹。如果没有请在编译内核的时候加入 Device Drivers —> GPIO Support —> /sys/class/gpio/… (sysfs interface)。 通过/sys/文件接口操作IO端口 ...

Huskar_Liu的博客 1636

shell脚本条件判断、函数和循环

一、shell脚本条件判断 shell脚本支持条件判断,虽然可以通过&&和||来实现简单的条件判断,但是稍微复杂一点的场景就不适合了。shell脚本提供了if then条件判断语句,写法: if 条件判断 ; then //判断为真要做的事情 fi vi my.sh #!/bin/bash read -p "Please input(Y/N):" value if [ "$value" == "Y" ] || [ "$value" == "y" ]; then echo "Your inp

CHANGE的博客 736

树莓派Shell脚本读写GPIO

本文主要介绍通过命令和shell脚本控制树莓派GPIO。   同时熟悉多个linux命令和shell脚本编写方法,并对IO重定向有一个基本的体会。   我在学习树莓派的过程中积累了自信,现在觉得linux没那么神秘没那么难,反而充满了无穷的乐趣,希望通过博客把快乐带给大家。     1.使用命令操作GPIO     请耐心输入以下命令并查看效果

NCTU_to_prove_safety的博客 3877

Linux 驱动开发之使用文件操作集函数控制GPIO口电平

结合Linux驱动中的平台总线模型和设备树操作开发板上的GPIO

woaidandanhou的博客 2645

2022-10-28 linux IO指令 读写GPIO口电平实例

GPIO 调试有一个很好用的工具,那就是 IO 指令,使用 IO 指令可以实时读取或写入每个 IO 口的状态,这里简单介绍 IO 指令的使用。2.4 通过Registers Summary表格我们可知,数据寄存器和方向寄存器的地址偏移地址分别为 0x0000 和 0x0004。2.6 使用io -4 -w 0xff790000 0x02400000的时候gpio4c6会拉high,蜂鸣器会响。2.2 目前该gpio已经在dts里面配置,被占用了,是low 状态。2.5 确定是否打开clock。

海月汐辰 1867

linux下用文件控制gpio的输出电平

在写使用spi过程中,需要用到GPIO3.21这个引脚的高电平输出信号。 在超级终端里面的输入方法: root@EasyARM-iMX28x /sys/dev# cd /sys/class/gpio root@EasyARM-iMX28x /sys/class/gpio# echo 117 >export ...

僧哥叨叨叨 4199
上一篇: 关于拷贝文件后的权限问题
下一篇: ubuntu下网络配置及IP修改
masterbee
博客等级 码龄10年 80粉丝 26原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

masterbee

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值