Uniapp插件如何通过NFC读取多种证卡信息?
nfc读卡uniapp插件,由中软高科进行开发,主要是通过NFC读取居民身份证、港澳台居住证、外国人居住证、护照等证卡的信息。经过多个版本的升级更新,目前性能已趋于稳定,并且读卡速度较之最初版本有了大的提升。
注意事项
测试使用的 appid 不可用于商用(否则后果自负)。
商用的 appid 请务必联系我司商务进行分配。
uniapp使用原生插件示例
1、加载插件
NFC身份证件读取——插件市场链接
// 获取 读证件的 插件
var readCardModule = uni.requireNativePlugin("CSHT-ReadCard");
2、参数设置
// 参数配置var config = {'openSound': true, // 蜂鸣器开关'openLog': true, // 日志保存开关'readType': 2, // 1: USB 2: NFC 3:串口读卡 5:Sam离线读卡 9:NFC电子护照 'appId': "123", // 'timeout': 20000, // 读卡超时时间 单位毫秒,最小值为 5000'openLocalCache': true, // 本地缓存开启'isNeedIdCardPhoto': false, // 解码身份证时,是否需要生成身份证正反面照片(不需要时不要开,以免影响速度)'isPassportPhoto': true, // 解码护照时,是否需要读取芯片里的高清人脸照(读取照片时间较长。可由外部OCR提取人脸照,速度快)'ipAndPort': [{ // 解码服务器地址,可配置多个服务器节点。第一个为主节点,其余为备用节点。'ip': 'yfs4.sfzydq.com','port': 9999}, {'ip': 'yjm2.sfzydq.com','port': 9999}]};// readType设置成 3,串口读卡时,必须设置 串口文件地址、波特率 两个参数。(不需要时,可删除)config.deviceFilePath = "/dev/ttyS0";config.baudrate = 115200;// readType设置成 9,读取护照时,必须添加 护照号、生日、有效期 三个参数。 (不需要时,可删除)config.documentNumberStr = "E90342672"; // 9位护照号码config.dateOfBirthStr = "940521"; // 出生日期,格式为 YYMMDDconfig.dateOfExpiryStr = "261113"; // 有效日期,格式为 YYMMDDreadCardModule.setReadCardConfig(config, (ret) => {var status = ret.status; var msg = ret.msg; // 状态信息this.$data.status = 'status: ' + status + ' msg: ' + msg;if(status){// 参数设置成功,初始化读卡this.readCardInit();}});
3、初始化读卡
readCardInit() {readCardModule.readCardInit((ret) => {if(ret.type == "InitState"){ // 初始化状态信息回调var code = ret.code; // 状态码 参照文档状态码说明var msg = ret.msg; // 状态信息this.$data.status = 'code: ' + code + ' msg: ' + msg;this.$data.initSuccess = code == 1001;}});}
4、初始化成功后,即可开启读卡
// 跳转原生NFC界面,开始读卡
readCardModule.startReadCard((ret) => {switch (ret.type) {case "ReadCardState": // 读卡状态信息回调var code = ret.code; // 状态码 参照文档状态码说明var msg = ret.msg; // 状态信息this.$data.status = 'code: ' + code + ' msg: ' + msg;switch (code) {case 1023: // 读卡解码中case 1024: // 开始寻卡uni.showLoading({title: '读卡中...',mask: true});break;case 1000: // 读卡成功uni.hideLoading();break;case 1022: // 读卡失败uni.hideLoading();break;}break;case "ReadICCardSuccess": // 读其他卡成功this.$data.dataJson = 'cardType: ' + ret.cardType + '\ncardNumber: ' + ret.icNumber;this.$data.headImage = null;break;case "ReadIDCardSuccess": // 读身份证成功var data = ret.idCardData;this.$data.headImage = ret.base64Image;if (data.type == 1081||data.type == 1083) { // 外国人永居证this.$data.dataJson ='中文姓名: ' + data.nameChinese +'\n英文姓名: ' + data.nameEnglish +'\n性别: ' + data.sex +'\n生日: ' + data.birthday +'\n国籍: ' + data.nationlity +'\n证件号码: ' + data.id +'\n有效期限: ' + data.startDate + '-' + data.endDate;} else if (data.type == 1082) { // 港澳台居住证//this.$data.dataJson ='姓名: ' + data.name +'\n性别: ' + data.sex +'\n生日: ' + data.birthday +'\n住址: ' + data.address +'\n证件号码: ' + data.id +'\n签发机关: ' + data.issue +'\n有效期限: ' + data.startDate + '-' + data.endDate;} else {// 中国居民身份证this.$data.dataJson ='姓名: ' + data.name +'\n性别: ' + data.sex +'\n民族: ' + data.nation +'\n生日: ' + data.birthday +'\n住址: ' + data.address +'\n证件号码: ' + data.id +'\n签发机关: ' + data.issue +'\n有效期限: ' + data.startDate + '-' + data.endDate;} break;case "ReadPassportSuccess": // 读护照成功this.$data.headImage = ret.base64Image;var data = ret.idCardData;this.$data.dataJson ='姓名: ' + data.nameOfHolder + '/' + data.primaryIdentifier + data.secondaryIdentifier +'\n性别: ' + data.gender +'\n生日: ' + data.dateOfBirth +'\n国家码: ' + data.nationality +'\n护照号码: ' + data.documentNumber +'\n有效期: ' + data.dateOfExpiry;break;default:break;}});
手动停止读卡
正常读卡时,不需要手动去停止,读卡结束后,会自动处理停止。
stopReadCard(){readCardModule.stopReadCard();
}
附录
身份证详细信息
字段 | 类型 | 注释 |
---|---|---|
type | int | 1080:中国居民身份证 1082:港澳台居住证 |
address | string | 家庭住址 |
birthday | string | 出生日期 |
dn | string | dn码 |
endDate | string | 身份证结束时间 |
startDate | string | 身份证生效时间 |
id | string | 身份证号码 |
issue | string | 签发机关 |
name | string | 姓名 |
nation | string | 民族 |
sex | string | 性别 |
uuid | string | uuid |
base64Image | String | base64照片 |
外国人永久居住证
字段 | 类型 | 注释 |
---|---|---|
type | int | 1081:外国人永久居住证 |
birthday | string | 出生日期 |
dn | string | dn码 |
endDate | string | 身份证结束时间 |
startDate | string | 身份证生效时间 |
id | string | 身份证号码 |
issue | string | 签发机关 |
sex | string | 性别 |
uuid | string | uuid |
base64Image | string | base64照片 |
nameChinese | string | 中文姓名 |
nameEnglish | string | 英文姓名 |
nameEnglishAdd | string | 英文附加姓名 |
nationlity | string | 国籍 |
cardVersion | string | 卡版本号 |
cardType | string | 卡类型 |
historicalNumber | string | 历史号码 |
renewalNumber | string | 续签数 |
电子护照详细信息
字段 | 类型 | 注释 |
---|---|---|
nameOfHolder | string | 中文姓名 |
primaryIdentifier | string | 姓 |
secondaryIdentifier | string | 名 |
gender | string | 性别 M男 F女 |
dateOfBirth | string | 生日 |
nationality | string | 国家码 |
dateOfExpiry | string | 有效期 |
documentNumber | string | 护照号码 |
duration | long | 解码时长 |
base64Image | String | base64照片 |
状态码对应表
READCARD_SUCCESS(1000, "解码成功"),ININ_OK(1001, "初始化成功"),ININ_FAILE(1002, "初始化失败"),USB_NODEVICE_CODE(1003, "未发现读卡设备,请检查usb连接"),USB_NOREADCARD_CODE(1004, "没有检测到读卡设备"),USB_SYSYTEMREEOE_CODE(1005, "系统usb异常,请检查usb连接"),USB_NOINTERFACE_CODE(1006, "usb没有建立连接"),USB_NOCHANNLE_CODE(1007, "usb通道打开失败"),USB_NOSERVICE_CODE(1008, "没有usb服务"),SOCKET_SYS_CODE(1010, "网络通讯异常"),LOCAL_DATA_ERROR(1018, "本地通信失败"),UNKONW_ERROR(1020, "未知异常"),READCARD_START(1021, "解码开始"),READCARD_FAILE(1022, "解码失败"),READCARD_READING(1023, "解码中"),FIND_CARD_START(1024, "开始寻卡"),FIND_CARD_FAIL(1025, "寻卡失败"),FIND_CARD_SUCCESS(1026, "寻卡成功"),READ_UID_FAILE(1031, "UID异常"),SERIALPORT_NOINTERFACE_CODE(1036, "串口异常,请检查设备"),SERIALPORT_DATA_ERROR(1038, "串口异常"),
卡类型
CARD_IC(1040, "IC卡"),CARD_M1(1041, "M1卡"),CARD_LCT_STUDENT(1051, "绿城通学生卡"),CARD_LCT_NORMAL(1052, "绿城通普通卡"),CARD_LCT_OLD(1053, "绿城通老年卡"),CARD_SB(1060, "社保卡"),CARD_CMCC_SIM(1070, "中国移动超级SIM卡"),CARD_CUCC_SIM(1071, "中国联通超级SIM卡"),CARD_CTCC_SIM(1072, "中国电信超级SIM卡"),CARD_IDCARD(1080, "中国居民身份证"),CARD_IDCARD_FOREIGN(1081, "外国永久居住证"),CARD_IDCARD_GAT(1082, "港澳台居住证")
相关文章:
Uniapp插件如何通过NFC读取多种证卡信息?
nfc读卡uniapp插件,由中软高科进行开发,主要是通过NFC读取居民身份证、港澳台居住证、外国人居住证、护照等证卡的信息。经过多个版本的升级更新,目前性能已趋于稳定,并且读卡速度较之最初版本有了大的提升。 注意事项 测试使用的…...
本地docker镜像改名字
如果你想修改本地 Docker 镜像的名字,可以通过创建该镜像的新标签(tag)来实现。Docker 中没有直接修改镜像名字的命令,但可以通过重新打标签的方式实现类似的效果。以下是具体步骤: 查看当前镜像: docker…...
VS Code 远程连接 SSH 服务器
文章目录 一、安装 Remote - SSH 扩展并连接远程主机二、免密连接远程主机1. 生成 SSH 密钥对2. 将公钥复制到远程服务器3. 配置 SSH 客服端4. 连接测试 随着技术的不断迭代更新,在 Linux 系统中使用 Vim、nano 等基于 Shell 终端的编辑器(我曾经也是个 …...
艾体宝案例丨CircleCI 助力 ANA Systems 打造高效 CI/CD 模型
在现代软件开发领域,效率和可靠性是企业在竞争中取胜的关键。本文将深入探讨 ANA Systems 如何通过引入业界领先的 CI/CD 平台——CircleCI,克服传统开发流程的瓶颈,实现开发运营效率的全面提升。同时,本文还将详细解析 CircleCI …...
vue 上传组件 vxe-upload 实现拖拽调整顺序
vue 上传组件 vxe-upload 实现拖拽调整顺序,通过设置 drag-sort 参数就可以启用拖拽排序功能 官网:https://vxeui.com/ 图片拖拽排序 <template><div><vxe-upload v-model"imgList" mode"image" multiple drag-sor…...
Elasticsearch的一些介绍
你想问的可能是 **Elasticsearch**,以下是关于它的一些介绍: ### 概述 Elasticsearch是一个基于Apache Lucene库构建的开源分布式搜索和分析引擎,采用Java语言编写,具有高性能、可扩展性和易用性等特点,可用于各种数据…...
从源码构建安装Landoop kafka-connect-ui
背景 部署Landoop kafka-connect-ui最简单的办法还是通过docker来部署,我们之前的kafka-connect-ui就是通过docker部署的,但是,最近发现个问题:当使用docker部署且防火墙使用的是firewalld的情况下,就会出现端口冲突。…...
MybatisPlus-扩展功能
代码生成 在使用MybatisPlus以后,基础的Mapper、Service、PO代码相对固定,重复编写也比较麻烦。因此MybatisPlus官方提供了代码生成器根据数据库表结构生成PO、Mapper、Service等相关代码。只不过代码生成器同样要编码使用,也很麻烦。 这里…...
发布/部署WebApi服务器(IIS+.NET8+ASP.NETCore)
CS软件授权注册系统-发布/部署WebApi服务器(IIS.NET8ASP.NETCore) 目录 本文摘要VS2022配置发布VS2022发布WebApiIIS服务器部署WebApi 将程序文件复制到云服务器添加网站配置应用程序池配置dns域名配置端口阿里云ECS服务器配置19980端口配置https协议 (申请ssl证书)测试WebAp…...
【2025最新计算机毕业设计】基于SpringBoot+Vue城市中小学体育场馆预约系统【提供源码+答辩PPT+文档+项目部署】
一、项目技术架构: 本项目是一款城市中小学体育场馆预约系统的设计与实现。 该SpringBootVue的城市中小学体育场馆预约系统,后端采用SpringBoot架构,前端采用VueElementUI实现页面的快速开发,并使用关系型数据库MySQL存储系统运行…...
Spring Security 6 系列之二 - 基于数据库的用户认证和认证原理
之所以想写这一系列,是因为之前工作过程中使用Spring Security,但当时基于spring-boot 2.3.x,其默认的Spring Security是5.3.x。之后新项目升级到了spring-boot 3.3.0,结果一看Spring Security也升级为6.3.0,关键是其风…...
vue中打包dist文件内static 和 assets 的区别
背景 在Vue.js项目中,assets 和 static 是两个用于存放静态资源的文件夹,但它们在使用方式和处理机制上有所不同 用途 assets: assets 文件夹通常用于存放那些需要在构建过程中被Webpack处理的静态资源。这些资源可以包括图片、字体、样式文件&#…...
Big Model weekly | 第49期
点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 01 Magnetic Preference Optimization: Achieving Last-iterate Convergence for Language Models Alignment 自我对弈方法在多个领域增强模型能力方面展现出了显著的成功。在基于人类反馈的强化学习࿰…...
Node.js内置模块
1.内置模块 Node.js的中文网参考手册:https://nodejs.cn//api 帮助文档 API文档:查看对应的模块,左边是模块,右边是模块的成员 源码:https://github.com/nodejs/node/tree/main/lib 查看 例如: http.js 创建web服务器的模块 -->进入源码中,搜索…...
使用Nexus3搭建npm私有仓库
一、npm介绍 npm的全称是Node Package Manager,它是一个开放源代码的命令行工具,用于安装、更新和管理Node.js模块。npm是Node.js的官方模块管理器,它允许用户从一个集中的仓库中下载和安装公共的Node.js模块,并将这些模块集成到…...
MySQL学习之表操作
MySQL学习之表操作 基础命令 查询当前所在数据库的所有表 show tables;查看指定的表结构, 可以查看到指定表的字段,字段的类型、是否可以为NULL,是否存在默认值等信息 mysql> desc user; ----------------------------------------------- | Field |…...
C语言学习day22:ReadProcessMemory函数/游戏内存数据读取工具开发
简言: ReadProcessMemory函数是 Windows API 中的一个函数,用于从目标进程的虚拟内存空间中读取数据。这个函数非常有用,尤其是在进行内存分析、调试、或某些类型的逆向工程时。 ReadProcessMemory函数 函数原型 BOOL ReadProcessMemory(…...
Linux虚拟文件系统
参考:深入分析LINUX内核源码 深入分析Linux内核源码 (kerneltravel.net) 作为一个最著名的自由软件,Linux 确实名不虚传,几乎处处体现了“自由”,你可以编译适合自己系统要求的内核,或者轻松添加别人开发的新的模块。只…...
OpenIPC开源FPV之Adaptive-Link天空端代码解析
OpenIPC开源FPV之Adaptive-Link天空端代码解析 1. 源由2. 框架代码3. 报文处理3.1 special报文3.2 普通报文 4. 工作流程4.1 Profile 竞选4.2 Profile 研判4.3 Profile 应用 5. 总结6. 参考资料7. 补充资料7.1 RSSI 和 SNR 的物理含义7.2 信号质量加权的理论依据7.3 实际应用中…...
NPU是什么?电脑NPU和CPU、GPU区别介绍
随着人工智能技术的飞速发展,计算机硬件架构也在不断演进以适应日益复杂的AI应用场景。其中,NPU(Neural Processing Unit,神经网络处理器)作为一种专为深度学习和神经网络运算设计的新型处理器,正逐渐崭露头…...
.Net WebAPI(一)
文章目录 项目地址一、WebAPI基础1. 项目初始化1.1 创建简单的API1.1.1 get请求1.1.2 post请求1.1.3 put请求1.1.4 Delete请求 1.2 webapi的流程 2.Controllers2.1 创建一个shirts的Controller 3. Routing3.1 使用和创建MapControllers3.2 使用Routing的模板语言 4. Mould Bind…...
.NET 技术 | 调用系统API创建Windows服务
01阅读须知 此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失…...
OpenLinkSaas 2025年1月开发计划
先来看看OpenLinkSaas的大目标 在OpenLinkSaas的产品目标中,让开发人员更加方便的使用云资源是目标之一。通过各大云厂商的API,来可视化云上基础设施的数据是远远不够的。我们准备在2025年1月份增加方便管理和运营研发场景下服务器的能力。 这部分的功能…...
同态加密算法详解及Python实现
目录 同态加密算法详解及Python实现第一部分:同态加密概述与原理1.1 什么是同态加密?同态加密的定义:1.2 同态加密的分类1.3 同态加密的优势与挑战优势挑战第二部分:常见同态加密算法及其应用场景2.1 RSA同态加密支持操作应用场景2.2 Paillier加密支持操作应用场景2.3 Gent…...
【HarmonyOS NEXT】ArkTs函数、类、接口、泛型、装饰器解析与使用
1. 前置学习文档 【HarmonyOS NEXT】ArkTs数据类型解析与使用(https://juejin.cn/spost/7448894500348608522) 2. 前言 在原生JavaScript中只有函数和类的实现,为了更好的面向对象编程,TypeScript 引入了接口、泛型、装饰器等特性。ArkTS也继承了这些特性…...
【数学】矩阵的逆与伪逆 EEGLAB
文章目录 前言matlab代码作用EEGLAB 中的代码总结参考文献 前言 在 EEGLAB 的使用中,运行程序时出现了矩阵接近奇异值,或者缩放错误。结果可能不准确。RCOND 1.873732e-20 的 bug,调查 EEGLAB 后发现是 raw 数据的问题。 matlab代码 A_1 …...
用github镜像加速, --recursive还是去github站怎么处理?
小伙伴们大多碰到过github抽风的情况,时通时断,时快时慢,非常考验心情。 以前碰到连不上的时候,我大多就是在gitee和gitcode网站找一下镜像,找到后直接git clone 新地址即可。但是碰到 --recursive的时候就不行了&…...
第P2周:Pytorch实现CIFAR10彩色图片识别
🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 目标 实现CIFAR-10的彩色图片识别实现比P1周更复杂一点的CNN网络 具体实现 (一)环境 语言环境:Python 3.10 编 译 器: …...
springboot3访问第三方接口
添加依赖(如果尚未添加) 在pom.xml文件中,确保已经包含spring-boot-starter-web依赖,因为RestTemplate通常在这个依赖范围内。如果没有,添加如下依赖: <dependency><groupId>org.springframe…...
Ubuntu K8s
https://serious-lose.notion.site/Ubuntu-K8s-d8d6a978ad784c1baa2fc8c531fbce68?pvs74 2 核 2G Ubuntu 20.4 IP 172.24.53.10 kubeadmkubeletkubectl版本1.23.01.23.01.23.0 kubeadm、kubelet 和 kubectl 是 Kubernetes 生态系统中的三个重要组件 kubeadm: 主…...
大数据第三次周赛
类斐波那契循环数 #include<bits/stdc.h> using namespace std; #define int long long int arr[1000010]; bool key(int k){int num0;string strto_string(k);for(int i0;i<str.length();i){arr[num]str[i]-0;}int l0,rnum-1;int shix0; while(shix<k){shix0;for…...
《Java核心技术I》Swing用户界面组件
Swing和模型-视图-控制器设计模式 用户界面组件各个组成部分,如按钮,复选框,文本框或复杂的树控件,每个组件都有三个特征: 内容,如按钮的状态,文本域中的文本。外观,颜色,…...
Web开发 -前端部分-CSS
CSS CSS(Cascading Style Sheet):层叠样式表,用于控制页面的样式(表现)。 一 基础知识 1 标题格式 标题格式一: 行内样式 <!DOCTYPE html> <html lang"en"><head><meta…...
旅游系统旅游小程序PHP+Uniapp
旅游门票预订系统,支持景点门票、导游产品便捷预订、美食打卡、景点分享、旅游笔记分享等综合系统 更新日志 V1.3.0 1、修复富文本标签 2、新增景点入驻【高级版本】3、新增门票核销【高级版】4、新增门票端口【高级版】...
Windows 与 Linux 下 Ping IPv6 地址 | 常用网络命令
注:本文为网络命令相关文章合辑。 未整理去重。 一、IPv6 概述 IPv6 即 “Internet 协议版本 6”,因 IPv4 地址资源面临耗尽问题而被引入以替代 IPv4。IPv6 则提供了理论上多达 2 128 2^{128} 2128 个地址,有效解决地址不足困境。 IPv6 具…...
前端学习一
一 进程与线程 线程是进程执行的最小单位,进程是系统分配任务的最小单位。 一个进程可执行最少一个线程。线程分为子线程和主线程。 主线程关闭则子线程关闭。 二 浏览器进程 浏览器是多进程多线程应用。 进程包括: 浏览器进程 负责程序交互渲染…...
【Python · PyTorch】卷积神经网络(基础概念)
【Python PyTorch】卷积神经网络 CNN(基础概念) 0. 生物学相似性1. 概念1.1 定义1.2 优势1.2.1 权重共享1.2.2 局部连接1.2.3 层次结构 1.3 结构1.4 数据预处理1.4.1 标签编码① One-Hot编码 / 独热编码② Word Embedding / 词嵌入 1.4.2 归一化① Min-…...
Spring Framework 路径遍历漏洞复现(CVE-2024-38819)
hu0x01 产品描述: Spring Framework 是一个功能强大的 Java 应用程序框架,旨在提供高效且可扩展的开发环境。它结合了轻量级的容器和依赖注入功能,提供了一种使用 POJO 进行容器配置和面向切面的编程的简单方法,以及一组用于AOP的模块。0x02 漏洞描述: Spring Framework 存…...
心法利器[122] | 算法面试的八股和非八股讨论
心法利器 本栏目主要和大家一起讨论近期自己学习的心得和体会。具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有。 2023年新的文章合集已经发布,获取方式看这里:又添十万字-CS的陋室2023年文章合集来袭,更…...
实操给自助触摸一体机接入大模型语音交互
本文以CSK6 大模型开发板串口触摸屏为例,实操讲解触摸一体机怎样快速增加大模型语音交互功能,使用户能够通过语音在一体机上查询信息、获取智能回答及实现更多互动功能等。 在本文方案中通过CSK6大模型语音开发板采集用户语音,将语音数据传输…...
AJAX家政系统自营+多商家家政系统服务小程序PHP+Uniapp
一款同城预约、上门服务、到店核销家政系统,用户端、服务端、门店端各端相互依赖又相互独立,支持选择项目、选择服务人员、选择门店多种下单方式,支持上门服务和到店核销两种服务方式,支持自营和多商家联营两种运营模式࿰…...
LiveData源码研究
LiveData 源码分析 前言 用过MVVM的大概知道LiveData可以感知组件的生命周期,当页面活跃时,更新页面数据, 当页面处于非活跃状态,它又会暂停更新,还能自动注册和注销观测者,能有效避免内存泄漏和不必要的…...
Root软件学习
一、命令行输入下方命令打开root文件 root filename.root 二、在root命令行下输入.help查看root下可用的指令 .help输入.q是退出root命令行 .q 三、输入下方指令查看当前打开的root文件的目录 .ls 四、打印Hits树下的内容(print) 方框里是各种树文…...
研发文档管理系统:国内外9大选择比较
文章主要对比了9款国内外研发文档管理系统:1.PingCode; 2. Worktile; 3. 飞书; 4. 石墨文档; 5. 腾讯文档; 6. 蓝湖; 7. Confluence; 8. Notion; 9. Slab。 在企业研发过…...
centos 7.9 freeswitch1.10.9环境搭建
亲测版本centos 7.9系统–》 freeswitch1.10.9 一、下载插件 yum install -y git alsa-lib-devel autoconf automake bison broadvoice-devel bzip2 curl-devel libdb4-devel e2fsprogs-devel erlang flite-devel g722_1-devel gcc-c++ gdbm-devel gnutls-devel ilbc2...
嵌入式驱动开发详解17(CAN驱动开发)
文章目录 前言CAN简介CAN收发器CAN协议讲解电气特性传输协议数据帧遥控帧错误帧过载帧帧间隔 同步矫正 CAN控制器CAN控制器模式CAN接收器CAN波特率 CAN设备树分析CAN测试后续参考文献 前言 该专栏主要是讲解嵌入式相关的驱动开发,但是由于部分模块的驱动框架过于复…...
探索 Janus-1.3B:一个统一的 Any-to-Any 多模态理解与生成模型
随着多模态技术的不断发展,越来越多的模型被提出以解决跨文本与图像等多种数据类型的任务。Janus-1.3B 是由 DeepSeek 推出的一个革命性的模型,它通过解耦视觉编码并采用统一的 Transformer 架构,带来了一个高度灵活的 any-to-any 多模态框架…...
黑马头条day01 微服务搭建
1.请求调用流程 如http://localhost:8803/static/js/2.0195d7180dc783c3fe99.js这种静态资源,采用http的发送到本地8803端口的静态资源请求,而nginx配置的监听8801、8802、8803,所以请求走到nginx,nginx的admin配置文件 upstream…...
AI辅助编程工具对比:Cursor AI、Windsurf AI 和 GitHub Copilot
功能和特性 1. Cursor AI 基于VS Code构建,集成了GPT-4等多个AI模型,提供高级智能支持。支持AI代码补全、错误修正以及通过自然语言执行命令。具备多文件编辑和上下文理解能力,能够在复杂项目中提供跨文件的智能建议。提供标签功能…...
【Qt】qt安装
在工作一年之后,还是想做一个Qt的教程,遥想研一刚刚接触Qt,从0到1学习,没有什么参考书籍,网上的资料也不多,幸好Qt官方文档写得好,加上自己肯研究,才堪堪入门。 现在我想自己写一个…...