当前位置: 首页 > news >正文

Ardupilot开源无人机之Geek SDK进展2024-2025

Ardupilot开源无人机之Geek SDK进展2024-2025

  • 1. 源由
  • 2. 状态
  • 3. TODO
    • 3.1 【进行中】跟踪目标框
    • 3.2 【暂停】onnxruntime版本
    • 3.3 【完成】CUDA 11.8版本
    • 3.4 【完成】pytorch v2.5.1版本
    • 3.5 【未开始】Inference性能
    • 3.6 【未开始】特定目标集Training
  • 4. Extra-Work
    • 4.1 【完成】CUDA 12.3版本
    • 4.2 【暂停】TensorRT 8.6
    • 4.3 【完成】Jetpack6.2(Jetson Orin Nano Super)
  • 5. 同步工作
  • 6. 参考资料
  • 7. 问题
    • 7.1 风扇启动全速噪音问题
    • 7.2 Jetson Orin Nano Super性能升级
    • 7.3 Jetpack5 TensorRT 8.5不可升级版

1. 源由

前期搭建《Ardupilot开源无人机之Geek SDK》,主要目的是:

  1. 基于:《ArduPilot开源飞控系统 - 无人车、船、飞机等》
  2. 验证:《Ardupilot & OpenIPC & 基于WFB-NG构架分析和数据链路思考》可行性
  3. 框架:打通硬实时、软实时的控制面和数据面链路,提供一个简单、多样、高效的验证平台 jetson-fpv

2. 状态

  • 简单示例

  • 框架成型:jetson-fpv

  • 支持特性:

    • FPV features (FPV功能)

      • MSPOSD for ground station (OSD)
      • video-viewer (视频图像,可以达到120FPS)
      • Adaptive wireless link (链路自适应)
    • Jetson video analysis (Jetson推理功能)

      • detectnet for object detection
      • segnet for segmentation
      • posenet for pose estimation
      • imagenet for image recognition
    • yolo for object detection (YOLO目标检测)

    • Real time video stabilizer

    • DeepStream analysis (DeepStream目标跟踪分析)

      • ByteTrack
      • NvDCF tracker
  • 硬件形态
    在这里插入图片描述在这里插入图片描述

3. TODO

优先级

  • 【0101暂定】3.2 onnxruntime版本 > 3.1 跟踪目标框 > 3.5 Inference性能 > 3.6 特定目标集Training > 3.3 CUDA 11.8版本 > 3.4 pytorch v2.5.1版本
  • 【0109变更】3.3 CUDA 11.8版本 > 3.4 pytorch v2.5.1版本 > 3.2 onnxruntime版本 > 3.1 跟踪目标框 > 3.5 Inference性能 > 3.6 特定目标集Training
  • 【0117变更】目前NVIDIA主要支持L4T36.x(ubuntu22.04),对L4T35.x(ubuntu20.04)支持力度日渐转弱,进度很慢(尽管官方论坛说没有停止支持)。将不连续帧跟踪目标框持续OSD输出的问题尽快提上日程。
 └──> 【完成】3.3 CUDA 11.8版本│    └──> 【完成】4.1 CUDA 12.3版本└──> 【完成】3.4 pytorch v2.5.1版本└──> 【进行中】4.2 TensorRT 8.6├──> 【进行中】3.2 onnxruntime版本└──> 【进行中】3.1 跟踪目标框└──> 3.5 Inference性能└──> 3.6 特定目标集Training
  • 【0120变更】鉴于目前NVIDIA闭源,虽然尚未宣布Jetpack5的EOL时间,但是实际在版本支持和研发投入上,已经明显出现乏力(详见:7.3)!而目前来说Super版本似乎从性能上是一个改观,为此我们后续将投入BSP6.2版本,顺便调整优先级,废弃一些闭源升级问题带来的折腾。
 ├──> 【完成】3.3 CUDA 11.8版本│   │    └──> 【完成】4.1 CUDA 12.3版本│   └──> 【完成】3.4 pytorch v2.5.1版本│        └──> 【暂停】4.2 TensorRT 8.6│            └──> 【暂停】3.2 onnxruntime版本└──> 【完成】4.3 Jetpack6.2(Jetson Orin Nano Super)└──> 【进行中】3.1 跟踪目标框└──> 3.5 Inference性能└──> 3.6 特定目标集Training

