智能汽车十大网络安全攻击场景-《智能汽车网络安全权威指南》

引言

大家都很熟悉OWASP Top 10风险报告,这个报告不但总结了Web应用程序最可能、最常见、最危险的10大安全隐患,还包括了如何消除这些隐患的建议,这个“OWASP Top 10“差不多每隔三年更新一次。目前汽车网络安全攻击威胁隐患繁多,某知名电动汽车厂商安全总监结合实际经验,在他的新书《智能汽车网络安全权威指南》中归纳总结了智能汽车10大攻击场景,以及每个场景的攻击手段和防御方法。

在20世纪50年代,汽车电子成本仅占汽车总成本的1%。然而,随着车联网技术的进步,目前汽车电子成本已经增加到了35%。预计到2030年,这一数字还将继续上升至50%。随着软件定义汽车时代的到来,汽车网络安全攻击面变得非常广泛,主要分布在10个主要模块,也被称为十大易受攻击威胁模块。这些模块包括信息娱乐系统(IVI)、车载网联通讯终端(T-BOX)、车载网关(Gateway)、统一诊断服务(Unified Diagnostic Services,UDS)、车载诊断(On-board diagnostics,OBD)、高级辅助驾驶系统(ADAS)、车载信息服务(TSP)、充电网络系统(Charging System)、汽车远程升级(Over-The-Air,OTA)以及手机端车联网应用程序(App),如图1所示。

《智能汽车十大网络安全攻击场景-《智能汽车网络安全权威指南》》

图1 车联网重点模块图

场景1:车载信息娱乐系统

车载信息娱乐系统(In-Vehicle Infotainment,IVI)指的是结合了向用户提供娱乐信息的车载系统。IVI系统使用音频/视频(A/V)接口、触摸屏、键盘和其他类型的设备来提供这些服务。车载信息娱乐系统通常具备一部分CAN总线操控能力,因此通过攻击车载信息娱乐系统可能会导致远程控制车辆。

2018年,Computest的研究人员Thijs Alkemade和Daan Keuper发现了某汽车品牌的IVI漏洞。在某些情况下,该漏洞可能允许黑客控制关键功能,这些功能包括打开和关闭汽车的麦克风,使用麦克风来收听驾驶员的谈话,以及获得对谈话历史和汽车通讯录的访问权限。最重要的是,研究人员表示,攻击者还可以通过其导航系统跟踪汽车。

IVI系统是最容易遭受到攻击的模块,一般IVI系统采用安卓系统,因此安卓系统的安全风险,在IVI上可能都会出现,如图2所示,这是IVI主要攻击面(非详尽)。

《智能汽车十大网络安全攻击场景-《智能汽车网络安全权威指南》》

图2 IVI遭受的攻击

场景2:车载网联通讯终端

车载网联通讯终端,即T-BOX,对内与车载CAN总线相连,对外通过云平台与手机端实现互联,是车内外信息交互的纽带,实现指令和信息的传递。T-BOX的结构简单示意如图3所示。

《智能汽车十大网络安全攻击场景-《智能汽车网络安全权威指南》》

图3 T-BOX的结构示意图

为了研究方便,一般我们会从车上把T-BOX拆下来,这就需要知道T-BOX在车上的位置。T-Box的安装位置因制造商而异,但一般的T-Box安装位置在仪表板内侧、油门踏板旁边、主/副驾驶座椅下方、汽车中控台内侧、手套箱内部,齿轮盖内部等。如图4所示,这是T-Box在主/副驾驶座椅下方的安装位置。

《智能汽车十大网络安全攻击场景-《智能汽车网络安全权威指南》》

图4 T-box主/副驾驶座下方安装位置

由于T-Box的安装位置不固定,拆卸应由专业修车的人员负责,所以搞汽车网络安全的团队最好有懂修车的,例如基于S32K148的T-BOX开发板如图5所示。

《智能汽车十大网络安全攻击场景-《智能汽车网络安全权威指南》》

图5 基于S32K148的T-BOX开发板

T-BOX作为车辆中的接入点,是车内最核心的模块。T-BOX常见功能包括远程控制、远程诊断、OTA、高精定位、近场控制、V2X等,T-BOX系统一般采用Linux系统,因此Linux系统的安全风险,T-BOX都具备,以下是T-BOX主要攻击面(非详尽)。

表1 T-BOX安全风险

风险分类

风险项

