学长的传承下载、安装1234567# Install or upgrade the ultralytics package from PyPIpip install -U ultralytics# Use uv install Ultralyticsuv init --python 3.13uv venvuv pip install ultralytics --torch-backend=auto
训练1uv run yolo train model=yolo26n.pt data=./data.yaml epochs=100 imgsz=640
推理1uv run yolo predict model="训练出来的最好的模型的路径\best.pt" source=(图片地址/数字则是摄像头序号) show=True(是否开个窗口)
第一步:先拉取官方仓库git clone https://github.com/hiyouga/LlamaFactory.git
第二步:然后编辑文件夹下的uv配置文件,添加以下内容123456789101112[tool.uv.sources]torch = [ { index = "pytorch-cu124", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },]torchvision = [ { index = "pytorch-cu124", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },][[tool.uv.index]]name = "pytorch-cu124"url = "http ...
官方就有Arduino的组件Arduino 作为 ESP-IDF 组件——Arduino ESP32 最新文档 — Arduino as an ESP-IDF component - - — Arduino ESP32 latest documentation快速上手
1idf.py create-project-from-example "espressif/arduino-esp32^3.3.6:hello_world"
添加依赖1idf.py add-dependency "espressif/arduino-esp32^3.3.6"
注意,一定要先configTICK_RATE_HZ = 1000,不然会报错,并且无法通过menuconfig修改
配置更改主程序后缀把main.c改成main.cpp,注意检查一下CMakeLists.txt文件。
添加依赖库例如u8g2
新建一个components目录
git clone下来 git clone https://github.com/olikraus/u8g2.git
在compo ...
UV 安装GPU PyTorch123torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124uv pip install xxx --torch-backend=auto
12345678910111213141516171819dependencies = [ "ipykernel>=7.1.0", "matplotlib>=3.10.8", "torch", "torchvision",][tool.uv.sources]torch = [ { index = "pytorch-cu124", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },]torchvision = [ ...
systemd入门教程如果你刚接触Ubuntu、CentOS等Linux系统,大概率会遇到“启动服务”“开机自启”这类需求。而systemd,就是Linux系统里负责“统筹管理”这些事的“大管家”。这篇教程不讲复杂原理,只教你搞懂它是什么、怎么用,轻松搞定服务管理和开机自启。
一、先搞懂:systemd到底是啥?我们先抛弃专业定义,用比喻理解:
把Linux系统想象成一个“大家庭”,家里有各种“打工仔”(进程):有的负责网络连接(sshd服务),有的负责网页服务(nginx),有的负责定时任务(crond)。这些“打工仔”大多在后台默默干活,不露面(也就是“守护进程”)。
而systemd,就是这个家的“大管家”——它的核心工作的是:
开机时,按顺序叫醒需要的“打工仔”(并行启动服务,加快开机速度);
运行中,管理“打工仔”的生死(启动、停止、重启服务);
听话办事,比如你让某个“打工仔”开机就上班(配置开机自启);
记日志,哪个“打工仔”出问题了,它会记下原因(方便排错)。
补充:Ubuntu 16.04、CentOS 7及以上版本,都默认用systemd当“管家”。之前的老系统 ...
按照数据通行方式分类:串行通信、并行通信按照数据传输方向分类:单工通信、半双工通信、全双工通信按照数据同步方式分类:同步通信、异步通信
[!note]- 同步通信要求收发双方使用同一个时钟信号实现同步,数据以帧为单位连续传输,帧内无间隔或仅有固定间隔。其优点是传输速率高、数据格式紧凑、传输效率高;但对时钟同步精度要求极高,时钟偏差易导致数据传输错误,适用于以太网、SPI、I2C、光纤通信、SDH/SONET光传输网络等大批量连续数据传输场景。
[!note]- 异步通信无需收发双方统一时钟,数据以字符为单位传输,每个字符前添加起始位、后添加停止位,通过这两个标识实现字符级同步。该方式的优点是无需额外时钟线、硬件结构简单、容错性强;缺点是起始位和停止位会占用10%-20%的带宽,额外开销大,传输速率较低,常见于UART串口通信、键盘与主机通信、鼠标与主机通信等间歇性、小批量数据传输场景。
UART
[!tip]+异步通信RX-TX发射端和接收端各自都是独立时钟,通过波特率保持同步
波特率每秒传输的码元个数,单位是Baud(波特)常见波特率:9600(基础)、1920 ...
CPU frequency = 240MHzFlash = QIOESP PSRAM 勾选 Pull-up PSRAM CS pin in light sleep,并且mode of spi ram chip in use = Octal Mode PSRAMconfigTICK_RATE_HZ = 1000
GPIO配置GPIO12345678910111213#include "driver/gpio.h"void gpio_init(void) { gpio_config_t io_conf = { .intr_type = GPIO_INTR_DISABLE, // 禁用中断 .mode = GPIO_MODE_OUTPUT, // 设置为输出模式 .pin_bit_mask = 1ULL << GPIO_NUM_3, // 配置 GPIO3 .pull_down_en = 0, // 禁用下拉电阻 .pull_up_en ...
在 ROS2 开发中,我们经常会接入多个 USB 串口设备(如激光雷达、485 转换器、STM32 控制板等)。Linux 系统默认分配的 /dev/ttyUSB0、ttyUSB1 会因为重启或插拔顺序导致名称“漂移”。
本文记录如何通过 lsusb 排查硬件并使用 udev 规则永久固定设备名称。
1. 硬件信息排查首先,通过“排除法”确定各设备的硬件 ID。
Bash
12345678910# 1. 不插设备时运行一次lsusb# 2. 插上激光雷达,再次运行,多出的设备即为雷达# 示例输出:Bus 001 Device 014: ID 10c4:ea60 Silicon Labs CP210x...# 其中 10c4 是 vendorID,ea60 是 productID# 3. 插上 485 转换器,再次运行# 示例输出:Bus 001 Device 016: ID 1a86:7523 QinHeng Electronics CH340...# 其中 1a86 是 vendorID,7523 是 productID
2. 创建 udev 规则文件利用设备的唯一硬件 ID,为它 ...
一、问题背景当你使用 ESP32-S3 N16R8(16MB Flash + 8MB PSRAM)开发时,会发现 PlatformIO 的 boards 列表中没有完全匹配的型号。默认选择 esp32-s3-devkitc-1 虽能编译,但系统仍按 4MB Flash 分配资源,导致大量存储空间无法使用。
二、解决方案:自定义配置三步走步骤 1:配置 platformio.ini123456789101112[env:esp32s3-n16r8]platform = espressif32board = esp32-s3-devkitc-1 ; 使用最接近的板子定义framework = arduino; 关键:指定 16MB Flashboard_upload.flash_size = 16MB; 启用 8MB PSRAM(OPI 模式,高速)board_build.arduino.memory_type = qio_opibuild_flags = -DBOARD_HAS_PSRAM
步骤 2:验证配置12345678910111213141516171819202 ...
SpringBoot
未读这里一篇我对Spring Security的笔记,多谢了下面这位博主的教程,也推荐他的视频
123456作者: 夜泊1990企鹅: 1611756908Q 群: 948233848邮箱: hd1611756908@163.com博客: https://hs-an-yue.github.io/B 站: https://space.bilibili.com/514155929/
理解这就是一个过滤器Filter
配置好依赖之后,启动就会自动创建一个动态password,默认用户名为user
客户端向服务器发起请求,被身份认证Filter拦截如果没有授权,让客户端访问/login路由页面客户端访问/login路由页面,则服务器返回login.html
深入常用内置核心接口123InMemoryUserDetailsManager: 内存账户信息管理类,是UserDetailsService的子类 UserDetailsService: SpringSecurity用户信息管理类的核心接口,管理用户信息来源(数据库还是内存以及其他...) UserDetails ...