3.1 【进行中】跟踪目标框

  • DeepStream-Yolo - How to keep the bounding boxes when interval is NOT zero? #604
  • NVIDIA - How to keep the bounding boxes when interval is NOT zero?

3.2 【暂停】onnxruntime版本

  • Yolov8s no bounding box on default settings #597
  • NVIDIA - Build onnxruntime v1.19.2 for Jetpack 5.1.4 L4T 35.6 Faild
  • microsoft/onnxruntime - Build onnxruntime v1.19.2 for Jetpack 5.1.4 L4T 35.6 Faild #23267
  • [Build] Trying to build on a embedded device that doesn’t support BFLOAT16 #19920
  • mlas: fix build on ARM64 #21099

通过上面的问题沟通,逐步锁定源头和原因:ARCH对bf16的硬件支持 vs gcc版本问题。

  • arm64: force -mcpu to be valid #21117

基于Jetpack5.1.4升级gcc11版本
升级CUDA版本11.4.315 到11.8.89
提升3.3 CUDA 11.8任务优先级
需要考虑OpenCV对CUDA的版本依赖问题

  • [Build] v1.19.2 abseil_cpp failed: 2 with JP5.1.4 gcc/g++13 #23286
  • Build onnxruntime 1.19.2 fail due to API HardwareCompatibilityLevel

3.3 【完成】CUDA 11.8版本

  • How to install CUDA 11.8 on Jetpack 5.1.4 L4T 35.6?
  • Linux 35.5 + JetPack v5.1.3@CUDA安装和版本切换

目前,了解到支持的版本状况:CUDA Toolkit Archive

  • Ubuntu 20.04 支持到 CUDA 12.3 (同时支持Ubuntu 22.04)
  • 从CUDA 12.4开始仅支持Ubuntu 22.04

安装deb文件

$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/arm64/cuda-ubuntu2004.pin
$ sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
$ wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-tegra-repo-ubuntu2004-11-8-local_11.8.0-1_arm64.deb
$ sudo dpkg -i cuda-tegra-repo-ubuntu2004-11-8-local_11.8.0-1_arm64.deb

复制CUDA密钥

$ sudo cp /var/cuda-tegra-repo-ubuntu2004-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings///more specific
$ sudo cp /var/cuda-tegra-repo-ubuntu2004-11-8-local/cuda-tegra-95320BC3-keyring.gpg /usr/share/keyrings/

安装cuda及其依赖组件

$ sudo apt-get update
$ sudo apt-get -y install cuda

3.4 【完成】pytorch v2.5.1版本

  • pytorch v2.5.1 build for nvidia jetson orin nano 8GB #143624
  • Linux 35.6 + JetPack v5.1.4之 pytorch编译
  • Linux 35.6 + JetPack v5.1.4之 pytorch升级
  • Release pytorch-v2.5.1+l4t35.6-cp38-cp38-aarch64

pytorch 2.5.1 编译

$ cat ./build.sh
#!/bin/bash# git clone https://github.com/SnapDragonfly/pytorch.git
# git checkout nvidia_v2.5.1
# git submodule update --init --recursiveexport USE_NCCL=0
export USE_DISTRIBUTED=0
export USE_QNNPACK=0
export USE_PYTORCH_QNNPACK=0
export TORCH_CUDA_ARCH_LIST="8.7"
export PYTORCH_BUILD_VERSION=2.5.1
export PYTORCH_BUILD_NUMBER=1
export L4T_BUILD_VERSION=35.6
export USE_PRIORITIZED_TEXT_FOR_LD=1
export USE_FLASH_ATTENTION=0
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATHpython3 setup.py bdist_wheel

pytorch 2.5.1 二进制安装

$ wget https://github.com/SnapDragonfly/pytorch/releases/download/v2.5.1%2Bl4t35.6-cp38-cp38-aarch64/torch-2.5.1+l4t35.6-cp38-cp38-linux_aarch64.whl
$ sudo pip3 install torch-2.5.1+l4t35.6-cp38-cp38-linux_aarch64.whl