通讯风险

远程通讯:中间人攻击、数据监听、篡改、否认

中程通讯:中间人攻击、数据监听、篡改、否认(包括蓝牙、Wi-Fi)

CAN通讯:数据监听、篡改、否认

I2C/SPI/UART等串型总线数据监听

隐私风险

私钥提取、日志泄漏、定位数据等敏感信息泄漏

系统风险

提权、反弹Shell、缓冲区溢出等

固件风险

固件提取、固件逆向、固件篡改等

场景3:车载网关

汽车网关是一个中央枢纽,可在车辆中的许多不同网络之间安全可靠地互连和传输数据,汽车网关的核心功能是在车内安全可靠地传输数据,车辆中可能存在多个网关,它们可以是集中式网关和多个域网关。集中式网关在远程信息处理控制单元(TCU)、动力总成、车身、信息娱乐系统、智能座舱和高级辅助驾驶应用程序等域之间安全可靠地传输数据。域网关(或域控制器)具有类似的功能,实现各自域内ECU的相互通信。与域网关相比,集中式网关通常需要更高的处理性能、接口和更高带宽的网络协议。图6说明了如何在车辆中实现这两种类型的网关。

《智能汽车十大网络安全攻击场景-《智能汽车网络安全权威指南》》

图6 车辆网关类型

网关作为汽车网络系统的核心控制装置,主要功能是在车载网络和各种电子控制单元之间提供无缝通信,通过不同网络间的物理隔离和不同通信协议间的转换,在各个共享通信数据的功能域(动力总成域、底盘和安全域、车身控制域、信息娱乐域、远程信息处理域、ADAS域)之间进行信息交互。表2提供了网关关键功能的摘要(非详尽列表)。

表2 网关关键功能

网关功能

描述

协议转换

将数据和控制信息转换为不兼容的网络,以实现它们之间的通信

数据路由

在节点上路由数据以到达其预期目的地,它可能位于需要协议转换的不同网络上

诊断路由

外部诊断设备和ECU之间的诊断消息路由,可能涉及DolP和ECU等诊断协议之间的转换

防火墙

基于规则过滤入站和出站网络流量,禁止来自未经授权的源的数据传输,高级防火墙可能包括上下文感知过滤

消息镜像

从接收到的接口捕获数据,以通过另一接口传输,用于诊断或数据记录(存储)

入侵检测

监控网络流量是否存在可能表示入侵的异常

网络管理

管理网络和连接到网络的ECU的状态和配置,并支持诊断

密钥管理

安全处理和存储网络密钥和证书

OTA管理

管理车辆内通过网关访问的ECU,远程OTA固件更新

网关也是智能汽车最可能成为网络攻击的目标,网关一般是RTOS系统,能够弄清楚他的指令集是关键,网关的主要攻击面(非详尽),如表3所示。

表3 网关的攻击面

攻击入口

攻击位置

攻击结果

  

OBD-II

  

内部

CAN总线注入

访问权限

控制制动器

警示灯和安全气囊

 

USB

 

内部

USB升级

ADB调试接口

 

蓝牙

 

外部

车辆钥匙

车辆启动

 

Wi-Fi

 

外部

未授权访问

注入CAN信息

 

传感器

 

内部

激光雷达干扰

摄像头欺骗

TPSM欺骗

OTA升级

内部

签名绕过

场景4:汽车远程升级

汽车远程升级(Over the Air Technology,OTA)是指替代本地连接方式,通过无线传输方式进行软件下载和软件更新的过程,更新的速度和安全性至关重要。OTA是实现软件定义汽车的必备基础,是智能网联汽车系统及其应用的唯一远程升级通道。作为安全的最后一道防线,OTA常见类型包括SOTA、FOTA,实现对动力域、底盘域、辅助驾驶域、信息娱乐域和车身域在内的重大功能更新。

  •     FOTA:Firmware OTA,固件升级,面向车端上的固件升级
  •     SOTA:Software OTA,应用软件升级,面向车载端上应用软件升级。

通过OTA能够为车端添加新功能、修复漏洞等,传统更新汽车软件的做法是到4S店通过UDS对相应的ECU进行软件升级,通过USB等接口对信息娱乐系统进行升级。伴随着智能汽车的发展,本地升级已不再适应高速变化的车载生态,OTA流程如图7所示。

《智能汽车十大网络安全攻击场景-《智能汽车网络安全权威指南》》

