鸿蒙开发设备管理:【@ohos.usb (USB管理)】
USB管理
本模块主要提供管理USB设备的相关功能,包括查询USB设备列表、批量数据传输、控制命令传输、权限控制等。
说明:
本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
导入模块
import usb from "@ohos.usb";
usb.getDevices
getDevices(): Array<Readonly>
获取USB设备列表。
系统能力: SystemCapability.USB.USBManager
返回值:
| 类型 | 说明 | 
|---|---|
| Array<Readonly<[USBDevice]>> | 设备信息列表。 | 
示例:
let devicesList = usb.getDevices();
console.log(`devicesList = ${JSON.stringify(devicesList)}`);
//devicesList  返回的数据结构
//此处提供一个简单的示例,如下
[{name: "1-1",serial: "",manufacturerName: "",productName: "",version: "",vendorId: 7531,productId: 2,clazz: 9,subclass: 0,protocol: 1,devAddress: 1,busNum: 1,configs: [{id: 1,attributes: 224,isRemoteWakeup: true,isSelfPowered: true,maxPower: 0,name: "1-1",interfaces: [{id: 0,protocol: 0,clazz: 9,subclass: 0,alternateSetting: 0,name: "1-1",endpoints: [{address: 129,attributes: 3,interval: 12,maxPacketSize: 4,direction: 128,number: 1,type: 3,interfaceId: 0,},],},],},],},
]
usb.connectDevice
connectDevice(device: USBDevice): Readonly
打开USB设备。
需要调用[usb.getDevices]获取设备信息以及device;再调用[usb.requestRight]获取设备请求权限。
系统能力: SystemCapability.USB.USBManager
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| device | [USBDevice] | 是 | USB设备信息。 | 
返回值:
| 类型 | 说明 | 
|---|---|
| Readonly<[USBDevicePipe]> | 指定的传输通道对象。 | 
示例:
let devicepipe= usb.connectDevice(device);
console.log(`devicepipe = ${JSON.stringify(devicepipe)}`);
usb.hasRight
hasRight(deviceName: string): boolean
判断是否有权访问该设备。
系统能力: SystemCapability.USB.USBManager
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| deviceName | string | 是 | 设备名称。 | 
返回值:
| 类型 | 说明 | 
|---|---|
| boolean | true表示有访问设备的权限,false表示没有访问设备的权限。 | 
示例:
let devicesName="1-1";
let bool = usb.hasRight(devicesName);
console.log(bool);
usb.requestRight
requestRight(deviceName: string): Promise
请求软件包的临时权限以访问设备。
系统能力: SystemCapability.USB.USBManager
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| deviceName | string | 是 | 设备名称。 | 
返回值:
| 类型 | 说明 | 
|---|---|
| Promise | 获取到true则表示软件包的临时权限已访问成功, 获取到false则表示软件包的临时权限已访问失败。 | 
示例:
let devicesName="1-1";
usb.requestRight(devicesName).then((ret) => {console.log(`requestRight = ${JSON.stringify(ret)}`);
});
usb.claimInterface
claimInterface(pipe: USBDevicePipe, iface: USBInterface, force?: boolean): number
注册通信接口。
需要调用[usb.getDevices]获取设备信息以及interfaces;调用[usb.requestRight]获取设备请求权限;调用[usb.connectDevice]接口得到devicepipe作为参数。
系统能力: SystemCapability.USB.USBManager
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| pipe | [USBDevicePipe] | 是 | 用于确定总线号和设备地址。 | 
| iface | [USBInterface] | 是 | 用于确定需要获取接口的索引。 | 
| force | boolean | 否 | 可选参数,是否强制获取。默认值false ,表示不强制获取。 | 
返回值:
| 类型 | 说明 | 
|---|---|
| number | 注册通信接口成功返回0;注册通信接口失败返回其他错误码。 | 
示例:
let ret = usb.claimInterface(devicepipe, interfaces);
console.log(`claimInterface = ${ret}`);
usb.releaseInterface
releaseInterface(pipe: USBDevicePipe, iface: USBInterface): number
释放注册过的通信接口。
需要调用[usb.claimInterface]先获取接口,才能使用此方法释放接口。
系统能力: SystemCapability.USB.USBManager
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| pipe | [USBDevicePipe] | 是 | 用于确定总线号和设备地址。 | 
| iface | [USBInterface] | 是 | 用于确定需要释放接口的索引。 | 
返回值:
| 类型 | 说明 | 
|---|---|
| number | 释放接口成功返回0;释放接口失败返回其他错误码。 | 
示例:
let ret = usb.releaseInterface(devicepipe, interfaces);
console.log(`releaseInterface = ${ret}`);
usb.setConfiguration
setConfiguration(pipe: USBDevicePipe, config: USBConfig): number
设置设备配置。
需要调用[usb.getDevices]获取设备信息以及config;调用[usb.requestRight]获取设备请求权限;调用[usb.connectDevice]得到devicepipe作为参数。
系统能力: SystemCapability.USB.USBManager
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| pipe | [USBDevicePipe] | 是 | 用于确定总线号和设备地址。 | 
| config | [USBConfig] | 是 | 用于确定需要设置的配置。 | 
返回值:
| 类型 | 说明 | 
|---|---|
| number | 设置设备配置成功返回0;设置设备配置失败返回其他错误码。 | 
示例:
let ret = usb.setConfiguration(devicepipe, config);
console.log(`setConfiguration = ${ret}`);
usb.setInterface
setInterface(pipe: USBDevicePipe, iface: USBInterface): number
设置设备接口。
需要调用[usb.getDevices]获取设备列表以及interfaces;调用[usb.requestRight]获取设备请求权限;调用[usb.connectDevice]得到devicepipe作为参数;调用[usb.claimInterface]注册通信接口。
系统能力: SystemCapability.USB.USBManager
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| pipe | [USBDevicePipe] | 是 | 用于确定总线号和设备地址。 | 
| iface | [USBInterface] | 是 | 用于确定需要设置的接口。 | 
返回值:
| 类型 | 说明 | 
|---|---|
| number | 设置设备接口成功返回0;设置设备接口失败返回其他错误码。 | 
示例:
let ret = usb.setInterface(devicepipe, interfaces);
console.log(`setInterface = ${ret}`);
usb.getRawDescriptor
getRawDescriptor(pipe: USBDevicePipe): Uint8Array
获取原始的USB描述符。
需要调用[usb.getDevices]获取设备列表;调用[usb.requestRight]获取设备请求权限;调用[usb.connectDevice]接口得到devicepipe作为参数。
系统能力: SystemCapability.USB.USBManager
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| pipe | [USBDevicePipe] | 是 | 用于确定总线号和设备地址。 | 
返回值:
| 类型 | 说明 | 
|---|---|
| Uint8Array | 返回获取的原始数据;失败返回undefined。 | 
示例:
let ret = usb.getRawDescriptor(devicepipe);
usb.getFileDescriptor
getFileDescriptor(pipe: USBDevicePipe): number
获取文件描述符。
需要调用[usb.getDevices]获取设备列表;调用[usb.requestRight]获取设备请求权限;调用[usb.connectDevice]接口得到devicepipe作为参数。
系统能力: SystemCapability.USB.USBManager
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| pipe | [USBDevicePipe] | 是 | 用于确定总线号和设备地址。 | 
返回值:
| 类型 | 说明 | 
|---|---|
| number | 返回设备对应的文件描述符;失败返回-1。 | 
示例:
let ret = usb.getFileDescriptor(devicepipe);
usb.controlTransfer
controlTransfer(pipe: USBDevicePipe, contrlparam: USBControlParams, timeout?: number): Promise
控制传输。
需要调用[usb.getDevices]获取设备列表;调用[usb.requestRight]获取设备请求权限;调用[usb.connectDevice]接口得到devicepipe作为参数。
系统能力: SystemCapability.USB.USBManager
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| pipe | [USBDevicePipe] | 是 | 用于确定设备。 | 
| contrlparam | [USBControlParams] | 是 | 控制传输参数。 | 
| timeout | number | 否 | 超时时间,可选参数,默认为0不超时。 | 
返回值:
| 类型 | 说明 | 
|---|---|
| Promise | 获取传输或接收到的数据块大小, 获取到-1则表示异常。 | 
示例:
usb.controlTransfer(devicepipe, USBControlParams).then((ret) => {console.log(`controlTransfer = ${JSON.stringify(ret)}`);
})
usb.bulkTransfer
bulkTransfer(pipe: USBDevicePipe, endpoint: USBEndpoint, buffer: Uint8Array, timeout?: number): Promise
批量传输。
需要调用[usb.getDevices]获取设备信息列表以及endpoint;再调用[usb.requestRight]获取设备请求权限;然后调用[usb.connectDevice]接口得到返回数据devicepipe之后,再次获取接口[usb.claimInterface];再调用usb.bulkTransfer接口。
系统能力: SystemCapability.USB.USBManager
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| pipe | [USBDevicePipe] | 是 | 用于确定设备。 | 
| endpoint | [USBEndpoint] | 是 | 用于确定传输的端口。 | 
| buffer | Uint8Array | 是 | 用于写入或读取的缓冲区。 | 
| timeout | number | 否 | 超时时间,可选参数,默认为0不超时。 | 
返回值:
| 类型 | 说明 | 
|---|---|
| Promise | 获取传输或接收到的数据块大小, 获取到-1则表示异常。 | 
示例:
//usb.getDevices 接口返回数据集合,取其中一个设备对象,并获取权限 。
//把获取到的设备对象作为参数传入usb.connectDevice;当usb.connectDevice接口成功返回之后;
//才可以调用第三个接口usb.claimInterface.当usb.claimInterface 调用成功以后,再调用该接口。
usb.bulkTransfer(devicepipe, endpoint, buffer).then((ret) => {console.log(`bulkTransfer = ${JSON.stringify(ret)}`);
});
usb.closePipe
closePipe(pipe: USBDevicePipe): number
关闭设备消息控制通道。
需要调用[usb.getDevices]获取设备列表;调用[usb.requestRight]获取设备请求权限;调用[usb.connectDevice]得到devicepipe作为参数。
系统能力: SystemCapability.USB.USBManager
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| pipe | [USBDevicePipe] | 是 | 用于确定USB设备消息控制通道。 | 
返回值:
| 类型 | 说明 | 
|---|---|
| number | 关闭设备消息控制通道成功返回0;关闭设备消息控制通道失败返回其他错误码。 | 
示例:
let ret = usb.closePipe(devicepipe);
console.log(`closePipe = ${ret}`);
USBEndpoint
通过USB发送和接收数据的端口。通过[USBInterface]获取。
系统能力:以下各项对应的系统能力均为 SystemCapability.USB.USBManager。
| 名称 | 参数类型 | 说明 | 
|---|---|---|
| address | number | 端点地址。 | 
| attributes | number | 端点属性。 | 
| interval | number | 端点间隔。 | 
| maxPacketSize | number | 端点最大数据包大小。 | 
| direction | [USBRequestDirection] | 端点的方向。 | 
| number | number | 端点号。 | 
| type | number | 端点类型。 | 
| interfaceId | number | 端点所属的接口的唯一标识。 | 
USBInterface
一个[USBConfig]中可以含有多个USBInterface,每个USBInterface提供一个功能。
系统能力:以下各项对应的系统能力均为 SystemCapability.USB.USBManager。
| 名称 | 参数类型 | 说明 | 
|---|---|---|
| id | number | 接口的唯一标识。 | 
| protocol | number | 接口的协议。 | 
| clazz | number | 设备类型。 | 
| subClass | number | 设备子类。 | 
| alternateSetting | number | 在同一个接口中的多个描述符中进行切换设置。 | 
| name | string | 接口名称。 | 
| endpoints | Array<[USBEndpoint]> | 当前接口所包含的端点。 | 
USBConfig
USB配置,一个[USBDevice]中可以含有多个配置。
系统能力:以下各项对应的系统能力均为 SystemCapability.USB.USBManager。
| 名称 | 参数类型 | 说明 | 
|---|---|---|
| id | number | 配置的唯一标识。 | 
| attributes | number | 配置的属性。 | 
| maxPower | number | 最大功耗,以毫安为单位。 | 
| name | string | 配置的名称,可以为空。 | 
| isRemoteWakeup | boolean | 检查当前配置是否支持远程唤醒。 | 
| isSelfPowered | boolean | 检查当前配置是否支持独立电源。 | 
| interfaces | Array <[USBInterface]> | 配置支持的接口属性。 | 
USBDevice
USB设备信息。
系统能力:以下各项对应的系统能力均为 SystemCapability.USB.USBManager。
| 名称 | 参数类型 | 说明 | 
|---|---|---|
| busNum | number | 总线地址。 | 
| devAddress | number | 设备地址。 | 
| serial | string | 序列号。 | 
| name | string | 设备名字。 | 
| manufacturerName | string | 产商信息。 | 
| productName | string | 产品信息。 | 
| version | string | 版本。 | 
| vendorId | number | 厂商ID。 | 
| productId | number | 产品ID。 | 
| clazz | number | 设备类。 | 
| subClass | number | 设备子类。 | 
| protocol | number | 设备协议码。 | 
| configs | Array<[USBConfig]> | 设备配置描述符信息。 | 
USBDevicePipe
USB设备消息传输通道,用于确定设备。
系统能力:以下各项对应的系统能力均为 SystemCapability.USB.USBManager。
| 名称 | 参数类型 | 说明 | 
|---|---|---|
| busNum | number | 总线地址。 | 
| devAddress | number | 设备地址。 | 
USBControlParams
控制传输参数。
系统能力:以下各项对应的系统能力均为 SystemCapability.USB.USBManager。
| 名称 | 参数类型 | 说明 | 
|---|---|---|
| request | number | 请求类型。 | 
| target | [USBRequestTargetType] | 请求目标类型。 | 
| reqType | [USBControlRequestType] | 请求控制类型。 | 
| value | number | 请求参数。 | 
| index | number | 请求参数value对应的索引值。 | 
| data | Uint8Array | 用于写入或读取的缓冲区。 | 
USBRequestTargetType
请求目标类型。
系统能力:以下各项对应的系统能力均为 SystemCapability.USB.USBManager。
| 名称 | 默认值 | 说明 | 
|---|---|---|
| USB_REQUEST_TARGET_DEVICE | 0 | 设备。 | 
| USB_REQUEST_TARGET_INTERFACE | 1 | 接口。 | 
| USB_REQUEST_TARGET_ENDPOINT | 2 | 端点。 | 
| USB_REQUEST_TARGET_OTHER | 3 | 其他。 | 
USBControlRequestType
控制请求类型。
系统能力:以下各项对应的系统能力均为 SystemCapability.USB.USBManager。
| 名称 | 默认值 | 说明 | 
|---|---|---|
| USB_REQUEST_TYPE_STANDARD | 0 | 标准。 | 
| USB_REQUEST_TYPE_CLASS | 1 | 类。 | 
| USB_REQUEST_TYPE_VENDOR | 2 | 厂商。 | 
USBRequestDirection
请求方向。
系统能力:以下各项对应的系统能力均为 SystemCapability.USB.USBManager。
| 名称 | 默认值 | 说明 | 
|---|---|---|
| USB_REQUEST_DIR_TO_DEVICE | 0 | 写数据,主设备往从设备。 | 
| USB_REQUEST_DIR_FROM_DEVICE | 0x80 | 读数据,从设备往主设备。 | 
相关文章:
鸿蒙开发设备管理:【@ohos.usb (USB管理)】
USB管理 本模块主要提供管理USB设备的相关功能,包括查询USB设备列表、批量数据传输、控制命令传输、权限控制等。 说明: 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 导入模块 import …...
 
