简介
本篇文章是关于 HID 相关协议的介绍,人机交互 Human Interface Device) 其核心优势在于免驱兼容:操作系统(Windows、Linux、macOS、Android等)内置了标准 HID 驱动,无需安装额外软件即可即插即用
USB HID
注:
下面关于 USB HID 进行的相关记录学习都是基于 USB2.0 (部分可能会拿 USB3.0 进行对比)
默认没有提到的都是基于全速模式 也就是理论带宽=12Mbps
对比获取速率通讯方式枚举
接口版本
工作模式
理论带宽
USB2.0
低速模式 (Low-Speed)
1.5Mbps
全速模式 (Full-Speed)
12Mbps
高速模式 (High-Speed)
480Mbps
USB3.0 (USB3.1 Gen1/USB3.2 Gen1)
超高速模式 (SuperSpeed)
5000Mbps
USB3.1 Gen2 (USB3.2 Gen2)
超高速增强模式 (SuperSpeed+)
10000Mbps
USB3.2 Gen2x2
双通道超高速模式
200 ...
Cland 代码引擎
在写 ESP-IDF 相关项目时,包括其它C/C++ 一般 vscode 会让安装相关插件 C/C++ 用于 C/C++ IntelliSense, debugging, and code browsing. 主要是代码补全,导包这些,当项目文件比较多项目比较大时,速度就会变慢,也不能很方便的导包,所以采用 Cland
插件安装快捷导包快捷键导包配置安装完需要重启 vscode
注:不知道是 esp-idf 还是 vscode 或者是什么原因,反正项目要先 build 一次,然后 include 的这些内容下面才不会显示警告,好像是说的因为要去 build/compile_commands.json 找这个文件,但是没编译前没有生成这个文件
自己配置好快捷键就可以节省一步的动作了,注意做好事不要有全局冲突的快捷键,可以桌面和 vscode 代码文件中先按下看看你自己想设置的快捷键会不会有什么反应,没有的话就可以,或者在下面图片中标注序号②的那个页面上搜索框先查看一下
简介
简介官方文档eim GUI 安装介绍:ESP-IDF === 乐鑫物联网开发框架,是官方提供的一套开发框架,或者 sdk,这个是需要安装到你本地的电脑上面或者集成到你的IDE 工具,这样就可以调用它的 API 也就是说和写 Java 需要先给电脑配 sdk 写 Python 需要给电脑安装 python 环境一个意思,不是把这个安装到你的开发版上,电脑有了这个 sdk 以后就可以调用官方的 API 去写自己的代码了,写好以后再编译,最后把编译好的烧录进开发版里面
准备工作:原本我们是需要在我们的电脑上(Windows/Mac/Linux)上去配置完整的工作环境包含工具链 编译构建工具(CMake 和 Ninja) ESP-IDF
分类
名称
说明
工具链
把 C/C++ 代码翻译成芯片能识别的机器指令,核心编译转换程序
编译构建工具
CMake
管理项目文件、编译规则,告诉程序哪些代码要参与编译、如何组织工程
Ninja
高速编译工具,加速代码编译打包,比常规编译速度更快
SDK 框架
ESP-IDF
封装硬件驱动、WiFi/蓝牙、系统接口,直接调用 ...
选购指南
首先看使用的模组是否和官方的一样,以 ESP32-3 为例 分为 pcb 板载天线模组(不带 U)另外一种是外接天线模组(带 U,预留 ipex 接口) ,天线是蓝牙和 WiFi 共用的合二为一的,自带的和外接的只是改变信号的强弱 穿透 和距离 不改变原本的 WiFi 或者蓝牙的版本 因为芯片原生固定硬的 WiFiX BLEX 的版本,好像说的这种板子是开源的 所以很多盗版 或者小厂家买二手芯片 二手器件组装出来一个开发板
芯片模组开发版在芯片的基础上做个封装,加点外壳天线这些就算是一个模组了,下面分别是ESP32-S3的两个模组(带板载天线和不带天线的)
模组
参数图
下面以 N16R8 为例
N
常温通用版,-40℃-85℃
16
板子的存储空间(类比电脑硬盘 512Gb 1Tb 或者手机的存储空间 128Gb 256Gb……),永久化存储,断电数据还在
R8
当于电脑的内存条 程序运行是临时存储的变量 数据 缓存…,关闭程序或者断电释放清空 零时性的
把模组集成带板子上就是一个最小系统版了,能够直接烧录运行代码,系统版又分给你焊 ...
简介
注意事项:本文中部分操作会涉及到网络问题,请确保电脑能正常访问 github 或 google
Hexo 是一个博客框架,可以把平时写的 Markdown 笔记转换成对应的 html,然后部署到自己的服务器,方便查看,由于之前的域名到期了,之前通过阿里云的 oss 对象存储的图片无法访问了,索性就重新再部署一下,并把所有的版本给更新到最新版本,同时完善 docker 构建发布到服务器
环境准备
安装 node 环境
123456789101112131415# 安装 node 我直接通过 asdf 进行安装的并设置全局版本asdf plugin-add nodejsasdf install nodejs latestasdf global nodejs latest# 查看当前的版本 (本地为 v20.5.1)node -v# 安装 pnpm (有 npm 也行)npm install pnpm -g# 查看当前 pnpm 版本 (本地为 8.6.12)pnpm -v# 查看当前 pnpm 源 (如果不是国内的自己设置一下)pnpm config get registry# ...
简介
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
docker-compose 模版
1️⃣ 这句 ./mongodb/data:/data/db 是将容器的 /data/db 挂载出来,以后删了容器数据还在
2️⃣ 要记得把端口 27017 给开上
123456789101112# MongoDB 数据库mongodb: image: mongo container_name: mongodb restart: always environment: MONGO_INITDB_ROOT_USERNAME: admin MONGO_I ...
简介
Docker Compose是一个用来定义和运行复杂应用的Docker工具。一个使用Docker容器的应用, 通常由多个容器组成。使用Docker Compose不再需要使用shell脚本来启动容器。
Compose 通过一个配置文件来管理多个Docker容器,在配置文件中,所有的容器通过services来定义,然后使用docker-compose脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器,非常适合组合使用多个容器进行开发的场景。
docker-compose 常用命令
123456789101112#控制台实时打印查看容器日志# docker-compose -f /path/docker-compose.yml logs -f docker-compose -f /home/data/docker/services/aden-assistant/aden-assistant-endpoint/docker-compose.yml logs -f# 只实时打印,只显示最后 200 行# docker-compose -f /path/docker-com ...
简介
Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds)于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它支持32位和64位硬件,能运行主要的Unix工具软件、应用程序和网络协议。
Linux 常用命令
12345678910111213141516# 实时查看日志tail -f /path/xx.log# 实时查看日志过滤单个关键字tail -f /path/xx.log | grep 'xxx'# 实时查看日志过滤多个关键字tail -f | egrep 'a|b|c'tail -f /path/xx.log | grep -E '{{keyword_1}}|{{keyword_2}}'# 尝试连接某一服务端口# 当日志中出现报错 ...
简介
在我们平时的工作中由于一些特殊需求可能需要来回的切换我们环境的版本,比如前端的 Node.js、Java、Python、Go。每种语言都有单独的工具可以用来进行管理对应的版本,比如我使用过的 jenv 可以管理 Java,nvm 管理 Node.js,也有没使用过的 nvm管理 Go,等等,今天有个公司的项目是用 Go 语言写的,我需要安装对应的 SDK 包,第一反应就是看有没有对应的版本管理工具,后面一想要是有个可以管理多个语言的工具就好了,果不其然通过 ChatGPT 了解到确实有这样一个工具就是今天笔记整理的 asdf (看这个名字估计当时这个作者也是第二排的键盘从左往右随便按了几个字母),截止记录时这个项目在 GitHub 上有 17.7K 的 stars
项目地址
1234title: 'GitHub - asdf-vm/asdf: Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more'image: 'https://ope ...
AnZhiYu主题中大部分标签移植于店长的hexo-butterfly-tag-plugins-plus,转载请注明来自安知鱼
段落文本 p
标签语法配置参数样式预览示例源码1{% p 样式参数(参数以空格划分), 文本内容 %}
字体: logo, code
颜色: red,yellow,green,cyan,blue,gray
大小: small, h4, h3, h2, h1, large, huge, ultra
对齐方向: left, center, right
彩色文字
在一段话中方便插入各种颜色的标签,包括:红色、黄色、绿色、青色、蓝色、灰色。
超大号文字
文档「开始」页面中的标题部分就是超大号文字。Volantis
A Wonderful Theme for Hexo
123456- 彩色文字 在一段话中方便插入各种颜色的标签,包括:{% p red, 红色 %}、{% p yellow, 黄色 %}、{% p green, 绿色 %}、{% p cyan, 青色 % ...