图7 OTA流程图

OTA主要分为云端和车端,云端包括SBOM管理、任务调度、打包升级、软件分发、升级审批、升级通知、升级日志、升级包上传、版本控制、升级监控与统计等。车端包括定时检查更新、手动检查更新、安全下载、断点续传、订阅升级消息、升级包签名验证、ECU刷写、升级日志上报等。可以看出OTA的难点在于保证安全和传输效率,以下是OTA攻击面,如图8所示。

《智能汽车十大网络安全攻击场景-《智能汽车网络安全权威指南》》

图8 OTA攻击面示意图

场景5:车载信息服务

车载信息服务(TelematicsServiceProvider,TSP)在车联网系统中以云的形式向用户侧与车辆侧提供以下服务:用户信息维护、车辆定位、状态监控等。TSP功能如图9所示。

《智能汽车十大网络安全攻击场景-《智能汽车网络安全权威指南》》

图9 TSP功能示意图

TSP是重要的车联网云服务,一般云服务存在的安全风险,TSP同样存在,可以参考OWASP Top 10。云端主要靠提供应用程序编程接口(API)与其他端进行通信,API位于应用程序之间或者充当处理系统之间数据传输的中间层,它提供了一个简单而高效的接口,用于扩展功能和改善联网汽车体验。API安全不是汽车网络安全独有的,更多API安全可以参考OWASP API安全十大漏洞,如表4所示。

表4 OWASP API安全十大漏洞

API 1:损坏的对象级授权

API 6:批量分配

API 2:认证失败

API 7:安全配置错误

API 3:过度数据暴露

API 8:注入

API 4:缺乏资源和速率限制

API 9:资产管理不当

API 5:损坏的功能级别身份验证

API  10:记录和监控不足

场景6:车载诊断

车载诊断(On-Board Diagnostics,OBD)系统是一台计算机,负责通过一系列传感器监控汽车的状态,在典型的乘用车中,可以在汽车驾驶员侧的仪表板下方找到OBD-II端口,根据车辆类型,端口可能具有16针、6针或9针,如图10所示。

《智能汽车十大网络安全攻击场景-《智能汽车网络安全权威指南》》

图10 车辆中的OBD-II端口

OBD包含OBD-I和OBD-II,OBD-I是自1991年起适用于为加利福尼亚制造的车辆的车载诊断标准,以控制该州的车辆排放,所有在该地区销售的汽车都必须配备OBD-I以检测发动机问题并报告故障代码。OBD-II于1996年成为美国的全国标准,并沿用至今。与OBD-I不同,配备OBD-II的汽车都支持相同类型的扫描仪,故障代码本身也已标准化,尽管制造商会定制一些额外的特定信息。随着汽车计算机变得越来越复杂,汽车制造商也为其汽车的OBD-II系统添加了越来越多的功能,可以使用OBD-II扫描仪查看实时诊断数据、连接汽车计算机等,如图11所示,通过OBD-II不仅可以实现为外部测试工具(OFF Board)提供诊断服务,还可以实现车辆在运行过程中的自我诊断。

《智能汽车十大网络安全攻击场景-《智能汽车网络安全权威指南》》

图11 OBD-II诊断

从OBD-I到OBD-II,最显著的改进是所有OBD-II汽车都有相同类型的端口,以相同的方式发送相同类型的数据。换句话说,可以购买一台OBD-II扫描仪,并从任何制造商生产的任何汽车中获取有用的信息。

OBD-II包括一系列标准化的故障诊断代码,即DTC。DTC是当OBD-II系统指示故障时由动力总成控制模块(PCM)生成和存储的代码。简而言之,当您的汽车系统诊断出问题时,它会发送一个代码来指示具体故障。根据汽车工程师协会(SAE)发布的故障手册,就可以通过DTC代码查看问题出在哪里,同时有许多工具可用于插入OBD-II连接器并访问DTC,如图12所示。

《智能汽车十大网络安全攻击场景-《智能汽车网络安全权威指南》》

图12 手持式扫描工具

现在的远程诊断功能也可以基于OBD-II的诊断数据,如发动机转数、车速、故障代码等信息,然后通过T-BOX等远程信息处理设备将这些数据上传到云端,再使用这些信息来对车辆进行监控和远程诊断。前面也提到了2021年OBD-II接口攻击占比5.4%,OBD-II的攻击路径如图13所示,后续会深入介绍。