Golang | Leetcode Golang题解之第204题计数质数
题目: 题解: func countPrimes(n int) int {primes : []int{}isPrime : make([]bool, n)for i : range isPrime {isPrime[i] true}for i : 2; i < n; i {if isPrime[i] {primes append(primes, i)}for _, p : range primes {if i*p > n {break}…...
 
ELK日志系统和Filebeat采集器的学习总结
ELK是ElasticSerach、Logstash、Kina Logstash负责采集数据,Logstash有三个插件,input、filter、output,filter插件作用是对采集的数据进行处理,过滤的,因此filter插件可以选,可以不用配置。 ElasticSear…...
QML-Grid和OpacityMask
一个格子条,点击缩短 import QtQuick 2.0 import QtQuick.Window 2.12 import QtQuick.Controls 2.5 //导入 import QtGraphicalEffects 1.12Window {id:windowwidth: 600height: 500color: "white"visible: trueGrid {visible: falseid:gridwidth:405he…...
 
MySQL的并发控制、事务、日志
目录 一.并发控制 1.锁机制 2.加锁与释放锁 二.事务(transactions) 1.事物的概念 2.ACID特性 3.事务隔离级别 三.日志 1.事务日志 2.错误日志 3.通用日志 4.慢查询日志 5.二进制日志 备份 一.并发控制 在 MySQL 中,并发控制是确…...
 
CNN文献综述
卷积神经网络(Convolutional Neural Networks,简称CNN)是深度学习领域中的一种重要模型,主要用于图像识别和计算机视觉任务。其设计灵感来自于生物学中视觉皮层的工作原理,能够高效地处理图像和语音等数据。 基本原理…...
 
python语句前面有一个$是什么意思
“$”是汇编语言中的一个预定义符号,等价于当前正汇编到的段的当前偏移值。例如:指令“jmp $3”中的“$”表示当前这条指令在代码段中的偏移量。 代表当前指令的地址,如: data segment str1 db a,b,c,d leng equ $-str 就是当前地…...
 
wsl安装Linux系统到指定位置
默认情况下,wsl安装的系统,会安装到系统C盘,长期下去,很容易把C盘的空间消耗完,从而影响系统的正常运行,所以我建议是将wsl所有的系统都安装到其它磁盘中,便于维护。 1、导出镜像 通过wsl -l -v 查看当前已安装的系统版本。 导出到当前目录位置,也可以指定目录位置。 w…...
[笔记] 高等数学在各工程门类的典型应用场景
1.应用场景 1.微积分似乎是在解算椭圆方程中引入的?但是这个数学工具第一次应用于现实的工程问题是什么时候?什么场景?什么问题? 微积分的发展确实与椭圆方程有关,但它最初的应用场景远不止于此。 微积分首次被应用…...
刀片服务器和机架式服务器有何区别
刀片服务器和机架式服务器有何区别 一、物理设计: 刀片服务器:刀片服务器是一种相对较轻薄的服务器设计,其物理形状类似于刀片,通常插入到专用的刀片机箱中。每个刀片通常包含一个或多个服务器节点,共享一些基本的资源…...
 
SQLyog脚本无限试用重置脚本
文章目录 引言脚本(win)必要操作、说明 引言 SQLyog 需要po jie,但是网上的没看到很好使的,直接下的官方。能处理14天试用也是很ok的。 脚本(win) echo offREM SQLyog注册表key,可能跟你的不一样,如果不一样,请替换…...
代码随想录训练营第二十九天 134加油站 135分发糖果 860柠檬水找零 406根据身高重建队列
第一题: 原题链接:134. 加油站 - 力扣(LeetCode) 思路: 需要三个变量,一个变量start记录结果也就是出发的第一个加油站,一个变量curSum来记录此时加油耗油后剩余的油量,如果发现c…...
智能生产管理系统设计
智能生产管理系统的设计旨在提升制造业的效率、灵活性和响应速度,通过集成先进的信息技术(如物联网IoT、大数据分析、人工智能AI、云计算等)实现生产过程的智能化。以下是一些关键设计要素和步骤,用于构建一个高效的智能生产管理系…...
 
满足GMSL静电防护要求的方案
什么是GMSL?它是做什么用的?它有什么优点?设计GMSL防静电有啥难度? 带着这些疑问我们先了解下什么是GMSL。 一.简述 GMSL GMSL(Gigabit Multimedia Serial Link)即千兆多媒体串行链路…...
 
【Odoo开源ERP】别把ERP与进销存软件混为一谈
导读:企业使用ERP软件能够实现管理升级,多方信息集成,按照既定策略逻辑运算,生成计划建议,减少人力成本,提高准确率的同时提高经营能力。 ERP,是MRP II的下一代软件,除了MRP II已有的…...
八、浏览器同源策略
上一篇👉: 浏览器垃圾回收机制 文章目录 浏览器同源策略1.同源策略的定义2.同源策略的作用3.同源策略的限制范围4.解决跨域方案汇总1.CORS(跨源资源共享)2.JSONP3.postMessage 跨域4.Nginx代理跨域5.Node.js中间件代理跨域6.document.domain…...
 
重载赋值运算符
c编译器可能会给类添加四个函数 1默认构造函数 2默认析构函数 3默认拷贝构造函数,对成员变量进行浅拷贝。 4默认赋值函数,队成员变量进行浅拷贝。 #include<iostream> using namespace std; class CGirl { public:int m_bh;string m_name;voi…...
 
数字信号处理及MATLAB仿真(2)——离散系统
上回书说到如何来编写一些简单的离散时间序列,今天咱们就来谈谈一些关于常系数差分方程的操作吧。 说到这里咱们对于常系数差分方程可能最关心的就是怎么去求解了。 其中最关键的部分就是filter函数,可以用来计算系统在输入信号为x的输出信号y。大家学过…...
大模型思维链(Chain-of-Thought)技术原理
大模型思维链(Chain-of-Thought)技术原理 NLP中 大语言模型LLM中的思维链 Chain-of-Thought(CoT) GoT_cot思维链-CSDN博客 https://zhuanlan.zhihu.com/p/680618940 https://zhuanlan.zhihu.com/p/661475269...
 
gda动态调试-cnblog
忽的发现gda有动态调试功能 动态监听返回值 框柱指定方法,选择调试方法,gda会自动监听函数的返回值,例如 自定义frida脚本 gda会自动生成hook该函数的frida脚本...
 
RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
 
HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
 
用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...
服务器--宝塔命令
一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...
 
AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...
 
论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...
 
【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看
文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...
 
Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案
在大数据时代,海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构,在处理大规模数据抓取任务时展现出强大的能力。然而,随着业务规模的不断扩大和数据抓取需求的日益复杂,传统…...
