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

51 驱动 INA219 电流电压功率测量

文章目录

  • 一、INA219简介
  • 二、引脚功能
  • 三、寄存器介绍
    • 1.配置寄存器 0x00
    • 2.分流电压寄存器 0x01
    • 3.总线电压寄存器 0x02
    • 4.功率寄存器 0x03
    • 5.电流寄存器 0x04
    • 6.基准寄存器 0x05
  • 四、IIC 时序说明
    • 1.写时序
    • 2.读时序
  • 五、程序
  • 六、实验现象
    • 1.线路图
    • 2.输出数据


一、INA219简介

INA219是一个电流分流和电源监视器与I2C或smbus兼容的接口。该设备监测分流电压降和总线电源电压,可编程转换时间和滤波。可编程的校准值与内部乘法器相结合,可直接读出以安培为单位的电流。一个附加的相乘寄存器计算功率,单位为瓦。I2C或smbus兼容接口具有16个可编程地址。

在这里插入图片描述

二、引脚功能

IN+连接到分流电阻的正级
IN-连接到分流电阻的负级
GND电源地
VS电源正
SCL时钟线
SDA数据线
A0IIC地址设置引脚
A1IIC地址设置引脚

INA219有两个地址引脚,A0和A1。下图描述了16个可能地址中的每一个的引脚逻辑。由原理图可知 INA219 模块 A0 A1 引脚被下拉至 GND ,故 IIC 地址则为 Write:1000 0000 0x80 Read:1000 0001 0x81
在这里插入图片描述

三、寄存器介绍

在这里插入图片描述

1.配置寄存器 0x00

用于配置传感器的量程及工作模式等等
在这里插入图片描述

Bit字段类型默认值(二进制)描述
15RSTR/W0设置成1 复位
14NCR/W0无功能 保留
13BRNGR/W1总线电压量程范围
0 = 16V FSR
1 = 32V FSR
11 12PGR/W11分流电阻最大电压,可设置最大量程电流,I=V/R
(模块分流电阻R=0.1欧,非芯片内部电路)
00 ±40 mV
01 ±80 mV
10 ±160 mV
11 ±320 mV
7:10BADCR/W0011总线ADC分辨率及采样次数
参考下文说明
3:6SADCR/W0011分流ADC分辨率及采样次数
参考下文说明
0:2MODER/W111操作模式
000 关闭
001 分流电压 触发
010 总线电压 触发
011 分流及总线电压 触发
100 关闭ADC
101 分流电压 连续测量
110 总线电压 连续测量
111 分流及总线电压 连续测量

BADC(7:10) SADC(3:6) 的配置都参考下图
在这里插入图片描述

2.分流电压寄存器 0x01

存放分流电压数据
在这里插入图片描述

在这里插入图片描述

3.总线电压寄存器 0x02

存放总线电压数据
在这里插入图片描述
总线电压值 = 寄存器值>>3 * LSB(4mV)
上图可知数据存放于寄存器的 3-15Bit ,故计算的话先右移三位去掉其余非数据位,再乘最小分辨率LSB(4mV)

4.功率寄存器 0x03

存放功率数据
在这里插入图片描述
功率 = 寄存器值 * Power_LSB ,Power_LSB 的计算参考第6小节说明

5.电流寄存器 0x04

存放电流数据
在这里插入图片描述

电流值 = 寄存器值 * Current_LSB ,Current_LSB 的计算参考第6小节说明

6.基准寄存器 0x05

设置传感器的基准值
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
根据上面的公式计算Cal(基准值) 首先得计算 Current_LSB(电流最小分辨率),trunc 取整,Rshunt 分流电阻0.1R

Current_LSB_MAX = Maximum Expected Current(最大电流) / 2^15
Current_LSB_MIN = Maximum Expected Current(最大电流) / 2^12

最大电流 = 分流电阻最大电压(可通过00寄存器自行配置,本文采用320mV) / 分流电阻 = 320mV / 0.1R=3.2A

Current_LSB_MAX = 3.2A / 2^15 = 0.00009765625
Current_LSB_MIN = 3.2A / 2^12 = 0.00078125
取中间值适用值: Current_LSB = 0.0001A

