IOT 的 10 种常见协议、组网模式、特点及其使用场景浅析
前情:
开放系统互连(OSI)模型,它列出了七层。从下到上,各层如下:
物理层
数据链接
网络层
传输层
会话层
推介会
应用层
物联网也以多层模型的形式表达。尽管有些使用 OSI 七层模型,但其他使用的模型包括以下内容:
三层模型:感知、网络、应用
四层模型:感知、支撑、网络、应用
五层模型:感知、传输、处理、应用和业务
或者物理层、数据链路、网络、传输和应用使用的互联网协议通常因层而异。
因此,物联网生态系统可以有多种协议,不同的协议可以在不同的层进行通信,一些协议可以跨层桥接。
正文:
物联网(IoT)的发展带来了多种协议,用于设备间的通信与数据交换。以下是一些常见的 IoT 协议及其组网模式:
1. MQTT(Message Queuing Telemetry Transport)
开发于 1999 年,最初称为消息队列遥测传输,现在简称为 MQTT。该协议中不再有任何消息队列。MQTT 使用发布-订阅架构来实现 M2M 通信。其简单的消息传递协议适用于受限设备,并支持多个设备之间的通信。它设计用于低带宽情况,例如不可靠网络上的传感器和移动设备。该功能使其成为连接具有较小代码占用空间的设备以及由于带宽限制或不可靠连接而导致不同程度的延迟的无线网络的普遍首选选择。MQTT 最初是一种专有协议,现在是连接物联网和工业物联网设备的领先开源协议。
协议特点:
- 轻量级的发布/订阅消息传输协议。
- 设计用于高延迟或不可靠的网络环境。
- 支持一对多的消息分发,可以减少网络带宽的占用。
组网模式:
- MQTT 通常工作在客户端-服务器模型上,其中 MQTT 客户端与 MQTT 代理(Broker)连接,然后发布或订阅主题。
组网示例:
[设备] --(publish)---> [MQTT Broker] <---(subscribe)--- [设备] | v [设备]
在 MQTT 中,设备作为客户端发布消息到一个中央代理(Broker),其他设备可以订阅这些消息。Broker 负责消息的分发。
特点:
- 数据传输需求:适用于小至中型数据负载,优化了数据包以减少网络带宽占用。
- 功耗限制:设计轻量,适用于电池供电的设备。
- 通信距离:依赖于底层网络,可通过 Internet 实现全球范围。
- 设备能力:适用于计算能力有限的设备。
2. CoAP(Constrained Application Protocol)
CoAP协议的设计目标就是在低功耗低速率的设备上实现物联网通信。CoAP 是一种专为物联网中的受限节点和网络设计的特殊 Web 传输协议。它不仅能够轻松转换为 HTTP 以便与 Web 无缝集成,同时还满足特定的要求,如多播支持、极低的开销和适用于受限环境的简洁特性。CoAP和HTTP协议一样,采用URL标示需要发送的数据,在协议格式的设计上也基本是参考HTTP协议,非常容易理解。
协议特点:
- 专为小型设备设计的 Web 传输协议。
- 基于 REST 模型,适用于资源受限的设备和网络。
- 支持 GET, POST, PUT, DELETE 操作。
组网模式:
- CoAP 也是基于客户端-服务器架构的,但它支持资源发现和组播通信,允许设备作为服务器。
组网示例:
[客户端设备] --(GET/POST/PUT/DELETE)--> [服务器设备]
CoAP 遵循传统的客户端-服务器模型,但也可以进行资源发现和组播通信。
特点:
- 数据传输需求:适用于小型数据传输,使用 UDP 减少开销。
- 功耗限制:非常适合低功耗设备和资源受限网络。
- 通信距离:主要用于局部网络,但也可以通过代理跨越互联网。
- 设备能力:适合资源受限设备,如 8 位微控制器。
3. HTTP/HTTPS
略。
协议特点:
- 超文本传输协议(HTTP)是一种用于分布式、协作和超媒体信息系统的应用层协议。
- HTTPS 是 HTTP 的安全版本,它通过 SSL/TLS 进行加密。
组网模式:
- HTTP/HTTPS 主要基于客户端-服务器模型,其中 Web 服务器处理客户端请求并发送响应。
组网示例:
[客户端] --(HTTP请求)--> [服务器]
HTTP/HTTPS 是基于请求/响应模式的协议,客户端发起请求,服务器响应请求。
特点:
- 数据传输需求:适用于中至大型数据负载,通常用于复杂文本或多媒体内容传输。
- 功耗限制:功耗相对较高,不适合电池供电的设备长期使用。
- 通信距离:基于 Internet,全球范围。
- 设备能力:需要能处理 TCP/IP 堆栈的设备。
4. WebSocket
WebSocket是一种通过单个长期连接运行的通信协议,是HTML5提出的基于TCP之上的可支持全双工通信的协议标准,其在设计上基本遵循HTTP的思路,支持客户端(通常是 Web 浏览器)和服务器之间的双向、全双工交互。该协议在传输层安全性 (TLS) 或安全套接字层 (SSL) 之上运行,并提供交换数据的安全方法。
协议特点:
- 提供全双工通信渠道,可以在客户端和服务器之间建立持久连接。
- 允许服务器主动发送信息给客户端。
组网模式:
- WebSocket 协议是基于 TCP 的,它开始于 HTTP 握手,然后升级到 WebSocket 连接,允许双向通信。
组网示例:
[客户端] <----(全双工)----> [服务器]
WebSocket 建立起一个持久的全双工通信通道,允许服务器和客户端之间的双向实时通信。
特点:
- 数据传输需求:支持实时数据流,适用于连续数据传输。
- 功耗限制:因为持续的连接状态,可能比请求-应答协议消耗更多电力。
- 通信距离:基于 Internet,可以实现很远距离的通信。
- 设备能力:设备需要有处理持续连接的能力。
5. Bluetooth Low Energy (BLE)
蓝牙是一种短距离无线技术,使用短波长、超高频无线电波。它最常用于音频流,但它也已成为无线和连接设备的重要推动者。因此,这种低功耗、低范围的连接选项是个人局域网和物联网部署的首选。
另一种选择是低功耗蓝牙,称为蓝牙 LE 或 BLE,这是针对物联网连接优化的新版本。顾名思义,BLE 的功耗比标准蓝牙低,这使得它在许多用例中特别有吸引力,例如消费者方面的健康和健身追踪器以及智能家居设备以及商业方面的店内导航。
协议特点:
- 面向极低功耗应用的无线个人局域网技术。
- 设计用于简短距离的通信。
组网模式:
- BLE 设备可以在点对点(P2P)、广播(Broadcast)和网状(Mesh)模式下工作。
组网示例:
[主设备] --(连接)--> [从设备]
BLE 通常在一个主设备与多个从设备之间建立连接,但也支持广播和网状网络模式。
特点:
- 数据传输需求:适用于周期性小数据传输。
- 功耗限制:非常低的功耗,适合小型电池供电设备。
- 通信距离:通常在 10 到 100 米之间,取决于环境因素和设备类型。
- 设备能力:适用于计算能力和存储空间受限的设备。
6. Zigbee
Zigbee 是一种网状网络协议,专为建筑和家庭自动化应用而设计,是物联网环境中最流行的网状协议之一。Zigbee 是一种短距离、低功耗协议,可用于扩展多个设备之间的通信。它的范围比 BLE 更长,但数据速率比 BLE 低。它由 Zigbee 联盟监管,提供灵活的自组织网格、超低功耗和应用程序库。
协议特点:
- 基于 IEEE 802.15.4 标准的高级通信协议。
- 专为低功耗、低数据速率和近距离(如家庭自动化)的无线个人局域网设计。
组网模式:
- Zigbee 设备能够形成三种类型的网络:星形网络、树形网络和网状网络。
组网示例:
星形网络:[协调器] --(无线)--> [路由器/终端设备]网状网络:[设备] <--> [设备] <--> [设备]
Zigbee 支持星形、树形和网状网络拓扑。
特点:
- 数据传输需求:支持小至中等数据负载,适合传感器数据和控制指令。
- 功耗限制:设计用于低功耗设备,电池寿命可以达到数年。
- 通信距离:几十米内,通过网状网络扩展覆盖范围。
- 设备能力:适用于资源受限的设备。
7. Z-Wave
Z-Wave 是一种基于低功耗射频技术的无线网状网络通信协议。与蓝牙和 Wi-Fi 一样,Z-Wave 允许智能设备进行加密通信,从而为物联网部署提供一定程度的安全性。它通常用于家庭自动化产品和安全系统,以及商业应用,例如能源管理技术。它在美国以 908.42 MHz 无线电频率运行;不过,其频率因国家而异。Z-Wave 得到 Z-Wave 联盟的支持,该联盟是一个致力于扩展使用 Z-Wave 的设备的技术和互操作性的成员联盟。
协议特点:
- 面向家庭自动化的无线通信协议。
- 低功耗,专为小型智能设备设计。
组网模式:
- Z-Wave 通常组建成一个星形网络,但也支持网状网络拓扑以扩展覆盖范围。
组网示例:
星形网络:[主控制器] --(无线)--> [从设备]网状网络:[设备] <--> [设备] <--> [设备]
Z-Wave 网络同样支持星形和网状拓扑。
特点:
- 数据传输需求:与 Zigbee 类似,适用于中等大小的数据负载。
- 功耗限制:低功耗设计,电池寿命较长。
- 通信距离:户内通常在 30 米内,户外可达 100 米。
- 设备能力:主要用于简单的家用自动化设备。
8. LoRaWAN (Long Range Wide Area Network)
LoRa 代表远程,是一种非蜂窝无线技术,正如其名称所描述的,提供远程通信功能。它具有低功耗和安全数据传输功能,适用于 M2M 应用和物联网部署。它是一项专有技术,现已成为 Semtech 射频平台的一部分。Semtech 是 LoRa 联盟的创始成员,该联盟现在是 LoRa 技术的管理机构。LoRa 联盟还设计并现在维护 LoRaWAN,这是一种基于云的开放协议,使物联网设备能够与 LoRa 进行通信。
协议特点:
- 一种低功耗广域网通信技术。
- 适用于远距离通信和低功耗设备。
组网模式:
- LoRaWAN 通常形成星形网络,其中端设备通过 LoRa 传输技术与网关通信,网关再将数据传送到中心服务器。
组网示例:
星形网络:[终端设备] --(无线)--> [网关] --(互联网)--> [网络服务器]
LoRaWAN 设备通过无线方式连接到网关,网关再将数据传输到中央网络服务器。
特点:
- 数据传输需求:适用于小数据包传输,如传感器数据。
- 功耗限制:非常低的功耗,适合远距离的电池供电设备。
- 通信距离:可达几公里甚至更远。
- 设备能力:适用于计算能力和存储空间非常有限的设备。
9. NFC (Near Field Communication)
NFC(近场通信 Near Field Communication)实质是脱胎于无线设备间的一种“非接触式射频识别”(RFID)及互联技术,是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预。
协议特点:
- 使设备能在几厘米的距离内进行通信的短距离无线通信技术。
- 通常用于接触式支付系统、电子身份文档等。
组网模式:
- NFC 主要用于点对点通信。
组网示例:
点对点:[设备] <--> [设备]
NFC 是用于两个设备在近距离内进行通信的协议。
特点:
- 数据传输需求:非常小的数据负载,通常用于快速数据交换。
- 功耗限制:非常低,一些 NFC 设备甚至可以通过近场通信本身的能量驱动。
- 通信距离:非常短,一般在几厘米内。
- 设备能力:适用于简单的互动任务,如支付和配对。
10. Thread
Thread是一个为低功耗物联网(IEEE 802.15.4-2006 WPAN)设备设计的基于 IPv6 的网络协议。Thread 是一个新的网状网络协议,它并不依赖其它的 802.15 网状网络协议(如 ZigBee、Z-Wave 和 Bluetooth LE)。
协议特点:
- 基于 IP 的、低功耗、无线网络协议。
- 专为家庭自动化、建筑自动化和互联家电设计。
组网模式:
- Thread 设计用于创建和维护大量设备的网状网络。
组网示例:
网状网络:
[设备] <--> [设备] <--> [设备]| | v v[设备] [设备]
Thread 设计用于创建一个自我恢复的网状网络,其中每个设备都可以与其他设备直接通信。
特点:
- 数据传输需求:适用于低至中等数据负载,特别是在家庭自动化中。
- 功耗限制:低功耗,适合家居设备和商业自动化,通常使用一块电池便能工作数年
- 通信距离:可通过网状拓扑覆盖大范围。
- 设备能力:支持 IPv6,需要具备一定的计算能力。
- 易于部署和维护 — 安装、启动和操作相对简单
- 稳定可靠 — 具有自愈能力的网状网络,无单点故障,并且采用扩频技术以提高抗干扰能力
每种协议都有其优势和用途,选择合适的协议通常需要在这些特点之间做出权衡。
每个设备可以用一个节点来表示,而连接则可以用线或者箭头来表示。对于星形网络,中心节点通常是协调器或者网关;对于网状网络,每个节点都与周围的多个节点相连,形成一个网状结构。
物联网协议的使用场景和示例
了解各种物联网(IoT)协议的组网模式,特点,有助于选择最适合特定应用的通信方法。下面是一些常见协议的使用场景和示例:
1. MQTT
使用场景:
- 远程监控
- 家庭自动化
- 物流跟踪
- 连接带宽受限或网络不稳定的设备
示例:
- 智能温室内的传感器使用 MQTT 协议将温度和湿度数据发送到中央服务器进行分析和监控。
2. CoAP
使用场景:
- 低功耗设备网络
- 智能城市和智能照明
- 限制性环境如传感器网络
示例:
- 城市街道上的智能路灯通过 CoAP 报告其状态并接收控制命令。
3. HTTP/HTTPS
使用场景:
- 互联网集成服务
- 网页交互
- 云服务交互
示例:
- 智能家电(如烤箱或冰箱)通过 HTTPS 与制造商的云服务交互,接收固件更新或提供设备使用数据。
4. WebSocket
使用场景:
- 实时数据传输
- 实时通讯
- 多媒体流
示例:
- 实时位置跟踪系统,如共享自行车应用,使用 WebSocket 与服务器实时同步自行车位置信息。
5. Bluetooth Low Energy (BLE)
使用场景:
- 健康和健身追踪器
- 智能手表和可穿戴设备
- 近距离设备互连
示例:
- 一款运动追踪手环使用 BLE 与智能手机同步活动数据。
6. Zigbee
使用场景:
- 家庭自动化
- 工业控制
- 无线传感器网络
示例:
- 家中的各种智能家居设备(如灯泡、开关、恒温器)通过 Zigbee 协议相互通信,建立一个网络,使用户可以远程控制。
7. Z-Wave
使用场景:
- 家庭自动化和安全系统
- 能源管理
示例:
- 一套智能家居安全系统使用 Z-Wave 技术使各种传感器(如门窗传感器、烟雾报警器)能够无缝连接和通信。
8. LoRaWAN
使用场景:
- 慧农业
- 智慧城市
- 资产跟踪
示例:
- 在广阔农田中,LoRaWAN 用于连接土壤湿度传感器和中心数据库,以进行农作物的水分管理。
9. NFC
使用场景:
- 接触式支付
- 访问控制
- 简易设备配对
示例:
- 使用 NFC 技术的手机可以轻触支付终端来完成交易,或者与其他手机快速配对交换联系信息。
10. Thread
使用场景:
- 家庭自动化
- 商业楼宇自动化
- 能源管理
示例:
- 一个智能家居系统利用 Thread 协议来确保所有设备(如门锁、照明系统和恒温器)之间的互操作性和可靠通信。
每个协议根据其独特的优势和特点找到了适合的应用场景。选择合适的协议需要考虑因素包括距离、数据传输率、能源消耗以及环境复杂性,以及中台复杂度和支持度等方面。
可根据需要选择合适的协议,可能是一个或者是多个。如果需要协议较多,可以搭建通信中心平台,组合用到的多个协议,集成到具体的应用中使用。
相关文章:
IOT 的 10 种常见协议、组网模式、特点及其使用场景浅析
前情: 开放系统互连(OSI)模型,它列出了七层。从下到上,各层如下: 物理层 数据链接 网络层 传输层 会话层 推介会 应用层 物联网也以多层模型的形式表达。尽管有些使用 OSI 七层模型,但其…...
【Android】 dp与sp,加冕为王
目录 重要概念 屏幕尺寸 屏幕分辨率 屏幕像素密度 基础知识: ppi pt DPI 的定义和重要性 Android 中的 DPI 级别 px dp(Density Independent Pixels) sp(Scale-independent Pixels) 安卓的dp/dip、sp 虚拟…...
R语言画散点图-饼图-折线图-柱状图-箱线图-直方图-曲线图-热力图-雷达图
R语言画散点图-饼图-折线图-柱状图-箱线图-直方图-曲线图-热力图-雷达图 散点图示例解析效果 饼图示例解析效果 折线图示例解析效果 柱状图示例解析效果 箱线图示例解析效果 直方图示例解析效果 曲线图使用 curve() 函数示例效果 使用 plot() 函数示例效果 使用 ggplot2 包绘制…...
影响转化率的多元因素分析及定制开发AI智能名片S2B2C商城系统小程序的应用案例
摘要:在互联网时代,转化率是衡量营销活动成功与否的关键指标。本文首先分析了影响转化率的多种因素,包括活动页面的设计、活动的限时性、主题文案的吸引力、从众心理的运用,以及最核心的产品质量与优惠力度。接着,本文…...
数据仓库中事实表设计的关键步骤解析
在数据仓库的设计过程中,事实表是描述业务度量的核心组件。本文将深入探讨数据仓库中事实表设计的关键步骤,包括选择业务过程及确定事实表类型、声明粒度、确定维度和确定事实的过程,帮助读者更好地理解和应用事实表设计的原则和方法。 第一…...
.net6 core Worker Service项目,使用Exchange Web Services (EWS) 分页获取电子邮件收件箱列表,邮件信息字段
Program.cs 安装包:Microsoft.AspNetCore.Hosting.WindowsServices、Microsoft.Extensions.Hosting、Microsoft.Extensions.Hosting.WindowsServices、Microsoft.Extensions.Logging.Log4Net.AspNetCore 新建Configs/log4net.config using Com.Chinahorn.Exchange.W…...
通过 EMR Serverless Spark 提交 PySpark 流任务
在大数据快速发展的时代,流式处理技术对于实时数据分析至关重要。EMR Serverless Spark提供了一个强大而可扩展的平台,它不仅简化了实时数据处理流程,还免去了服务器管理的烦恼,提升了效率。本文将指导您使用EMR Serverless Spark…...
【Linux网络】epoll实现的echo服务器{nocopy类/智能指针/echo服务器}
文章目录 1.代码基础1.1某类唯一存在1.2C智能指针 2.epoll实现的echo服务器日志套接字CMakeepoll封装主函数服务器 1.代码基础 1.1某类唯一存在 这段代码定义了一个名为 nocopy 的类,它旨在防止该类的实例被复制或赋值。这是通过在类中显式删除拷贝构造函数&#…...
[数据集][目标检测]拐杖检测数据集VOC+YOLO格式2778张1类别
数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):2778 标注数量(xml文件个数):2778 标注数量(txt文件个数):2778 标注…...
长按加速- 解决react - setInterval下无法更新问题
最开始直接setInterval里,useState硬写,发现更新不,固定值 换let,发现dom更新不了 正确做法是用ref 并且pc端可以长按的,只是要用onTouchStart,不要用onMouseDown onTouchStart{handleMouseDown} onTou…...
路网双线合并单线——ArcGIS 解决方法
路网双线合并成单线是一个在地图制作、交通规划以及GIS分析中常见的需求。双线路网定义:具有不同流向、不同平面结构的道路。此外,车道数较多的道路(例如,双黄实线车道数大于4的道路)也可以视为双线路网,本…...
【.NET全栈】ASP.NET开发Web应用——ADO.NET数据访问技术
文章目录 前言一、ADO.NET基础1、ADO.NET架构2、ADO.NET数据提供者 二、连接数据库1、SqlConnection数据库连接类2、使用SqlConnectionStringBuilder连接字符串3、关闭和释放连接4、在web.config配置文件中保存连接字符串5、连接池技术 三、与数据库交互1、使用SqlCommand操作数…...
【机器学习】无监督学习和自监督学习
1. 什么是机器学习 机器学习是一种使计算机系统能够从数据中学习并做出预测或决策的技术和科学领域。它不需要显式地编程来执行特定任务,而是通过使用算法来分析数据和识别模式,以此“学习”如何做出准确的预测或决策。 以下是机器学习的几个关键点&…...
蓝牙新篇章:WebKit的Web Bluetooth API深度解析
蓝牙新篇章:WebKit的Web Bluetooth API深度解析 在物联网(IoT)时代,Web应用与物理设备的交互变得越来越重要。WebKit的Web Bluetooth API开启了一个新时代,允许Web页面直接与蓝牙设备通信。这一API不仅提高了用户体验,还为创新的…...
2024可信数据库发展大会:TDengine CEO 陶建辉谈“做难而正确的事情”
在当前数字经济快速发展的背景下,可信数据库技术日益成为各行业信息化建设的关键支撑点。金融、电信、能源和政务等领域对数据处理和管理的需求不断增加,推动了数据库技术的创新与进步。与此同时,人工智能与数据库的深度融合、搜索与分析型数…...
Guns v7.3.0:基于 Vue3、Antdv 和 TypeScript 打造的开箱即用型前端框架
摘要 本文深入探讨了Guns v7.3.0前端项目,该项目是基于Vue3、Antdv和TypeScript的前端框架,以Vben Admin的脚手架为基础进行了改造。文章分析了Guns 7.3.0的技术特点,包括其使用Vue3、vite2和TypeScript等最新前端技术栈,以及提供…...
掌握构建艺术:在Gradle中配置自定义的源代码管理(SCM)
掌握构建艺术:在Gradle中配置自定义的源代码管理(SCM) 在软件开发过程中,源代码管理(Source Code Management,简称SCM)是不可或缺的一部分。它帮助开发者管理代码的变更历史,支持团…...
如何在 Mac 上下载安装植物大战僵尸杂交版? 最新版本 2.2 详细安装运行教程问题详解
植物大战僵尸杂交版已经更新至2.2了,但作者只支持 Windows、手机等版本并没有支持 MAC 版本,最近搞到了一个最新的杂交 2.2 版本的可以在 Macbook 上安装运行的移植安装包,试了一下非常完美能够正常在 MAC 上安装运行,看图&#x…...
前端Vue组件技术实践:打造自定义精美悬浮菜单按钮组件
随着前端技术的迅猛发展,复杂的应用场景和不断迭代的产品需求使得开发的复杂度日益提升。传统的整体式开发方式已经难以满足现代前端应用的灵活性和可维护性需求。在这样的背景下,组件化开发逐渐崭露头角,成为解决复杂前端应用问题的有效手段…...
数据仓库的一致性维度
一致性维度的定义: 一致性维度是指在数据仓库中,具有相同属性和含义的维度在不同的事实表中保持一致。它确保了通过不同事实表进行查询和分析时,维度数据的一致性和准确性。 一致性维度的作用: 数据一致性:一致性维度…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...
C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...
关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...
【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...
Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...
RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
