Ubuntu Server环境下Orange Pi 5B的PWM控制Python守护进程实现咨询
问题背景与需求
环境与现状
- 硬件:Orange Pi 5B单板计算机
- 系统:Ubuntu Server
- 问题:wiringPi的PWM支持已损坏,仅root用户可通过以下Shell命令在引脚2生成50Hz方波:
echo 0 > /sys/class/pwm/pwmchip5/export echo 20000000 > /sys/class/pwm/pwmchip5/pwm0/period echo 1000000 > /sys/class/pwm/pwmchip5/pwm0/duty_cycle echo 1 > /sys/class/pwm/pwmchip5/pwm0/enable
- 权限限制:普通用户无法通过
sudo执行上述命令,也无法修改pwmchip5目录的权限
需求目标
实现一个以root身份运行的守护进程/服务/API/RPC(优先使用Python开发,具备C语言开发能力),满足以下要求:
- 支持通过crontab或系统服务方式开机自启
- 允许普通用户无需root或
sudo权限,执行类似以下命令来控制PWM:
pwmservice init pwmchip5 pwmservice period pwmchip5 20000000 pwmservice duty_cycle pwmchip5 1000000 pwmservice enable pwmchip5
- 由服务以root身份执行对应的底层Shell命令
待解答问题
- 该方案是否可行?
- 具体的实现方向有哪些?
- RPC方案是否合适?有无更优的替代方案?
内容的提问来源于stack exchange,提问作者Dara O h
相关产品推荐
相关产品推荐