因此 Cal(基准值) = 0.04096 / 0.0001A * 0.1R = 4096 = 0x1000 ,将该值写入寄存器 0x05 即可
测量结果如果出现偏差过大可用下图公式校准基准值
在这里插入图片描述
手册还给出了功率最小分辨率 Power_LSB 的计算公式
在这里插入图片描述

Power_LSB = 20 * 0.0001A = 0.002W

四、IIC 时序说明

1.写时序

在这里插入图片描述

2.读时序

在这里插入图片描述
该时序前还应加一个发送寄存器地址的时序:起始信号—IIC地址—ACK—寄存器地址—ACK

五、程序

INA219.c

#include <STC89C5xRC.H>
#include <IIC.H>
/*IIC 地址-------------------------------------------------------------------------------------------------------------*/
#define INA219 0x80
/*寄存器地址------------------------------------------------------------------------------------------------------------*/
#define	INA219_Configuration                          0x00
#define INA219_Shuntvoltage                           0x01
#define INA219_Busvoltage                             0x02
#define INA219_Power                                  0x03
#define INA219_Current                                0x04
#define INA219_Calibration                            0x05
/* INA219_curation Bit15-0 ------------------------------------------------------------------------------------------*/
#define RST 			0 		//设置成1复位 0(默认) (Bit15)
//                      0       //(Bit14 保留)
#define BRNG 			0   	//总线电压量程范围 16V (Bit13)
#define PG  			0x03	//分流电阻最大电压 ±320mV(默认) (Bit11-12)
#define BADC		    0x0C	//总线电压ADC分辨率/平均值设置  12位分辨率/16次平均值/8.51ms(Bit7–10)
#define SADC			0x0C    //分压电阻ADC分辨率/平均值设置  12位分辨率/16次平均值/8.51ms(bit3-6)
#define	MODE     	    0x07 	//运行模式  连续检测(默认)(Bit0–2)#define Configuration_H (RST << 7)|(BRNG << 5)|(PG << 3)|((BADC >> 1) & 0x0F)
#define Configuration_L ((BADC & 0x01) << 7)|(BADC << 3)|(MODE)
/* INA219_Calibration -------------------------------------------------------------------------------------------------*/
#define Calibration_H 0x10
#define Calibration_L 0x00
/*
0.32V/0.1R = 3.2A
Current_LSB_MAX = 3.2/2^12 = 0.00078125A
Current_LSB_MIN = 3.2/2^15 = 0.00009765625A
Current_LSB = 0.0001A = 0.1mA
Power_LSB = 20 * Current_LSB = 20 * 0.1mA = 2mW
CAL = 0.04096/(0.0001A*0.1R) = 4096 = 0x1000
*/
void INA219_Write(unsigned char Register,unsigned char Data_H,unsigned char Data_l)
{IIC_Start();IIC_SendByte(INA219);IIC_ReceiveAck();//没有对返回的 ACK 做处理IIC_SendByte(Register);IIC_ReceiveAck();IIC_SendByte(Data_H);IIC_ReceiveAck();IIC_SendByte(Data_l);IIC_ReceiveAck();IIC_Stop();
}
unsigned int INA219_Read(unsigned char Register)
{unsigned int Register_Data=0;IIC_Start();IIC_SendByte(INA219);IIC_ReceiveAck();//没有对返回的 ACK 做处理IIC_SendByte(Register);IIC_ReceiveAck();IIC_Start();IIC_SendByte(INA219+0x01);IIC_ReceiveAck();Register_Data = IIC_ReceiveByte();IIC_SendAck(0);Register_Data = (Register_Data<<8)|IIC_ReceiveByte();
//	IIC_SendAck(1);IIC_Stop();return Register_Data;
}
void INA219_Init()
{INA219_Write(INA219_Configuration,Configuration_H,Configuration_L);INA219_Write(INA219_Calibration,Calibration_H,Calibration_L);
}
unsigned int INA219_GetVoltage()//总线电压值 =  寄存器值>>3 * LSB(4mV)
{unsigned int Voltage;Voltage = (unsigned int)(((INA219_Read(INA219_Busvoltage)) >> 3) * 4);return Voltage;
}
unsigned int INA219_GetCurrent()//电流值 = 寄存器值 * Current_LSB(0.1mA)
{unsigned int Current;Current = (unsigned int)((INA219_Read(INA219_Current)) * 0.1);return Current;
}
unsigned int INA219_GetPower()//功率 = 寄存器值 * Power_LSB(2mW)
{unsigned int Power;Power = (unsigned int)((INA219_Read(INA219_Power)) * 2);return Power;
}

