当前位置: 首页 > wzjs >正文

将网站发布到微信小程序怎么做网上卖产品怎么推广

将网站发布到微信小程序怎么做,网上卖产品怎么推广,网站做外链推广的常用方法,自己做网站平台Ubuntu 20 默认使用的是 systemd 系统管理器,但传统的 SysV Init(/etc/init.d/)脚本依然兼容并可用。本文将介绍如何通过 init.d 写脚本来在开机时自动设置某个 GPIO(如 GPIO407)为高电平,适用于嵌入式系统…

Ubuntu 20 默认使用的是 systemd 系统管理器,但传统的 SysV Init/etc/init.d/)脚本依然兼容并可用。本文将介绍如何通过 init.d 写脚本来在开机时自动设置某个 GPIO(如 GPIO407)为高电平,适用于嵌入式系统、开发板等场景。


一、为什么选择 init.d

虽然 systemd 是推荐方式,但对于一些老旧项目或驱动初始化问题,用 init.d 更加直观、简单,并且在某些设备初始化顺序依赖场景下依然非常实用。


二、创建并配置 init.d 脚本

1. 创建脚本

 

bash

复制编辑

sudo nano /etc/init.d/gpio407_init

2. 脚本内容如下:

 

bash

复制编辑

#!/bin/sh ### BEGIN INIT INFO # Provides: gpio407_init # Required-Start: $local_fs # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: # Short-Description: Set GPIO407 high at boot ### END INIT INFO GPIO=407 case "$1" in start) echo "Exporting GPIO$GPIO and setting it HIGH..." if [ ! -e /sys/class/gpio/gpio$GPIO ]; then echo $GPIO > /sys/class/gpio/export sleep 0.1 fi echo out > /sys/class/gpio/gpio$GPIO/direction echo 1 > /sys/class/gpio/gpio$GPIO/value echo "GPIO$GPIO set to HIGH" ;; stop) echo $GPIO > /sys/class/gpio/unexport ;; *) echo "Usage: $0 {start|stop}" exit 1 ;; esac exit 0


三、赋予脚本执行权限

 

bash

复制编辑

sudo chmod +x /etc/init.d/gpio407_init


四、注册为启动服务

将脚本注册到系统默认启动级别:

 

bash

复制编辑

sudo update-rc.d gpio407_init defaults

这会在 /etc/rc2.d/rc3.d/rc4.d/rc5.d/ 中创建符号链接,实现开机执行。


五、立即运行测试

你可以直接运行脚本验证功能是否正确:

 

bash

复制编辑

sudo /etc/init.d/gpio407_init start

验证:

 

bash

复制编辑

cat /sys/class/gpio/gpio407/value # 应输出 1


六、注意事项

  • 权限问题:脚本执行的所有 echo > /sys/... 操作必须使用 root 权限,直接用 sudo 执行整个脚本,不要对单独的 echo 使用 sudo,否则会因 shell 权限问题失败。

  • 脚本调试:可以在脚本中加入日志输出,例如 echo "xxx" >> /var/log/gpio.log 方便调试。

  • GPIO不可导出:如果 /sys/class/gpio/export 不存在,可能是内核不支持 GPIO sysfs 接口,需要启用相关内核选项。


七、其他:如何禁用脚本

如果不再需要该脚本,可以移除注册:

 

bash

复制编辑

sudo update-rc.d -f gpio407_init remove

然后手动删除脚本:

 

bash

复制编辑

sudo rm /etc/init.d/gpio407_init


八、总结

尽管 Ubuntu 20 已默认使用 systemd,但 init.d 脚本依然兼容且适用嵌入式控制、GPIO 操作等早期初始化需求。按照本文方法配置,可以轻松实现开机自动执行。

如需改为 systemd 方式,欢迎继续阅读或留言,我可以帮你转换为 .service 文件。

在 Ubuntu 20.04 中使用 systemd 实现 GPIO 上电(以 GPIO407 为例)

对于嵌入式 Linux 系统或开发板平台,我们常常需要在开机时自动设置 GPIO 引脚方向及电平。使用 systemd 编写自定义 .service 文件是一种推荐方式。


一、前提条件

  • 你必须有 root 权限

  • 目标 GPIO(如 GPIO407)可通过 /sys/class/gpio/ 接口操作。

  • Kernel 配置项开启了 CONFIG_GPIO_SYSFS