torchvision安装

$ git clone https://github.com/SnapDragonfly/vision.git torchvision
$ cd torchvision
$ git checkout nvidia_v0.20.1
$ export BUILD_VERSION=0.20.1
$ sudo python3 setup.py install --user
$ cd ..

升级JetPack5.1.4 L4T35.6后的版本信息

Software part of jetson-stats 4.2.12 - (c) 2024, Raffaello Bonghi
Model: NVIDIA Orin Nano Developer Kit - Jetpack 5.1.4 [L4T 35.6.0]
NV Power Mode[0]: 15W
Serial Number: [XXX Show with: jetson_release -s XXX]
Hardware:- P-Number: p3767-0005- Module: NVIDIA Jetson Orin Nano (Developer kit)
Platform:- Distribution: Ubuntu 20.04 focal- Release: 5.10.216-tegra
jtop:- Version: 4.2.12- Service: Active
Libraries:- CUDA: 11.8.89- cuDNN: 8.6.0.166- TensorRT: 8.5.2.2- VPI: 2.4.8- Vulkan: 1.3.204- OpenCV: 4.9.0 - with CUDA: YES
DeepStream C/C++ SDK version: 6.3Python Environment:
Python 3.8.10GStreamer:                   YES (1.16.3)NVIDIA CUDA:                   YES (ver 11.4, CUFFT CUBLAS FAST_MATH)OpenCV version: 4.9.0  CUDA TrueYOLO version: 8.3.33Torch version: 2.5.1+l4t35.6Torchvision version: 0.20.1a0+3ac97aa
DeepStream SDK version: 1.1.8

3.5 【未开始】Inference性能

  • DeepStream-Yolo - Anyway to boost yolo performance on Jetson Orin? #605
  • NVIDIA - Anyway to boost yolo performance on Jetson Orin?

A: DeepStream-Yolo - INT8 calibration (PTQ)
B: NVIDIA - NvDCF tracker plugin

3.6 【未开始】特定目标集Training

TBD.

4. Extra-Work

4.1 【完成】CUDA 12.3版本

在CUDA 11.8基础上遇到了 Build onnxruntime 1.19.2 fail due to API HardwareCompatibilityLevel问题,貌似API版本不兼容,那么就升到最高支持的12.3尝试下。

$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/sbsa/cuda-ubuntu2004.pin
$ sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
$ wget https://developer.download.nvidia.com/compute/cuda/12.3.2/local_installers/cuda-repo-ubuntu2004-12-3-local_12.3.2-545.23.08-1_arm64.deb
$ sudo dpkg -i cuda-repo-ubuntu2004-12-3-local_12.3.2-545.23.08-1_arm64.deb
$ sudo cp /var/cuda-repo-ubuntu2004-12-3-local/cuda-5B67C214-keyring.gpg /usr/share/keyrings/
$ sudo apt-get update
$ sudo apt-get -y install cuda-toolkit-12-3
  • 版本信息
Software part of jetson-stats 4.2.12 - (c) 2024, Raffaello Bonghi
Model: NVIDIA Orin Nano Developer Kit - Jetpack 5.1.4 [L4T 35.6.0]
NV Power Mode[0]: 15W
Serial Number: [XXX Show with: jetson_release -s XXX]
Hardware:- P-Number: p3767-0005- Module: NVIDIA Jetson Orin Nano (Developer kit)
Platform:- Distribution: Ubuntu 20.04 focal- Release: 5.10.216-tegra
jtop:- Version: 4.2.12- Service: Active
Libraries:- CUDA: 12.3.107- cuDNN: 8.6.0.166- TensorRT: 8.5.2.2- VPI: 2.4.8- Vulkan: 1.3.204- OpenCV: 4.9.0 - with CUDA: YES
DeepStream C/C++ SDK version: 6.3Python Environment:
Python 3.8.10GStreamer:                   YES (1.16.3)NVIDIA CUDA:                   YES (ver 11.4, CUFFT CUBLAS FAST_MATH)OpenCV version: 4.9.0  CUDA TrueYOLO version: 8.3.33PYCUDA version: 2024.1.2Torch version: 2.5.1+l4t35.6Torchvision version: 0.20.1a0+3ac97aaDeepStream SDK version: 1.1.8
onnxruntime     version: 1.16.3
onnxruntime-gpu version: 1.18.0

