micropython调用钉钉群机器人群发消息

查看 27|回复 0
作者:xiaomingtt   
准备用ESP32-S3做个监控设备,监测未接入环动设备的运行情况,当设备出现问题可以通过企业微信机器人和钉钉群机器人报警。
micropython做钉钉群 机器人的时候出现了问题,钉钉机器人安全设置为“加密”,官方给的DEMO中使用的python库在micropython中都没有,网上找了一圈也没找到micropython能用的钉钉机器人代码。
安全设置如果是关键词或IP地址应该跟微信机器人一样比较简单,但这个机器人已经在很多设备上运行很久了,不想修改以前的代码,只能继续研究micro python。
研究了两天,终于弄出一个micropython能用的钉钉群机器人代码。
[Python] 纯文本查看 复制代码import urequests as requests
import json
def sendDingTalkMsg(msgAlert):
    import time
    import uhashlib
    import ubinascii
   
    webhook = 'https://oapi.dingtalk.com/robot/send?access_token=*****your_token*****'
    secret_key = '*****secret_key*****'
    timestamp = str(round((time.time() + 946656000) * 1000))
    def hmac_sha256(key, message):
        block_size = 64
        if len(key) > block_size:
            key = uhashlib.sha256(key).digest()
        if len(key)
有个比较坑的地方,micro python的时间戳跟python的起点不一样,以前不知道,盲目相信chatgpt,一直告诉我要同步设备时间,直到搜索后才发现解决方法这么简单,被chatgpt浪费了半天时间。

机器人, 代码

您需要登录后才可以回帖 登录 | 立即注册

返回顶部