前言:
玩树莓派难免会时常关心cpu温度,有教程可以做一个仪表盘,可以实时查看硬件相关的信息,但对于对温度控制有需求的人群来说,可能这个时候有个预警处理,会起到十分有用的效果。这里就写一篇有关这个主题的文章。
主要实现功能:
每五秒读取一次cpu温度,当温度在阀值达到十次以上,及时发送到钉钉上。
参考了这个脚本,
GitHub - 544672716/raspberry: 树莓派学习笔记,并在此基础上修改了温度报警的逻辑。
获取钉钉Token
1. 在钉钉开发者后台创办一个组织
2. 创建应用

3. 创建好后,进入开发管理,填入服务器出口IP,也就是你树莓派的IP地址,消息接受地址可以不填
4. 授权,在权限管理中开启企业内机器人发送消息权限
5. 进入版本管理和发布,上线机器人
6. 登陆客户端,创建一个组织的内部群
7. 设置,进入智能群助手,创建一个自定义机器人
8. 创建完成就有可以获取到webhook,其中就有token的信息,保存下来,接下来有用
参照这里[自定义机器人接入 - 钉钉开放平台 (dingtalk.com)](https://developers.dingtalk.com/document/robots/custom-robot-access)
python脚本编辑
> 实现功能:每五秒获取一次温度,当连续10次采集温度都在阀值以上,则通过接口报警,在钉钉实时推送出来
send_temp.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import json
import ssl
from urllib.request import urlopen, Request
import os
import sys
import time
import socket
import subprocess
#钉钉机器人接口函数
class DingDing(object):
def __init__(self, token):
self.url = 'https://oapi.dingtalk.com/robot/send?access_token=%s' % token
self.headers = {'Content-Type': 'application/json'}
def send_text(self, text, at_mobiles=[], at_all=False):
"""
例子: send_text('天气不错', ['13333333333'])
:param text: 消息类型,此时固定为:text
:param at_mobiles: 被@人的手机号 ['13333333333', ]
:para