4.2 【暂停】TensorRT 8.6

  • TensorRT 8.6 GA for Ubuntu 20.04 and CUDA 12.0 and 12.1 DEB local repo Package
  • Guide for Upgrading TensorRT
  • How to translate xx/x scripts of TensorRT installation?
  • How to upgrade tensorrt to latest version for Jetpack 5.1.4?

4.3 【完成】Jetpack6.2(Jetson Orin Nano Super)

参考:Linux 36.3@Jetson Orin Nano之系统安装

  1. 下载Jetpack6.2
  2. 安装Linux36.4.3 - Jetson Linux Developer Guide (online version)
  3. 准备安装环境
$ wget https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v4.3/release/Jetson_Linux_r36.4.3_aarch64.tbz2
$ wget https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v4.3/release/Tegra_Linux_Sample-Root-Filesystem_r36.4.3_aarch64.tbz2
$ tar xf Jetson_Linux_r36.4.3_aarch64.tbz2
$ sudo tar xpf Tegra_Linux_Sample-Root-Filesystem_r36.4.3_aarch64.tbz2 -C Linux_for_Tegra/rootfs/
$ cd Linux_for_Tegra/
$ sudo ./tools/l4t_flash_prerequisites.sh
$ sudo ./apply_binaries.sh
  1. 调整IPV6环境
$ sudo vi /etc/sysctl.confor
$ sudo sysctl net.ipv6.conf.all.disable_ipv6=0
$ sudo sysctl net.ipv6.conf.default.disable_ipv6=0
  1. 烧录固件(烧录模式)
$ sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 \-c tools/kernel_flash/flash_l4t_t234_nvme.xml -p "-c bootloader/generic/cfg/flash_t234_qspi.xml" \--showlogs --network usb0 jetson-orin-nano-devkit internal
  1. 接上显示器、键盘、鼠标

启动Jetson Orin Nano,按照桌面提示设置系统,更新系统:

$ sudo apt-get update
$ sudo apt-get upgrade

5. 同步工作

  • Open FPV VTX开源之DIY硬件形态

6. 参考资料

【1】Ardupilot & OpenIPC & 基于WFB-NG构架分析和数据链路思考
【2】ArduPilot开源飞控之MAVProxy深入研读系列 - 2蜂群链路
【3】Ardupilot开源飞控之FollowMe计划
【4】Ardupilot开源飞控之FollowMe验证平台搭建
【5】Ardupilot开源无人机之Geek SDK讨论
【6】OpenIPC开源FPV之工程框架
【7】OpenIPC开源FPV之重要源码启动配置
【8】wfb-ng 开源代码之Jetson Orin安装
【9】wfb-ng 开源代码之Jetson Orin问题定位
【10】Linux 35.5 + JetPack v5.1.3@CUDA安装和版本切换
【11】Linux 35.6 + JetPack v5.1.4@yolo安装
【12】Linux 35.6 + JetPack v5.1.4@python opencv安装
【13】Linux 35.6 + JetPack v5.1.4@DeepStream安装
【14】Linux 35.6 + JetPack v5.1.4之RTP实时视频Python框架
【15】Linux 35.6 + JetPack v5.1.4之 pytorch编译
【16】Linux 35.6 + JetPack v5.1.4之 pytorch升级
【17】OpenIPC开源FPV之Adaptive-Link工程解析
【18】NVIDIA DeepStream插件之Gst-nvtracker
【19】Linux 36.3@Jetson Orin Nano之系统安装

7. 问题

7.1 风扇启动全速噪音问题

  • Crazy loud noise fan early before NVIDIA logo display
  • How to set fan pwm io low/high in the early boot stage?

7.2 Jetson Orin Nano Super性能升级

Jetson Orin Nano Super DevKit硬件上稍有差异,但是Jetson Orin Nano只要BSP升级到Jetpack6.2 就具备了67 TOPS性能

  • What’s the difference between Jetson Orin Nano vs Jetson Orin Nano Super?
  • NVIDIA Jetson Orin - Next-level AI performance for next-gen robotics and edge solutions