二、编写设置 GPIO 的脚本

1. 创建脚本文件

 

bash

复制编辑

sudo nano /usr/local/bin/gpio407_set_high.sh

2. 填写内容如下:

 

bash

复制编辑

#!/bin/bash GPIO=407 # Export GPIO if not already exported if [ ! -d "/sys/class/gpio/gpio$GPIO" ]; then echo $GPIO > /sys/class/gpio/export sleep 0.1 fi # 设置方向为输出,并拉高 echo out > /sys/class/gpio/gpio$GPIO/direction echo 1 > /sys/class/gpio/gpio$GPIO/value

3. 设置脚本权限

 

bash

复制编辑

sudo chmod +x /usr/local/bin/gpio407_set_high.sh


三、创建 systemd 服务文件

1. 创建服务文件

 

bash

复制编辑

sudo nano /etc/systemd/system/gpio407.service

2. 内容如下:

 

ini

复制编辑

[Unit] Description=Set GPIO407 High at boot After=multi-user.target [Service] Type=oneshot ExecStart=/usr/local/bin/gpio407_set_high.sh RemainAfterExit=true [Install] WantedBy=multi-user.target

说明:

  • Type=oneshot 表示只执行一次,不常驻。

  • RemainAfterExit=true 保留“已启动”状态。

  • WantedBy=multi-user.target 表示在正常系统运行级别启动。


四、启用服务并重启

启用服务

 

bash

复制编辑

sudo systemctl enable gpio407.service

立即启动(测试)

 

bash

复制编辑

sudo systemctl start gpio407.service

查看状态

 

bash

复制编辑

sudo systemctl status gpio407.service


五、验证 GPIO 是否设置成功

 

bash

复制编辑

cat /sys/class/gpio/gpio407/value # 应该输出 1


六、卸载或禁用服务

如不再需要:

 

bash

复制编辑

sudo systemctl disable gpio407.service sudo rm /etc/systemd/system/gpio407.service sudo rm /usr/local/bin/gpio407_set_high.sh


七、与 init.d 的比较

项目init.dsystemd
兼容性兼容但过时推荐使用
并发支持
状态管理简单细致、支持依赖
日志需手动自动记录(journalctl


八、结语

使用 systemd 管理 GPIO 初始化是一种现代、清晰、可靠的方式,特别适合在需要严格控制启动顺序、可靠运行的环境中。建议优先采用这种方式进行嵌入式系统自启动脚本部署。

如果你还需要同时配置多个 GPIO 或串口、电源等资源,也可以在脚本中统一处理,systemd 会一次完成初始化。

http://www.dtcms.com/wzjs/71901.html

相关文章:

  • 如何做代购网站设计windows永久禁止更新
  • 做公益网站的说明山东疫情最新情况
  • 西安网站seo技术厂家自己建网站详细流程
  • 招远做网站公司最火的网络销售平台
  • 廊坊模板网站建设常州百度搜索优化
  • 免费网站建设软件seo优
  • 商务网站建设sz886网络的推广
  • 汉化主题做网站效果图网站注册域名
  • 建设一个购物网站需要什么意思北京网站优化快速排名
  • 青苹果乐园免费观看日本湖南企业seo优化推荐
  • 通化网站开发怎么在百度上发布信息广告
  • 上海突发事件seo关键词排名系统
  • 网站建设 中企动力公司百度的推广广告
  • 如何查找各种网站发布平台有哪些
  • 东莞网站开发云盘网页版登录
  • 88建网站湖人排名最新
  • 广州建网站腾虎上海抖音推广
  • 自己做的网站如何让qq登录电商运营培训正规平台
  • 自助做网站市场推广计划方案
  • wordpress 套餐上海seo招聘
  • 网站名字怎样做版权企业网站的搜索引擎推广与优化
  • 网站备案验证码错误河南seo技术教程
  • 手机网站建设平台合同石家庄头条今日头条新闻
  • 物流网站源代码搜狗推广开户
  • 全屏网站怎么做求职seo推荐
  • 自己的网站做一些诱惑百度指数有哪些功能
  • 做网站代理拉不到人武汉百度关键词推广
  • 网站风格定位怎么写做百度推广
  • 合肥公司注册平台seo推广论坛
  • 淘宝客网站做百度推广甘肃搜索引擎网络优化