Lab树莓派中的看门狗

利用Shell脚本激活树莓派看门狗功能并进行实践
AI助手已提取文章相关产品:

所谓看门狗就是检测功能性软件是否还在运转的软件或硬件模块。当它检测到软件没有在工作时,就会重启机器,使得软件在重启之后能够继续工作。它的检测方式很简单,就让功能性软件定时的发信号给它(所谓的喂狗),一旦一定时间内没有接收到信号,那么就认为软件已经停止运行了,系统就需要重启了。在树莓派的硬件中就有看门狗的功能。下面我们就来玩玩这条狗。

教程目的:

用脚本的方式来喂狗,并试验当脚本停止喂狗后,树莓派会重启。(网上大量流传着下载watchdog这个软件来进行喂狗工作,本教程是自己写shell来喂狗的。当然,也是很简单的。)

教程器材及软件:

  1. 树莓派的板子。
  2. SD卡(已经有镜像刷入)。
  3. 电源线及USB充电器。
  4. U盘或USB硬盘
  5. putty和psftp。
  6. 有DHCP的网线。

步骤:

  1. 先打开内核模块中的看门狗功能:
    sudo modprobe bcm2708_wdog
    (如果,你要在树莓派启动的时候,就启动看门狗功能。那么你需要在/etc/modules文件中加入,一行:bcm2708_wdog)
  2. 开启这个之后,你就可以在/dev目录下看到一个叫watchdog的文件。
  3. 执行完上面的命令,狗还不需要喂。但是一旦,你打开了这个文件(所谓,打开一种是c语言里的fopen,另一种就是等价的在shell中使用读写该文件的命令),就需要开始喂狗。喂狗的方式就是输入任何字符后数字除了V以外。此时,哪怕你关闭了文件,狗还是需要喂的。知道你输入V,才可以停止喂狗。有了这样子的原理,写一个喂狗的脚本就容易了。
  4. #!/bin/bash
    while((1))
    do
    sleep 3
    echo "Feed the dog"
    echo "Feed the dog!" > /dev/watchdog
    done
  5. 然后,运行这个脚本一段时间,一直喂狗,然后中断他。(Ctrl+C)
  6. 过了一会,树莓派就重启了。

参考:

这篇文章写得非常清楚,内容也更有深度。我怀疑其它文章都是从这个地方来的。(英文)http://binerry.de/post/28263824530/raspberry-pi-watchdog-timer
中文文章一搜一大把,就不贴了。

备注:

此为浙江大学计算机学院嵌入式系统课程扩展实验实验报告。

您可能感兴趣的与本文相关内容

### 如何在树莓派上安装和配置JupyterLab #### 准备工作 确保拥有合适的硬件,包括任意一款树莓派(推荐树莓派3),但即使是早期仅有256MB内存的版本也能够胜任此任务[^4]。此外,还需要一张至少16GB容量的SD卡、Micro-USB电源适配器以及Ethernet或Wi-Fi连接方式。 #### 更新系统软件包列表并升级现有软件包 首先应当保持系统的最新状态: ```bash sudo apt-get update && sudo apt-get upgrade -y ``` #### 安装必要的依赖项 接着安装Python及其相关工具,这一步骤对于构建一个稳定可靠的开发环境至关重要: ```bash sudo apt install python3-pip python3-dev libffi-dev build-essential git curl cmake pkg-config libssl-dev -y ``` #### 创建虚拟环境 创建一个新的Python虚拟环境有助于隔离不同项目的依赖关系,从而减少冲突的可能性: ```bash python3 -m venv jupyter-env source jupyter-env/bin/activate ``` #### 利用`piwheels`加速安装过程 通过指定`piwheels`作为pip的一个额外索引源,可以显著加快安装速度: ```bash pip install wheel pip install --extra-index-url https://www.piwheels.org/simple jupyterlab ``` #### 启动JupyterLab服务 完成上述准备工作之后,可以通过下面命令启动JupyterLab: ```bash jupyter lab --no-browser --ip=0.0.0.0 ``` 此时应该能够在本地终端看到类似于`http://localhost:8888/?token=...`这样的URL链接信息。请注意保存好该页面显示的安全令牌(token),因为后续从其他设备访问时需要用到它。 #### 访问JupyterLab界面 为了让局域网内的其它计算机也能顺利访问到JupyterLab的服务端口,默认情况下监听的是所有可用接口(`--ip=0.0.0.0`)而非仅仅限于本机回环地址。因此只需知道树莓派的具体IP地址,在另一台联网PC上的浏览器中输入如下格式的网址即可进入管理后台:`http://<树莓派的实际IP>:8888`[^3]。建议采用Google Chrome浏览器以获得最佳浏览效果。 #### 设置开机自启功能 如果希望每次重启后自动加载JupyterLab,则可以在~/.profile文件末尾追加一行脚本来实现自动化部署目的: ```bash echo "jupyter lab &" >> ~/.profile ``` 这样当再次开启树莓派的时候就不必手动执行启动指令了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值