zabbix 配置企业微信告警群机器人告警

【zabbix】企业微信告警 本篇基于我的前两章环境续写:1、【zabbix】docker安装zabbix、yum安装zabbix-agent2、【zabbix】MySQL模板创建与监控。 阅读详情

一、企业微信端配置

1、创建微信群机器人

在需要接收告警信息的企业微信群上右键(注意群里成员至少要3人以上),选择“添加群机器人”,设置机器人名称,系统自动生成此机器人的webhook地址,请记住该地址,不要随便给其他人,以免无关人员通过此地址推送垃圾信息!

image.png

image.png

2、查看群机器人webhook信息,后面需要用到。

image.png

二、告警脚本配置

ps:zabbix利用python脚本给企业微信机器人推送告警信息~

1、登录zabbix server服务器,查找并进入zabbix告警脚本调用目录

grep -Ev '^$|#' /etc/zabbix/zabbix_server.conf | grep ^A

查到目录为 /usr/lib/zabbix/alertscripts 这也是默认告警脚本目录,进入此目录,创建脚本文件并编辑,名称自定义,例如 wechat_alert.py,填入以下脚本内容,并将“url”字段修改为刚才的机器人webhook地址。

#!/usr/bin/python
#-*- coding: utf-8 -*-
import requests
import json
import sys
import os
 
headers = {'Content-Type': 'application/json;charset=utf-8'}
api_url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=cxxxxxxxxxxxxxxxx"   #这个是企业微信机器人生成的webhook地址,修改为你的即可。
 
def msg(text):
    json_text= {
     "msgtype": "text",
        "text": {
            "content": text,
            "mentioned_mobile_list":["13800000000","13800000001"]     #这个是企业微信机器人自动艾特群里成员,修改为群成员手机号即可。
        },
    }
    print requests.post(api_url,json.dumps(json_text),headers=headers).content
 
if __name__ == '__main__':
    text = sys.argv[1]
    msg(text)

image.png

2、赋予此脚本执行权限,并进行文本内容推送测试

chmod +x wechat_alert.py
python wechat_alert.py 告警测试

微信群机器人正常收到推送内容:

image.png

ps:如果执行后报错类似 import requests 未找到,执行下面命令安装即可:

yum install python-requests -y

三、zabbix端配置企业微信告警

1、创建告警媒介

管理---报警媒介类型---右上角“创建媒体类型”

image.png

名称自定义,类型选择“脚本”,脚本名称填写刚才创建的python脚本文件名称,参数调用告警消息字段,添加即可:

image.png

2、编辑用户告警媒介选项

管理---用户,选择需要发送告警消息的用户,点击用户名称进入配置页面,选择“报警媒介”标签,点击添加新媒介

image.png

image.png

类型选择刚才创建的企业微信告警媒介,收件人填写机器人所在群成员的任何可以作为关键信息的内容,例如成员名称,成员手机号等,启用时段和告警程度按照需求选择,然后启用添加即可

image.png

3、配置告警动作参数

配置---动作---右上角“创建动作”

image.png

在“动作”标签填写动作名称,添加触发器示警度和触发条件,然后切换到“操作”标签,设置示警动作详细配置:

image.png

按照下图进行配置,添加“操作”配置。告警消息自定义内容如下,可复制使用:

主题:
故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
 
消息:
告警主机:{HOSTNAME1}
告警地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

image.png

按照下图进行配置,添加“恢复操作”配置。恢复告警消息自定义内容如下,可复制使用:

主题:
故障恢复{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}已恢复!
 
消息:
恢复告警主机:{HOSTNAME1}
告警地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

image.png

完成“动作”和“操作”两个标签配置后,添加确认即可。

image.png

系统已经完成了告警动作生成,这就完成了通过企业微信机器人推送告警的所有配置!

image.png

等待有触发告警的项目,即可通过微信群机器人推送到群里。

image.png

转载于https://www.fcblog.cn/post/59.html,feichai 2020年12月18日于 废柴博客 发表

Zabbix配置企业微信报警机器人 微信告警机器人是一种可以将Zabbix告警通知发送到微信群或个人微信号的工具。 阅读详情

相关推荐

微信AI群聊机器人

微信AI群聊机器人

墨水直达的博客 5615

微信群聊微信机器人实现流程

请注意,为了遵守微信的使用规则,确保使用微信机器人账号时不违反相关规定,例如不发送广告、垃圾信息,以及遵守用户隐私等。遵循微信的使用规则是非常重要的,以免账号被封禁或受到其他限制。流程1:使用微信公众号接口:通过开发微信公众号,可以使用微信提供的开发接口与群成员进行交互。以上两种流程都需要开发者具备一定的编程知识和经验,以及对微信接口和聊天机器人API的理解。要使用一个微信机器人账号来实现在微信群聊中的自动回复功能,你需要注册一个专门用于机器人的微信账号。