《智能汽车十大网络安全攻击场景-《智能汽车网络安全权威指南》》

图13 OBD-II攻击路径

场景7:统一诊断服务

今天行驶在路上的汽车包含多达几百个ECU,每个都执行特定的功能,这增加了系统的复杂性,需要更有效的方法在发生故障时测试和诊断车辆系统。统一诊断服务(Unified diagnostic services,UDS)与OBD最大的区别就在于“统一”,具体来说,它是面向整车所有UDS的,而OBD是面向排放系统诊断系统的。随着时间的推移,已经开发了许多诊断协议,例如KWP 2000、ISO 15765和K-Line,用于车辆诊断。因此,为确保通用兼容性,原始设备制造商和供应商同意依赖名为统一诊断服务协议的标准协议。UDS用于诊断全球车辆的最新汽车车辆诊断协议,UDS协议遵从ISO-14229标准。

UDS不仅应用于远程诊断,还可以应用ECU刷写,这在OTA升级非智能ECU时经常使用。UDS刷写也就是通过UDS将服务实现软件ECU放在非易失性存储器中,ECU包含启动管理器(Boot Manager)、应用软件(Application Software)、重新编程软件(Reprogramming Software),可以参考ISO 14229-1给出的ECU刷写执行流程如图14所示。

《智能汽车十大网络安全攻击场景-《智能汽车网络安全权威指南》》

图14 基于UDS的ECU刷写执行流程

OTA的快速发展,对ECU刷写提出了更高的要求,要能适应各种极端情况,因此安全性会更加重要,如果安全措施不到位,ECU将会遭受攻击,例如欺骗攻击、密码暴力破解、会话劫持、中间人攻击以及权限提升等。

场景8:高级辅助驾驶系统

安全性是高级辅助驾驶系统(ADAS)和自动驾驶系统(ADS)的关键设计目标,本书讨论的范围仅限于ADAS,ADAS的开发人员需要确保他们已经考虑和分析了问题的所有方面,并且提供可衡量的证据来证明他们的功能是安全的,而即将出台的标准和法规没有描述任何特定的方法。由于ADAS暴露出巨大的攻击面,因此网络安全漏洞可能会造成毁灭性的后果,汽车网络安全不仅是一项关键要求,还是ADAS和ADS的关键先决条件,通用ADAS的分层架构如图15所示。

《智能汽车十大网络安全攻击场景-《智能汽车网络安全权威指南》》

图15 ADAS的分层架构

确保ADAS和ADS的网络安全是一项具有挑战性的任务,因为任何无线接口都可能成为潜在的攻击媒介。ADAS基于复杂的硬件和软件的混合,通常集成了车辆与V2X通信。高级驾驶辅助系统和自动驾驶汽车部署了各种传感器,如超声波、雷达、摄像头和激光雷达等。比如,摄像头传感器应用了许多图像分析、传感器融合、感知的算法,而尤其是那些基于神经网络、深度学习系统的算法,很容易受到网络攻击。ADAS攻击面如图16所示。

《智能汽车十大网络安全攻击场景-《智能汽车网络安全权威指南》》

图16 ADAS的攻击面

场景9:充电网络系统

里程焦虑是现在购买电动车的用户最大的顾虑,也是电动汽车行业要重点解决的问题。随着充电站市场的发展,不同公司专注于充电生态系统的特定领域,充电生态系统如图17所示。

《智能汽车十大网络安全攻击场景-《智能汽车网络安全权威指南》》

图17 充电生态系统

充电生态系统由这些部分组成:汽车制造商(OEM)、电动汽车(EV)、电动汽车充电桩(EVCS)、充电点运营商(CPO)、电动汽车服务提供商(eMSP)。

为了更好地了解充电系统安全,我们必须要先了解充电相关的技术,图18可以让我们更直观地感受电流如何在电动汽车中进行转换。

《智能汽车十大网络安全攻击场景-《智能汽车网络安全权威指南》》

图18 电动汽车中电流转换的简化框图(图片来源:Keysight E-Mobility Design and Test Technologies)

要搞清楚上图的原理,可能需要明白以下问题,这些部分将在本书中详细介绍。

  • 充电电流如何输送到电动汽车?

  • 充电过程如何控制?

  • 充电站如何通信及其通信协议?

  • 如何进行接线和安装?