在这里插入图片描述

7.3 Jetpack5 TensorRT 8.5不可升级版

鉴于目前NVIDIA反馈在Jetpack5.1.4上TensorRT仅支持到8.5版本,但是从TensorRT 版本发布上看,确实也能看到8.6GA版本【怀疑存在诸多未言明问题】。

虽然,开源也有不少问题,但是随着我们的投入,逐步解决了开源系统的升级编译,但是对于闭源系统,确实非常无奈!

  • Has JetPack 5 reached its end of life (EOL), or is there an EOL planned for it?
  • How to translate xx/x scripts of TensorRT installation?
    在这里插入图片描述

相关文章:

Ardupilot开源无人机之Geek SDK进展2024-2025

Ardupilot开源无人机之Geek SDK进展2024-2025 1. 源由2. 状态3. TODO3.1 【进行中】跟踪目标框3.2 【暂停】onnxruntime版本3.3 【完成】CUDA 11.8版本3.4 【完成】pytorch v2.5.1版本3.5 【未开始】Inference性能3.6 【未开始】特定目标集Training 4. Extra-Work4.1 【完成】C…...

在K8S中,如果后端NFS存储的IP发送变化如何解决?

在Kubernetes中,如果后端NFS存储的IP地址发生了变化,您需要更新与之相关的Peristent Volume(PV)或Persistent Volume Claim(PVC)以及StorageClass中关于NFS服务器IP的配置信息,确保K8S集群内的Pod能够正确连接到新的NFS存储位置。解决方案如下…...

模拟飞行入坑(五) P3D 多通道视角配置 viewgroup

背景: P3D进行多个屏幕显示的时候,如果使用英伟达自带的屏幕融合成一个屏,或者使用P3D单独拉伸窗口,会使得P3D的画面被整体拉伸,又或者,当使用Multichannel进行多个设备联动时,视角同步组合需要配置&#…...

【springboot集成knife4j】

SpringBoot集成knife4j Knife4j是为Java MVC框架集成Swagger生成API文档的一套增强解决方案,它基于Swagger原有的基础上进行了一些改进和增强,提供了更简洁的UI界面,同时支持更多的自用化配置。下面是在Spring Boot项目中集成Knife4j的基本步…...

GPUStack使用

1. 概述 官网:https://github.com/gpustack Open-source GPU cluster manager for running large language models(LLMs) https://github.com/gpustack/gpustack,Manage GPU clusters for running AI models GPUStack 是一个用于运行 AI 模型的开源 GPU 集群管理器。 官…...

如何选择一款助贷获客系统?

做助贷的销售们,一天打几百个电话,跑各种新媒体平台评论区偷流量,每天忙得昏天黑地,也没有多少客户。没有精准数据,助贷销售着急,公司也着急,每天让员工加班找客户,但是巧妇难为无米…...

GDB相比IDE有什么优点

GDB(GNU Debugger)相比于集成开发环境(IDE)具有一些独特的优点,主要体现在其灵活性、可定制性和低级控制能力。具体来说,GDB有以下几个优点: 1. 轻量级且无依赖 GDB是一个命令行工具,不依赖于任何复杂的图形界面或大型库,这使得它非常适合在资源受限的环境中使用,比…...

介绍用于机器学习的 Fashion-MNIST 数据集

介绍用于机器学习的 Fashion-MNIST 数据集 为什么要研究数据集? 让我们首先思考一下为什么要花时间研究数据集的问题。数据是深度学习的主要成分,虽然作为神经网络程序员的任务是让我们的神经网络从我们的数据中学习,但我们仍然有责任了解我…...

【GitHub】登录时的2FA验证

一、如何进行2FA认证 1.在你的浏览器中下载 Authenticator身份验证插件 2.使用身份验证器添加凭证 2.1 使用身份验证器扫描验证二维码 选择扫描二维码...

CSDN年度回顾:技术征途上的坚实步伐

嘿,时光过得可真快呀,就像那匹跑得飞快的白马,嗖的一下,2024 年的日历就这么悄无声息地翻到了最后一页。这会儿我回头看看在 CSDN 上度过的这一年,心里那叫一个感慨万千,满满的都是喜悦,就像心里…...