还在活水泥的未来包工头 2万+

Zabbix Basic -zabbix 使用python脚本调用群企业微信机器人将告警信息发送至“企业微信”群中,并@指定人员(提醒指定人员查看)

文章目录申请企业微信(略)创建企业微信群(略)添加群机器人(企业微信手机端)企业微信官网关于群机器人的配置说明请点击跳转查看复制以下代码到zabbix报警脚本存放路径进入到zabbix报警脚本存放路径创建python脚本文件按“i”键进入vim编辑器的插入模式,并粘贴以下代码(需要修改机器人的webhook的地址)修改脚本的执行权限测试发送消息脚本执行的格式开始测试(测试过程可省略)结果如下提醒某人查看(本例中需要提醒用户的账号为:test)结果如下zabbix 添加告警源(本示例中为zabbix-5.0.

HuangFei 5784

Zabbix6.0使用企业微信告警教程Zabbix5.x版本皆可参考

2、创建好监控主机(配置-主机-创建主机),名称随便写,点击下方的添加,写被监控节点的IP地址,端口默认是10050。

Yian123456的博客 6682

zabbix配置企业微信报警

关于zabbix企业微信报警详细说明

chanjingyue的专栏 3895

zabbix7.2系统7_配置企业微信群告警通知

3)把zabbix-server主机wechat.txt文件copy到容器zabbix-server-mysql里的/usr/lib/zabbix/alertscripts/wechat.py。第1次使用默认操作步骤持续时间60s发送后(实测数值600s,2-3分钟也能收到消息),第2次300s(步骤持续时间)发送,第3次300s(步骤持续时间)发送。2、默认操作步骤持续时间:60(值为60,6-604800【7天】)为第1次发送消息的动作时间(实测2-3分钟才能收到消息)步骤持续时间:300。

dengxinxi的博客 1963

zabbix配置企业微信群机器人告警

【代码】zabbix配置企业微信告警。

weixin_44857388的博客 1262

zabbix5+dify+ollama+deepseek+企业微信 本地部署实现故障智能分析

zabbix5告警信息deepseek自动分析

slc14211421的专栏 3062

zabbix企业微信的告警媒介配置

Zabbix企业微信告警媒介可用于向特定群组成员发送@提醒通知。

m0_58146415的博客 969

Zabbix告警升级:告别邮件,用企业微信打造团队实时协同的监控中心

本文详细介绍了如何将Zabbix告警系统与企业微信深度整合,打造实时高效的团队协同监控中心。通过替代传统的邮件告警方式,利用企业微信的即时消息、群聊@功能和待办事项等特性,显著提升告警响应速度和团队协作效率。文章涵盖从环境准备、配置步骤到高级告警策略的全流程实践指南,适用于Zabbix5.x和6.0版本。

weixin_32325225的博客 320

SceneSplat

目标:训练一个网络,输入高斯参数 → 输出与自然语言空间对齐的特征。考虑到标注语义的 3DGS 数据有限,作者设计了。策略,让模型在无标签场景上学到有用表征。都有一个与自然语言对齐的语义特征。这是整个方法的第一步,目标是让。

weixin_61091146的博客 1279

zabbix 使用企业微信机器人实现微信告警

1、创建微信群机器人 在需要接收告警信息的企业微信群上右键(注意群里成员至少要3人以上),选择“添加群机器人”,设置机器人名称,

mwx17630337353的博客 2889

C++新手也能搞定!Windows下Cesium-Native编译全流程(附依赖下载技巧)

本文为C++新手详细介绍了在Windows系统下编译Cesium-Native库的全流程。重点针对网络环境不佳的情况,提供了手动下载依赖库的实用技巧,并指导用户使用CMake配置、生成解决方案,最终完成编译与测试验证,帮助开发者成功构建这一处理3D地理空间数据的C++运行时库。

weixin_28839549的博客 375

企业微信机器人推送mysql_Zabbix.5.0设置企业微信群机器人推送告警信息

一、企业微信端配置1、创建微信群机器人在需要接收告警信息的企业微信群上右键(注意群里成员至少要3人以上),选择“添加群机器人”,设置机器人名称,系统自动生成此机器人的webhook地址,请记住该地址,不要随便给其他人,以免无关人员通过此地址推送垃圾信息!2、查看群机器人webhook信息,后面需要用到。二、告警脚本配置ps:zabbix利用python脚本给企业微信机器人推送告警信息~1、登录za...

weixin_35410099的博客 1431

视觉机器人抓取实战:从物体定位到抓取估计的完整流程解析(附Python代码示例)