充电设备通常通过云平台和移动应用程序进行控制,因此具有可远程访问且易受攻击的API。Upstream对2022年初以来100多起公开报道的汽车网络相关事件的分析中得出结论,电动汽车充电被确定为头号新兴攻击媒介。这些安全漏洞可能会影响电动汽车充电网络的所有组成部分,根据上述漏洞,总结电动汽车充电设备的安全风险分类如下。

  • 身份伪造

  • 植入木马

  • 固件更新

  • 固件劫持

  • 重放攻击

  • 移动应用

  • 物理接入

  • 协议安全

场景10:手机端车联网应用程序

前面已经描述了手机App操纵汽车的过程,目前多数车联网汽车厂商会向车主提供车联网移动应用程序,使用移动应用程序可以通过Wi-Fi、蓝牙、蜂窝网络控制车门开关、调节车窗等,移动应用程序的使用场景如图19所示,可以通过手机App查询车辆的实时位置以及历史轨迹等。

《智能汽车十大网络安全攻击场景-《智能汽车网络安全权威指南》》

图19 手机App使用场景

手机App本身的安全问题不仅在车联网中存在,而且车联网场景下允许通过手机控制车辆,这样会将安全危害放大,必须要重视起来。以下是手机端车联网应用程序攻击面。

  • 数据泄露

  • 蓝牙钥匙

  • 不安全的Wi-Fi

  • 网络钓鱼攻击

  • 恶意软件

  • 逆向伪造应用程序

  • 会话处理不当

从上述可以看到汽车网络安全涉及Web安全、协议安全、无线安全、内核安全、移动端安全、固件安全、硬件安全等,任何一方都可能会是薄弱点,所以保护汽车网络安全更重要的是将安全基础打牢,避免出现安全短板。随着汽车行业创新的加速,智能汽车正在转向自动驾驶,新技术正在为扩大攻击面铺平道路,这是一个日益受到关注的问题。朝着该目标的每一次新进展,都可能会引入一个新的攻击面,需要持续的安全投入。

想要了解更多关于汽车网络安全的内容,请大家关注《智能汽车网络安全权威指南》或者autosrc公众号。

转载自autosrc公众号:https://mp.weixin.qq.com/s/K2xjLmpmlsyjUXWWSHtivA

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/188543.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AI绘画“湿地公园的美女”

1、AI绘画:湿地公园的美女 通过输入描述:你需要什么场景的什么创作内容,AI根据内容创造出适合的主题 如图所示:请帮我创作一个湿地公园的像高圆圆的美女图片。 输出的结果如下:总体来说感觉还是非常快,基…

python pip安装第三方包时报错 error: Microsoft Visual C++ 14.0 or greater is required.

文章目录 1.问题2.原因3.解决办法 1.问题 pip install 的时候报错一大堆,其中有这么一段话 👇 error: Microsoft Visual C 14.0 or greater is required. Get it with "Microsoft C Build Tools": https://visualstudio.microsoft.com/visua…

Proteus仿真--用DS1302与12864LCD设计的可调式中文电子日历

本文主要介绍用DS1302和12864 LCD的可调式中文电子日历(完整仿真源文件及代码见文末链接) 仿真图如下 其中12864LCD上面显示中文年月日信息时间信息,按键K1-K4,K1用于年月日时分选择,K2用于加功能,K3用于…

基于时隙的多重冗余流指纹模型

文章信息 论文题目:基于时隙的多重冗余流指纹模型 期刊(会议):网络与信息安全学报 时间:2023 级别:CCF C 概述 为确保内生网络流量安全可信,本文在研究流水印及其扩展的流指纹机制的基础上&a…

Docker的学习笔记

1.1 docker的介绍 1.2 docker的一次安装 //如果是root用户,不加sudo也行curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/gpg | sudo apt-key add -echo deb https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/ buster stable…

【限流配电开关】TPS2001C

🚩 WRITE IN FRONT 🚩 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评百大…

软件开发中的抓大放小vs极致细节思维

最近在开发过程中,遇到了好多次 “这个需求点这次要不要做?” 的问题, 主要有两方阵营,比如以研发主导的 “这次先不做、等必要的时候再做” ,另外一方是以PM主导的 “这个不做需求不完整,可能影响用户体验…

Cortex-M与RISC-V区别