Kotlin Bytedeco OpenCV 图像图像57 图像ROI

Kotlin Bytedeco OpenCV 图像图像57 图像ROI 1 添加依赖2 测试代码3 测试结果 1 添加依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xmlns"http://maven.apache.o…...

支持大功率输出高速频闪的图像处理用光源控制器

机器视觉系统中的光源控制器在确保图像质量、提高系统稳定性、降低能耗以及方便系统扩展和升级等方面发挥着重要作用。它可提供稳定光源&#xff0c;调节参数&#xff0c;另外具有操作便捷性。 下面我们来看Gardasoft的光源控制器&#xff0c;Gardasoft拥有作为图像处理用LED光…...

《从入门到精通:蓝桥杯编程大赛知识点全攻略》(五)-数的三次方根、机器人跳跃问题、四平方和

本博客将详细探讨如何通过二分查找算法来解决这几个经典问题。通过几个实际的例子&#xff0c;我们将展示如何在这些问题中灵活应用二分查找&#xff0c;优化计算过程&#xff0c;并在面对大数据量时保持高效性。 目录 前言 数的三次方根 算法思路 代码如下 机器人跳跃问题…...

Java-数据结构-二叉树习题(2)

第一题、平衡二叉树 ① 暴力求解法 &#x1f4da; 思路提示&#xff1a; 该题要求我们判断给定的二叉树是否为"平衡二叉树"。 平衡二叉树指&#xff1a;该树所有节点的左右子树的高度相差不超过 1。 也就是说需要我们会求二叉树的高&#xff0c;并且要对节点内所…...

解锁面向对象编程:Python 类与对象详解

&#x1f3e0;大家好&#xff0c;我是Yui_&#x1f4ac; &#x1f351;如果文章知识点有错误的地方&#xff0c;请指正&#xff01;和大家一起学习&#xff0c;一起进步&#x1f440; &#x1f680;如有不懂&#xff0c;可以随时向我提问&#xff0c;我会全力讲解~ &#x1f52…...

国产编辑器EverEdit -重复行

1 重复行 1.1 应用场景 在代码或文本编辑过程中&#xff0c; 经常需要快速复制当前行&#xff0c;比如&#xff0c;给对象的多个属性进行赋值。传统的做法是&#xff1a;选中行-> 复制-> 插入新行-> 粘贴&#xff0c;该操作有4个步骤&#xff0c;非常繁琐。 那有没…...

记一次数据库连接 bug

整个的报错如下&#xff1a; com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Metho…...

【Springboot相关知识】Springboot结合SpringSecurity实现身份认证以及接口鉴权

Springboot结合SpringSecurity实现身份认证以及接口鉴权 身份认证1. 添加依赖2. 配置JWT工具类3. 配置Spring Security4. 创建JWT请求过滤器5. 创建认证控制器6. 创建请求和响应对象7. 配置UserDetailsService8. 运行应用程序9. 测试总结 接口鉴权1. 启用方法级安全注解2. 定义…...

算法竞赛之差分进阶——等差数列差分 python

目录 前置知识进入正题实战演练 前置知识 给定区间 [ l, r ]&#xff0c;让我们把数组中的[ l, r ] 区间中的每一个数加上c,即 a[ l ] c , a[ l 1 ] c , a[ l 2] c , a[ r ] c; 怎么做&#xff1f;很简单&#xff0c;差分一下即可 还不会的小伙伴点此进入学习 进入正题 …...

20250121在Ubuntu20.04.6下使用Linux_Upgrade_Tool工具给荣品的PRO-RK3566开发板刷机

sudo upgrade_tool uf update.img 20250121在Ubuntu20.04.6下使用Linux_Upgrade_Tool工具给荣品的PRO-RK3566开发板刷机 2025/1/21 11:54 百度&#xff1a;ubuntu RK3566 刷机 firefly rk3566 ubuntu upgrade_tool烧写详解 https://wiki.t-firefly.com/Core-3566JD4/03-upgrad…...

Vue 3 弹出式计算器组件(源码 + 教程)