main.c

#include <STC89C5xRC.H>
#include <uart.H>
#include <INA219.H>
#include <delay.H>
//整形数据转字符数组
void IntToString(unsigned char *str,unsigned int dat)//str 存放字符的数组,dat 整形数据
{unsigned char i = 0;unsigned int buf[12];do { //先转换成 低位在前的十进制数组 将低位高位互换buf[i++] = dat % 10;dat /= 10;} while (dat > 0);while (i-- > 0) //将数组值转换为 ASCII 码反向拷贝到接收指针上{*str++ = buf[i] + '0';}*str = '\0';
}	
void main()
{unsigned int Voltage = 0,Current = 0,Power = 0;unsigned char arr[12];char * P = arr;uart_init();//波特率2400INA219_Init();Delay_x_ms(1000);while(1){Voltage = INA219_GetVoltage();Delay_x_ms(100);//获取总线电压Current = INA219_GetCurrent();Delay_x_ms(100);//获取电流Power = INA219_GetPower();//获取功率IntToString(P,Voltage);//int转char数组UART_Send(P);UART_Send("mV");UART_SendByte(0x0D);UART_SendByte(0x0A);IntToString(P,Current);UART_Send(P);UART_Send("mA");UART_SendByte(0x0D);UART_SendByte(0x0A);IntToString(P,Power);UART_Send(P);UART_Send("mW");UART_SendByte(0x0D);UART_SendByte(0x0A);Delay_x_ms(1000);}
}

六、实验现象

1.线路图

在这里插入图片描述

2.输出数据

5V 0.8A 测试
电源—负载仪
在这里插入图片描述
程序输出数据

在这里插入图片描述

5V 2A 测试
电源—负载仪
在这里插入图片描述
程序输出数据
在这里插入图片描述

7V 1A 测试
电源—负载仪
在这里插入图片描述
程序输出数据
在这里插入图片描述

以上内容个人理解,如有不正欢迎指教,需要资料及工程可留言邮箱

相关文章:

51 驱动 INA219 电流电压功率测量

文章目录 一、INA219简介二、引脚功能三、寄存器介绍1.配置寄存器 0x002.分流电压寄存器 0x013.总线电压寄存器 0x024.功率寄存器 0x035.电流寄存器 0x046.基准寄存器 0x05 四、IIC 时序说明1.写时序2.读时序 五、程序六、实验现象1.线路图2.输出数据 一、INA219简介 INA219是…...

JavaScript弹出框的使用:对话框、确认框、提示框、弹窗操作

关于 Window对象和 Document 对象的详细使用,系列文章: 《Window对象的常用属性和方法》 《Document对象的常用属性和方法:getElementById()、getElementsByName()、createElement()方法》 《Document获取元素并修改内容:getElementById()方法、value属性、innerHTML属性、…...

【设计模式】深入解析设计模式:门面模式(外观模式)的定义、优点和代码实现

门面模式&#xff08;外观模式&#xff09; SLF4J是门面模式的典型应用&#xff08;但不仅仅使用了门面模式&#xff09;。 门面模式定义 门面模式&#xff08;Facade Pattern&#xff09;又称为外观模式&#xff0c;提供了一个统一的接口&#xff0c;用来访问子系统中的一群…...

UE5学习笔记 FPS游戏制作34 触发器切换关卡

文章目录 搭建关卡制作触发器传送门显示加载界面 搭建关卡 首先搭建两个关卡&#xff0c;每个关卡里至少要有一个角色 制作触发器传送门 1 新建一个蓝图&#xff0c;父类为actor&#xff0c;命名为portal&#xff08;传送门&#xff09; 2 为portal添加一个staticMesh&#…...

UE5学习笔记 FPS游戏制作26 UE中的UI

文章目录 几个概念创建一个UI蓝图添加UI获取UI的引用 切换设计器和UI蓝图将UI添加到游戏场景锚点轴点slotSizeToContent三种UI数据更新方式(Text、Image)函数绑定属性绑定事件绑定 九宫格分割图片按钮设置图片绑定按下事件 下拉框创建添加数据修改样式常用函数 滚动框创建添加数…...

Spring Boot分布式项目重试实战:九种失效场景与正确打开方式

在分布式系统架构中&#xff0c;网络抖动、服务瞬时过载、数据库死锁等临时性故障时有发生。本文将通过真实项目案例&#xff0c;深入讲解Spring Boot项目中如何正确实施重试机制&#xff0c;避免因简单粗暴的重试引发雪崩效应。 以下是使用Mermaid语法绘制的重试架构图和决策…...

首个物业plus系列展 2025上海国际智慧物业博览会开幕

AI赋能服务升级&#xff01;首个“物业plus”系列展 2025上海国际智慧物业博览会盛大开幕 3月31日&#xff0c;2025上海国际智慧物业博览会&#xff08;简称“上海物博会”&#xff09;在上海新国际博览中心N4馆隆重开幕。本届展会由广州旭杨国际展览有限公司主办&#xff0c…...

《C++多线程下单例 “锁钥” 法则》

一、概述 本文章介绍了一段 C 代码&#xff0c;该代码实现了在多线程环境下的单例模式。单例模式确保一个类只有一个实例&#xff0c;并提供全局访问点。在多线程场景中&#xff0c;需要额外的同步机制来保证单例对象创建的线程安全性。单例模式在许多场景中都有重要应用&#…...

WEB或移动端常用交互元素及组件 | Axure / 元件类型介绍(表单元件、菜单和表格 、流程元件、标记元件)

文章目录 引言I Axure / 元件类型介绍基本元件表单元件菜单和表格流程元件标记元件II Axure 基础Axure / 常用功能介绍Axure / 常用元素实例Axure / 动态交互实例Axure / 常用设计分辨率推荐III Axure / 创建自己的元件库元件库作用元件库的创建及使用引言 I Axure / 元件类型介…...

开发环境解决Secure Cookie导致302重定向

问题现象与根源分析 故障现象 前端本地开发时&#xff08;HTTP协议&#xff09;&#xff0c;调用接口返回302 Found状态码浏览器控制台警告&#xff1a;“Cookie被阻止&#xff0c;因为设置了Secure属性但未通过HTTPS传输”登录态无法保持&#xff0c;页面陷入重定向循环 技…...

华为三进制逻辑与高维量子计算的对比分析

此博客深入探讨华为三进制逻辑状态的技术意义&#xff0c;并与高维量子计算系统进行对比。文章将全面展开技术原理、实现机制、计算能力对比、未来应用前景等方面的内容。 目录 引言 华为三进制逻辑的创新意义 2.1 二进制逻辑的局限与历史探索 2.2 三进制逻辑的优势&#xff…...

网红指路机器人是否支持环境监测功能?

嘿呀&#xff0c;你可知道&#xff1f;如今的叁仟网红指路机器人那可太牛啦&#xff01;它们可不单单局限于为行人指明方向&#xff0c;还纷纷兼职当起了 “环境小卫士”&#xff0c;为咱们的城市生活注入了前所未有的超智能便利。就拿那个依托叁仟智慧杆打造的数智指路机器人来…...

【进阶】vscode 中使用 cmake 编译调试 C++ 工程

基于 MSYS2 的 MinGW-w64 GCC 工具链与 CMake 构建系统&#xff0c;结合VSCode及其扩展插件&#xff08; ms-vscode.cmake-tools&#xff09;&#xff0c;可实现高效的全流程C开发调试。既可通过 VSCode 可视化界面&#xff08;命令面板、状态栏按钮&#xff09;便捷完成配置、…...

突发,国行 iPhone 17,支持 eSIM

古人云“无心生大用”&#xff0c;往往你感到绝望的时候&#xff0c;转机就莫名其妙的来了。 根据供应链的最新消息&#xff0c;国行 iPhone 17 Air&#xff0c;有望用上 eSIM。 不仅如此&#xff0c;国产手机厂商&#xff0c;也计划推出类似iPhone 17 Air的超薄机型&#xf…...

红宝书第二十二讲:详解JavaScript类型化数组与二进制数据处理

红宝书第二十二讲&#xff1a;详解JavaScript类型化数组与二进制数据处理 资料取自《JavaScript高级程序设计&#xff08;第5版&#xff09;》。 查看总目录&#xff1a;红宝书学习大纲 一、为什么需要类型化数组&#xff1f; 普通JavaScript数组&#xff08;Array&#xff0…...

Elasticsearch安全与权限控制指南

在Elasticsearch维护中&#xff0c;安全管理是保障数据合规性和集群稳定性的关键。本文将详细介绍用户与角色管理、索引/字段级权限控制、HTTPS加密通信、审计日志与合规性检查等核心安全实践&#xff0c;希望可以帮助你构建更安全的Elasticsearch环境。 1 用户与角色管理 1.1…...

SAP 学习笔记 - 系统移行业务 - MALSY(由Excel 移行到SAP 的收费工具)

以前有关移行&#xff0c;也写过一些文章&#xff0c;比如 SAP 学习笔记 - 系统移行业务 - Migration cockpit工具 - 移行Material&#xff08;品目&#xff09;-CSDN博客 SAP 学习笔记 - 系统移行业务 - Migration cockpit工具2 - Lot导入_sap cockpit-CSDN博客 SAP学习笔记…...

【群智能算法改进】一种改进的蜣螂优化算法IDBO[3](立方混沌映射Cubic、融合鱼鹰勘探策略、混合高斯柯西变异)【Matlab代码#92】

文章目录 【获取资源请见文章第5节&#xff1a;资源获取】1. 原始DBO算法2. 改进后的IDBO算法2.1 立方混沌映射Cubic种群初始化2.2 融合鱼鹰勘探策略2.3 混合高斯柯西变异 3. 部分代码展示4. 仿真结果展示5. 资源获取 【获取资源请见文章第5节&#xff1a;资源获取】 1. 原始DB…...

《异常检测——从经典算法到深度学习》30. 在线服务系统中重复故障的可操作和可解释的故障定位

《异常检测——从经典算法到深度学习》 0 概论1 基于隔离森林的异常检测算法 2 基于LOF的异常检测算法3 基于One-Class SVM的异常检测算法4 基于高斯概率密度异常检测算法5 Opprentice——异常检测经典算法最终篇6 基于重构概率的 VAE 异常检测7 基于条件VAE异常检测8 Donut: …...

座舱与智驾“双轮驱动”,芯擎科技打造智能汽车“芯”标杆

在比亚迪、吉利、奇瑞等各大主机厂打响“全民智驾”的关键时期&#xff0c;以芯擎科技为代表中国芯片厂商开始“放大招”。 2025年3月27日&#xff0c;芯擎科技在南京举办了“擎随芯动、智融万象”生态科技日&#xff0c;重磅发布了“星辰一号”、“星辰一号Lite”&#xff0c…...

观察者模式在Java单体服务中的运用

观察者模式主要用于当一个对象发生改变时&#xff0c;其关联的所有对象都会收到通知&#xff0c;属于事件驱动类型的设计模式&#xff0c;可以对事件进行监听和响应。下面简单介绍下它的使用&#xff1a; 1 定义事件 import org.springframework.context.ApplicationEvent;pu…...

html5时钟升级!支持切换深浅模式 Canvas实现现代化动态时钟

HTML5 Canvas实现现代化动态时钟 这里写目录标题 HTML5 Canvas实现现代化动态时钟项目介绍技术实现1. 项目架构2. Canvas绘图实现2.1 表盘绘制2.2 刻度绘制2.3 指针绘制 3. 动画效果4. 主题切换 项目亮点技术要点总结项目收获改进方向结语 项目介绍 本项目使用HTML5 Canvas技术…...

Scala(2)

For循环控制 循环守卫 基本语法 for(i <- 1 to 3 if i ! 2) { print(i " ") }println() 说明&#xff1a; 循环守卫&#xff0c;即循环保护式&#xff08;也称条件判断式&#xff0c;守卫&#xff09;。保护式为 true 则进入循环体内部&#xff0c;为false 则跳…...

DataGear 5.3.0 制作支持导出表格数据的数据可视化看板

DataGear 内置表格图表底层采用的是DataTable表格组件&#xff0c;默认并未引入导出数据的JS支持库&#xff0c;如果有导出表格数据需求&#xff0c;则可以在看板中引入导出相关JS支持库&#xff0c;制作具有导出CSV、Excel、PDF功能的表格数据看板。 在新发布的5.3.0版本中&a…...

项目-苍穹外卖(十六) Apache ECharts+数据统计

一、介绍 二、营业额统计 需求分析和设计&#xff1a; Controller: Service: /*** 营业额统计* param begindate* param enddate* return* */Overridepublic TurnoverReportVO turnoverStatistics(LocalDate begindate, LocalDate enddate) {//创建时间集合List<LocalDate&…...

使用 PowerShell 脚本 + FFmpeg 在 Windows 系统中批量计算 MP4视频 文件的总时长

步骤 1&#xff1a;安装 FFmpeg 访问 FFmpeg 官网(Download FFmpeg)&#xff0c;下载 Windows 版编译包&#xff08;如 ffmpeg-release-full.7z&#xff09;。或者到&#xff08;https://download.csdn.net/download/zjx2388/90539014&#xff09;下载完整资料 解压文件&#…...

低成本文件共享解决方案:Go File本地Docker部署与外网访问全记录

文章目录 前言1. 安装Docker2. Go File使用演示3. 安装cpolar内网穿透4. 配置Go File公网地址5. 配置Go File固定公网地址 前言 在这个信息爆炸的时代&#xff0c;谁还没遇到过这样的囧事呢&#xff1f;正在办公室电脑上赶工报告&#xff0c;手机却突然蹦出一条紧急邮件&#…...

python文件的基本操作和文件读写

目录 文件的基本操作 文件读写 文件的基本操作 Python 中对文件的基本操作主要包括打开文件、读取文件、写入文件和关闭文件等操作。下面是一个简单的示例&#xff1a; 打开文件&#xff1a; file open(example.txt, r) # 使用 open() 函数打开一个名为 example.txt 的文…...

大数据与datax1.0

一、datax含义 是一个数据搬运工具 二、需要注意的点 插件(plugin)下面的reader和writer 要删除(第一步执行肯定会报错 所以请记得一定要删除reader和writer下的隐藏文件) 三、心得 做任何事要事半功倍,而不要事倍功半,好的学习方法永远比盲目的努力更重要--------谨记3.31…...

蚂蚁集团主导的ISO密码学国际标准立项,纳入国产算法

蚂蚁集团主导的ISO密码学国际标准 ISO 25330-3 立项&#xff0c; 国产算法Ferret成为标准方案。 近日&#xff0c;在美国弗吉尼亚州举行的 ISO/IEC JTC 1/SC 27 全体会议上&#xff0c;ISO/IEC 25330第三部分《Information Security — Oblivious Transfer — Part 3: Obliv…...

【新人系列】Golang 入门(十):错误处理详解 - 上

✍ 个人博客&#xff1a;https://blog.csdn.net/Newin2020?typeblog &#x1f4dd; 专栏地址&#xff1a;https://blog.csdn.net/newin2020/category_12898955.html &#x1f4e3; 专栏定位&#xff1a;为 0 基础刚入门 Golang 的小伙伴提供详细的讲解&#xff0c;也欢迎大佬们…...

Unity 2022.3.x部分Android设备播放视频黑屏问题

Android平台视频兼容性问题很多…类似的黑屏问题真的很头大&#xff0c;总结一些常见问题&#xff1a; 1. 视频文件不支持压缩 如果使用AssetBundle加载视频&#xff0c;这个AssetBundle压缩格式要选None。有人可能会说最新版Unity已经支持bundle压缩下播放视频&#xff0c;稳…...

基于Python的Django框架的个人博客管理系统

标题:基于Python的Django框架的个人博客管理系统 内容:1.摘要 本文围绕基于Python的Django框架构建个人博客管理系统展开。背景方面&#xff0c;随着互联网发展&#xff0c;个人博客成为信息分享与交流重要平台&#xff0c;传统博客管理系统在功能与灵活性上存在不足。目的是开…...

Unity加载OSGB倾斜摄影数据

Unity加载OSGB倾斜摄影数据 显而易见有一个最方便的办法就是使用CesiumForUnity确定是可以通过osgb数据转换成3dtiles进行加载的&#xff0c;然而有没有直接加载osgb格式数据的方法呢&#xff1f; 我们知道osgb的osg推出的倾斜摄影数据的数据结构&#xff0c;所以&#xff0c…...

RabbitMQ简单介绍和安装

RabbitMQ简单介绍 一.RabbitMQ介绍二.RabbitMQ的作用1.异步解耦2.流量削峰3.消息分发4.延迟通知 三.RabbitMQ安装&#xff08;Ubuntu&#xff09;1.先安装Erlang2.安装RabbitMQ3.安装RabbitMQ的管理界面4.创建虚拟机5.端口号信息 四.工作原理图 一.RabbitMQ介绍 RabbitMQ 是一款…...

【清华大学】DeepSeek政务应用场景与解决方案

目录 一、政务数字化转型三阶段演进二、人工智能政务应用场景四大方向 三、技术方案核心技术 四、解决方案案例1. 公文写作2. 合同协议智能审查3. 行政执法4. 就业指导 五、风险及对策六、落地大四步法七、未来发展展望AI职业替代逻辑空间智能与具身智能人机共生 一、政务数字化…...

spring boot自动装配原理

springboot自动装配几乎是现在面试必问的面试题&#xff0c;要是逐行分析自动装配流程肯定是很复杂的&#xff0c;因此我们从大体上来梳理即可。 一、 自动装配总览 首先要搞清楚两个问题&#xff0c;springboot自动装配是什么&#xff1f;解决了什么问题&#xff1f; springbo…...

【SDMs分析1】基于ENMTools R包的生态位分化分析和图像绘制(identity.test())

基于ENMTools包的生态位分化 1. 写在前面2. 生态位分化检验案例13. 生态位分化检验案例21. 写在前面 最近学了一个新的内容,主要是关于两个物种之间生态位分化检验的 R 语言代码。生态位分化是物种分布模型(SDM )研究中的关键部分,许多 SCI 论文都会涉及这一分析。该方法主…...

蓝桥杯比赛python程序设计——纯职业小组

问题描述 在蓝桥王国&#xff0c;国王统治着一支由 nn 个小队组成的强大军队。每个小队都由相同职业的士兵组成。具体地&#xff0c;第 ii 个小队包含了 bibi​ 名职业为 aiai​ 的士兵。 近日&#xff0c;国王计划在王宫广场举行一场盛大的士兵检阅仪式&#xff0c;以庆祝王…...

【Git教程】将dev分支合并到master后,那么dev分支该如何处理

将 dev 合并到 master 后的分支状态与操作指南 1. 合并后的分支状态 dev 分支不会消失&#xff1a; Git 的 git merge 命令仅将 dev 的内容合并到 master&#xff0c;不会删除 dev 分支。合并后&#xff0c;dev 分支仍然存在&#xff0c;其历史记录和代码保持不变。 分支的 H…...

python系统之综合案例:用python打造智能诗词生成助手

不为失败找理由&#xff0c;只为成功找方法。所有的不甘&#xff0c;因为还心存梦想&#xff0c;所以在你放弃之前&#xff0c;好好拼一把&#xff0c;只怕心老&#xff0c;不怕路长。 python系列之综合案例 前言一、项目描述二、项目需求三、 项目实现1、开发准备2、代码实现 …...

HCIA-数据通信datacom认证

文章目录 一、数据通信简介1.1 标准协议1.2 数据传输过程 二、通用路由平台VRP2.1 VRP简介2.2 命令行基础 三 、网络层协议IP3.1 数据封装3.2 数据包传输2.3 IP地址2.4 子网划分2.5 ICMP 四、IP路由基础4.1 路由概述4.2 路由表4.3 路由转发4.4 静态路由4.5 动态路由4.6 路由高级…...

学以致用,基于OpenCV的公摊面积估算程序

由于很多户型图并没有标注各个房间或者走廊的面积&#xff0c;亦或比较模糊&#xff0c;且很多人并不具备迅速口算多个小数相加再做除法的能力&#xff0c;本帖通过程序粗略计算公摊比例。由于非专业人士&#xff0c;公摊面积涉及到很多建筑学的专业公式&#xff0c;因此本帖只…...

Odoo/OpenERP 和 psql 命令行的快速参考总结

Odoo/OpenERP 和 psql 命令行的快速参考总结 psql 命令行选项 选项意义-a从脚本中响应所有输入-A取消表数据输出的对齐模式-c <查询>仅运行一个简单的查询&#xff0c;然后退出-d <数据库名>指定连接的数据库名&#xff08;默认为当前登录用户名&#xff09;-e回显…...

Ubuntu20.04安装OpenVINO环境以及YOLOv8 C++部署测试

深度学习 文章目录 深度学习一、三种推理框架介绍1、OpenVINO介绍2、TensorRT介绍3、Mediapipe介绍 二、三种框架的对比1、框架自身比较2.1、从模型部署上&#xff1a;2.2.从支持深度学习模型上&#xff1a;2.3.从应用平台上:2.4.从上手的难易程度上&#xff1a; 2、应用平台比…...

uniapp微信小程序封装navbar组件

一、 最终效果 二、实现了功能 1、nav左侧返回icon支持自定义点击返回事件&#xff08;默认返回上一步&#xff09; 2、nav左侧支持既显示返回又显示返回首页icon 3、nav左侧只显示返回icon 4、nav左侧只显示返回首页icon 5、nav左侧自定义left插槽 6、nav中间支持title命名 7…...

Docker中安装MySQL--------【详细图解】

1.根据所需拉取镜像---------不指定版本会下载最新版 docker pull mysql:8.0.27 2.查看所拉取的镜像 docker images 3.在/usr/local下创建docker、mysql目录 cd /usr/local mkdir docker mkdir mysql 4.进入mysql文件夹 cd mysql 5.创建config文件夹 mkdir config 6.编写配…...

QT基础:安装与简介

QT初级 1、简介1.1 安装1.2 设置1.3 在VS中配置Qt1.3 帮助文档 2、Qt项目2.1 创建项目2.1 项目文件2.2 Qt中的窗口类窗口显示 2.3 坐标体系2.4 内存回收 1、简介 QT是一个跨平台的C应用程序开发框架。几乎支持所有的平台, 可用于桌面程序开发以及嵌入式开发。 Qt是标准 C 的扩…...

智能打印预约系统:微信小程序+SSM框架实战项目

微信小程序打印室预约系统&#xff0c;采用SSM&#xff08;SpringSpringMVCMyBatis&#xff09;经典框架组合。 一、系统核心功能详解 1. 智能化管理后台 ​用户数据看板​打印店资源管理​预约动态监控​服务评价系统 2. 微信小程序端 ​智能定位服务​预约时段选择​文件…...

AWTK-WEB 快速入门(6) - JS WebSocket 应用程序

WebSocket 可以实现双向通信&#xff0c;适合实时通信场景。本文介绍一下使用 Javacript 语言开发 AWTK-WEB 应用程序&#xff0c;并用 WebSocket 与服务器通讯。 用 AWTK Designer 新建一个应用程序 先安装 AWTK Designer&#xff1a; https://awtk.zlg.cn/web/index.html …...