环境 Cortex-M以STM32H750为代表,RISC-V以芯来为代表 RTOS版本为RT-Thread 4.1.1 寄存器 RISC-V 常用汇编 RISC-V 关于STORE x4, 4(sp)这种寄存器前面带数字的写法,其意思为将x4的值存入sp4这个地址,即前面的数字表示偏移的意思 反之LOA…

使用Pytorch从零开始构建GRU

门控循环单元 (GRU) 是 LSTM 的更新版本。让我们揭开这个网络的面纱并探索这两个兄弟姐妹之间的差异。 您听说过 GRU 吗?门控循环单元(GRU)是更流行的长短期记忆(LSTM)网络的弟弟,也是循环神经网络&#x…

LoadRunner压力测试实例

摘要:本文通过实例讲解介绍了LoadRunner 工具的使用,介于公司的实际情况,文中主要是对工具的基本使用做了详细描述,高级运用方面除性能计数器与参数设置外其它均未涉及,待以后补充。目的是使公司人员根据该手册便可以独…

服务器被入侵了怎么去排查

在当今数字化时代,网络安全问题变得越来越重要。其中,服务器被入侵是一种常见的安全威胁。当服务器被入侵时,我们需要采取一系列措施来排查和解决问题。本文将为您提供服务器被入侵后的排查步骤。 第一步:确认服务器被入侵 当发现…

动手学深度学习(四)---多层感知机

文章目录 一、理论知识1.感知机2.XOR问题3.多层感知机4.多层感知机的从零开始实现 【相关总结】1.torch.randn()2.torch.zeros_like() 一、理论知识 1.感知机 给定输入x,权重w,和偏移b,感知机输出: 2.XOR问题 感知机不能拟合XOR问题,他…

2023年最新IntelliJ IDEA下载安装以及Java环境搭建教程(含Java入门教程)

文章目录 写在前面Java简介IntelliJ IDEA简介IntelliJ IDEA下载安装JDK简介JDK下载教程 Java入门IntelliJ IDEA使用教程 写在后面 写在前面 2023年最新IntelliJ IDEA下载安装教程,内含JAVA环境搭建教程,一起来看看吧! Java简介 Java是一门…

MySQL的基础知识

目录 关系型数据库 SQL通用语法 数据类型 数值类型 字符串类型 日期类型 SQL分类 DDL 数据库操作 表操作 DML 添加数据 修改数据 删除数据 DQL 基本查询 条件查询 聚合函数 分组查询 排序查询 分页查询 执行顺序 DCL 管理用户 权限控制 函数 字符串…

模型优化【2】-剪枝[局部剪枝]

模型剪枝是一种常见的模型压缩技术,它可以通过去除模型中不必要的参数和结构来减小模型的大小和计算量,从而提高模型的效率和速度。在 PyTorch 中,我们可以使用一些库和工具来实现模型剪枝。 pytorch实现剪枝的思路是生成一个掩码&#xff0…

如何学习VBA:3.2.8 OnTime方法与OnKey方法

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的劳动效率,而且可以提高数据处理的准确度。我推出的VBA系列教程共九套和一部VBA汉英手册,现在已经全部完成,希望大家利用、学习。 如果…

基于51单片机的人体追踪可控的电风扇系统

**单片机设计介绍, 基于51单片机超声波测距汽车避障系统 文章目录 一 概要概述硬件组成工作原理优势应用场景总结 二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 # 基于51单片机的人体追踪可控的电风扇系统介绍 概述 该系统是基于51…

Flink实战(11)-Exactly-Once语义之两阶段提交

0 大纲 [Apache Flink]2017年12月发布的1.4.0版本开始,为流计算引入里程碑特性:TwoPhaseCommitSinkFunction。它提取了两阶段提交协议的通用逻辑,使得通过Flink来构建端到端的Exactly-Once程序成为可能。同时支持: 数据源&#…

ElasticSearch查询语法及深度分页问题

一、ES高级查询Query DSL ES中提供了一种强大的检索数据方式,这种检索方式称之为Query DSL(Domain Specified Language 领域专用语言) , Query DSL是利用Rest API传递JSON格式的请求体(RequestBody)数据与ES进行交互,这种方式的丰富查询语法…

html实现我的故乡,城市介绍网站(附源码)

文章目录 1. 我生活的城市北京(网站)1.1 首页1.2 关于北京1.3 北京文化1.4 加入北京1.5 北京景点1.6 北京美食1.7 联系我们 2.效果和源码2.1 动态效果2.2 源代码 源码下载 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43…