&#x1f9ee; Vue 3 弹出式计算器组件&#xff08;源码 教程&#xff09; &#x1f4cc; 建议收藏 点赞 关注&#xff0c;本组件支持加减乘除、双向绑定、计算过程展示&#xff0c;适用于表单辅助输入场景。 &#x1f527; 一、完整源码&#xff08;复制即用&#xff09; …...

SQL进阶之旅 Day 17:大数据量查询优化策略

文章标题 【SQL进阶之旅 Day 17】大数据量查询优化策略 文章内容 开篇 欢迎来到"SQL进阶之旅"系列的第17天&#xff01;在前面的16天中&#xff0c;我们从基础的表设计、索引应用到复杂的窗口函数和高级索引策略&#xff0c;逐步深入探讨了SQL的核心技术。今天我们…...

装载机防撞系统:智能守护,筑牢作业现场人员安全防线

在尘土飞扬、机械轰鸣的建筑工地上&#xff0c;装载机是不可或缺的 “大力士”&#xff0c;承担着土方搬运、物料装卸等繁重任务。然而&#xff0c;传统作业模式下&#xff0c;装载机的安全隐患时刻威胁着现场人员的生命安全与工程进度。随着智能化技术的突破&#xff0c;唯创安…...

Github 2025-06-04 C开源项目日报 Top7

根据Github Trendings的统计,今日(2025-06-04统计)共有7个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量C项目7C++项目1Assembly项目1jq:轻量灵活的命令行JSON处理器 创建周期:4207 天开发语言:C协议类型:OtherStar数量:27698 个Fork数量:1538 …...

华为×小鹏战略合作:破局智能驾驶深水区的商业逻辑深度解析

当中国智能电动车竞争进入下半场&#xff0c;头部玩家的合纵连横正在重构产业格局。华为与小鹏汽车近日官宣的“战略合作”&#xff0c;表面看是技术互补的常规操作&#xff0c;实则暗藏改写行业游戏规则的深层商业逻辑。 一、技术破壁&#xff1a;从“单点突破”到“全栈协同”…...

网心云 OEC/OECT 笔记(2) 运行RKNN程序

目录 网心云 OEC/OECT 笔记(1) 拆机刷入Armbian固件网心云 OEC/OECT 笔记(2) 运行RKNN程序 RKNN OEC/OEC-Turbo 使用的芯片是 RK3566/RK3568, 这个系列是内建神经网络处理器 NPU 的, 利用 RKNN 可以部署运行 AI 模型利用 NPU 硬件加速模型推理. 要使用 NPU, 首先需要在电脑使…...

【Oracle】触发器

个人主页&#xff1a;Guiat 归属专栏&#xff1a;Oracle 文章目录 1. 触发器基础概述1.1 触发器的概念与特点1.2 触发器的分类1.3 触发器的执行顺序 2. DML触发器2.1 基础DML触发器2.1.1 INSERT触发器2.1.2 UPDATE触发器2.1.3 DELETE触发器 2.2 高级DML触发器2.2.1 复合触发器2…...

五子棋网络对战游戏的设计与实现设计与实现【源码+文档】

五子棋网络对战游戏的设计与实现 摘 要 在现代社会中,及其它无线设备越来越多的走进普通老百姓的工作和生活。随着3G技术的普及与应用&#xff0c;基于Java开发的软件在上的使用非常的广泛&#xff0c;增值服务的内容也是越来越多&#xff0c;对丰富人们的生活内容、提供快…...

C#对象扩展方法:提升对象操作的灵活性与效率

C#对象扩展方法&#xff1a;提升对象操作的灵活性与效率 在C#编程中&#xff0c;我们经常需要对对象进行各种操作&#xff0c;如获取对象属性信息、转换对象格式、复制对象等。通过扩展方法&#xff0c;我们可以为现有类型添加新的功能&#xff0c;而无需修改原始类型的代码。…...

6个月Python学习计划 Day 15 - 函数式编程、高阶函数、生成器/迭代器

第三周 Day 1 &#x1f3af; 今日目标 掌握 Python 中函数式编程的核心概念熟悉 map()、filter()、reduce() 等高阶函数结合 lambda 和 列表/字典 进行数据处理练习了解生成器与迭代器基础&#xff0c;初步掌握惰性计算概念 &#x1f9e0; 函数式编程基础 函数式编程是一种…...