用树莓派的systemd服务来管理智能RGB彩灯程序

用树莓派的systemd服务来管理智能RGB彩灯程序,第1张

Hello, 依然关注我的朋友们,大家好,今天不仅是发个贴,还有一部分原因是我的新书上架京东了,这本书就是围绕树莓派来展开的,其中包含了和树莓派相关的GPIO引脚功能部分使用的一些简单应用,可以作为你手边的一个资料查询用书,也可以作为敲砖引玉之用,希望能激发你更深的脑洞...

顺便做个记录,最近在树莓派上添加了一个带RGB的风扇,原理是风扇内部包含一个ws281x的RGB彩灯, 通过GPIO18 引脚接入了树莓派, 需要通过编程控制彩灯显示RGB彩灯效果,但是每次开机后需要自己去配置,启动, 并且还要丢入后台避免占用终端,有时候开机后忘记了再想起来执行就有点儿烦。

因此,决定使用Linux系统的systemd服务来管理这个RGB彩灯的程序。

什么是systemd.service ? 又名: 服务单元配置。

在树莓派的Linux系统中,一般会在/lib/systemd/system/目录中存在一些名称以“ .service”结尾的单元配置文件, 这里面编写着一些由 systemd 控制和监督的进程的信息,以及你自定义的一些启动程序信息。
它包含了以下几个特点:

通用配置项在通用的 [Unit] 和 [Install] 部分进行配置。

服务特定的配置选项在 [Service] 部分进行配置。

附加选项列在 systemd.exec (5)中,它定义了执行命令的执行环境

在 systemd.kill (5)中,它定义了服务进程的终止方式

 systemd.resource- control (5),它为服务的进程配置资源控制设置。

如果启用了 SysV init compat,systemd 会自动创建包装 SysV init 脚本的服务单元。

注意,自己配置只需要编写一个服务名称与脚本名称相同,加一个“ .service”后缀的文件并配置一下简单的启动配置就好。

首先,讲述一下设备连接方式:

可以在树莓派上通过命令:

pinout

可以获取到如下信息,

用树莓派的systemd服务来管理智能RGB彩灯程序,pYYBAGLUs2-AX4_BAAHeSGlV06U683.jpg,第2张

然后针对树莓派链接的冰塔散热器的风扇

硬件连接已经清楚了,下面我们就要进行灯环的驱动配置了。

确保你的树莓派连接到互联网,这个需要保证你树莓派的IP,网关,和DNS地址正确,有时候就是因为DNS服务器不正确导致上网失败。可以通过下面的命令检查一下: 

然后在键盘上按下Ctrl + C终止。

也可以配置/etc/resolv.conf 里面的nameserver来配置DNS服务器地址。 

当树莓派能够正常联网后,打开一个终端,执行:

用树莓派的systemd服务来管理智能RGB彩灯程序,poYBAGLUs8OAUrzvAABQCRR3YyA436.jpg,第3张

执行成功后,创建一个build目录并进行编译:

用树莓派的systemd服务来管理智能RGB彩灯程序,pYYBAGLUs9mAUX7pAAAtKmfFbsU237.jpg,第4张

编译完成后,会在当前目录中生成一个‘test’ 文件,绿色的可执行文件。将其拷贝到/usr/bin/下,方便用户调用,不用编辑环境变量就可以执行了。这样就执行了moodlight并丢入后台,你会看到风扇灯光闪烁。。

用树莓派的systemd服务来管理智能RGB彩灯程序,poYBAGLUs--AVn_jAAAqUzqybyo442.jpg,第5张

但是当你关机后,这个灯光就消失了,那怎么让它开机能自动启动,并且还能通过我命令行简单的一条命令进行开启和关闭控制呢?到这里,我们就要进入主题了:systemd服务配置写起来!

进入系统服务配置目录并编辑一个名字为: minitower_moodlight.service的文件。
用树莓派的systemd服务来管理智能RGB彩灯程序,poYBAGLUtBCAN9fmAAAr8w2ALR8564.jpg,第6张

填写如下内容:

用树莓派的systemd服务来管理智能RGB彩灯程序,poYBAGLUtCuAMNiwAADuummBq5A481.jpg,第7张

用树莓派的systemd服务来管理智能RGB彩灯程序,poYBAGLUtEOALbxPAAGKgp-cbMQ869.jpg,第8张

然后保存退出后执行:
用树莓派的systemd服务来管理智能RGB彩灯程序,poYBAGLUtFeAUdGOAABHXcrgGAU224.jpg,第9张

这时候,你会看到一个系统服务叫minitower_moodlight在后台运行着,并且可以通过简单的执行下面的命令来停止:

用树莓派的systemd服务来管理智能RGB彩灯程序,pYYBAGLUtGyAY36FAAAje4-xTvg767.jpg,第10张



审核编辑:刘清

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2419655.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-01
下一篇 2022-08-01

发表评论

登录后才能评论

评论列表(0条)

保存