本文详细解析了视觉引导机器人抓取的完整技术流程,涵盖从物体定位、位姿估计到抓取估计的核心步骤。通过Python代码示例,演示了如何使用Open3D等工具进行点云处理、平面分割、PCA与ICP位姿估计,以及基于几何启发式的抓取生成方法,为机器人视觉抓取开发提供了清晰的实战指南。

peach的博客 905

第二十届全国大学生智能车竞赛-地瓜机器人智慧医疗挑战赛技术解析与实战指南

本文深入解析了第二十届全国大学生智能车竞赛-地瓜机器人智慧医疗挑战赛的核心技术。内容涵盖从零搭建数字孪生环境、实现AI视觉任务(二维码识别、引导线追踪、目标检测)、在边缘设备部署轻量化大模型进行图生文描述,到遥操作与自主控制的平滑切换,并提供了基于ROS2的系统集成与赛场实战指南,助力参赛者高效备赛。

weixin_29252171的博客 2760

Zabbix—企业微信报警群通消息通知

【zabbix】Zabbix—企业微信报警群通消息通知。

ling 805

51单片机学习(5)-----蜂鸣器的介绍与使用

蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计 算机、 打印机、 复印机、 报警器、 电子玩具、 汽车电子设备、 电话机、 定 时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。1.半导体三极管也称为晶体三极管,可以说它是电子电路中最重要的器件。三极管顾名思义具有三个电极。二极管是由一个PN结构成的,而三极管由两个PN结构成,共用的一个电极成为三极管的基极(用字母b表示)。其他的两个电极成为集电极(用字母c表示)和发射极(用字母e表示)。

2302_80260350的博客 1万+

zabbix6.2.4企业微信群机器人告警

zabbix6.2.4企业微信群机器人告警

不一样的精彩 886

Mplus实战:三变量随机截距交叉滞后模型(RI-CLPM)语法详解与扩展

本文详细解析了Mplus中三变量随机截距交叉滞后模型(RI-CLPM)的构建原理与语法实现。通过将变量分解为稳定的个体间差异与动态的个体内波动,模型能更纯净地揭示多变量间的纵向交互影响。文章以工作压力、睡眠质量与工作满意度为例,提供了完整的语法模板、关键参数设置(如NOCOV命令、残差相关)及结果解读指南,帮助研究者避开常见误区,稳健分析复杂动态关系。

wdx0123456的博客 922

加密算法:深度解析Ed25519原理

在 Solana 开发过程中,我一直对 Ed25519 加密算法 如何生成公钥、签名以及验证签名的机制感到困惑。为了弄清这一点,我查阅了大量相关资料,终于对其流程有了更清晰的理解。在此记录实现过程,方便日后查阅。

盹猫的博客 1万+

zabbix 6.0 配置企业微信告警

在zabbix-server 机器上,/usr/local/share/zabbix/alertscripts 目录下创建一个wechat-webhook.py。下载电脑版企业微信,登录后,在要接收群消息的群里,点击右上角三个点,添加机器人后,保存机器人的webhook地址。注意:我这里没有创建用户,用的就是admin管理员用户以及群组,按你自己规划的来。]# ./wechat-webhook.py "测试消息:这是一条测试告警"备注:告警信息可以自己优化,达到自己想要的效果,这里并不确定消息格式。

weixin_74192208的博客 980

STM32开发 -- GPS模块开发详解

一、了解硬件 我使用的GPS模块型号为UBX-M8030 参看:UBX-M8030 系列 查看一下它的特性: 多用途 GNSS 芯片,提供三种产品等级 最多可并发接收 3 个 GNSS(GPS、伽利略、GLONASS、北斗) 行业领先的 -167 dBm 导航灵敏度 业界最低电流消耗 在城市峡谷中具有绝佳的定位精度 安全性和完整性保护 支持所有的卫星增强系统 车载级芯片的工作...

不积跬步,无以至千里 3万+

Zabbix 6.4版本下增加企业微信告警设置

Zabbix6.4设置企业微信告警

08号中年大叔 1944

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

搭建zabbix4.4.6以及企业微信告警功能实现

添加一个群聊机器人服务器告警机器人。

风尘小白沙 628

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Zabbix7.2与Docker集成:企业微信告警通知全流程配置指南

本文详细介绍了如何使用Docker容器化技术快速部署Zabbix 7.2监控平台,并配置其通过Webhook与企业微信机器人集成,实现秒级告警通知。内容涵盖从Docker Compose部署、脚本编写到Zabbix界面配置告警媒介与动作的全流程,旨在帮助企业运维人员构建高效、即时的监控告警体系。

info6的博客 200

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

上一篇: zabbix 5.0 监控内存、CPU、磁盘空间
下一篇: java 手机号运营商号段正则匹配(长期更新)
BinaryBoss
博客等级 码龄9年 43粉丝 48原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值