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

Linux系统ubuntu20.04 无人机PX4 开发环境搭建(失败率很低)

Linux系统ubuntu20.04 无人机PX4 开发环境搭建

  • PX4固件下载
  • 开发环境搭建
  • MAVROS安装
  • 安装地面站QGC

PX4固件下载

PX4的源码处于GitHub,因为众所周知的原因git clone经常失败,此处从Gitee获取PX4源码和依赖模块。

git clone https://gitee.com/voima/PX4-Autopilot.git

正克隆到 ‘PX4-Autopilot’…
remote: Enumerating objects: 454209, done.
remote: Total 454209 (delta 0), reused 0 (delta 0), pack-reused 454209
接收对象中: 100% (454209/454209), 215.48 MiB | 2.32 MiB/s, 完成.
处理 delta 中: 100% (334699/334699), 完成.
在这里插入图片描述在这里插入图片描述

使用cd命令切换到 px4项目文件目录:

cd ~/PX4-Autopilot

使用以下命令切换版本,以V1.14.0为例:

git checkout v1.14.0 #切换到1.14.0分支,当然也可以尝试其他版本

因为PX4的完整项目是嵌套子模块存储的,以上命令只下载了px4的基本代码,所以我们要进行子模块的下载,运行下列命令:

 git submodule update --init --recursive # 在~/PX4-Autopilot目录下执行

以上命令中,submodule是子模块的意思, --init 选项会初始化,并注册子模块的地址,–recursive选项会递归克隆子模块。

此更新的链接来源于~/PX4-Autopilot/.gitmodules(注意是隐藏文件)

将文件打开,粘贴到下面,可以看到里面都github的地址,直接用上面的命令,会很难成功

[submodule "src/modules/mavlink/mavlink"]path = src/modules/mavlink/mavlinkurl = https://github.com/mavlink/mavlink.gitbranch = master
[submodule "src/drivers/uavcan/libuavcan"]path = src/drivers/uavcan/libuavcanurl = https://github.com/dronecan/libuavcan.gitbranch = main
[submodule "Tools/simulation/jmavsim/jMAVSim"]path = Tools/simulation/jmavsim/jMAVSimurl = https://github.com/PX4/jMAVSim.gitbranch = main
[submodule "Tools/simulation/gazebo-classic/sitl_gazebo-classic"]path = Tools/simulation/gazebo-classic/sitl_gazebo-classicurl = https://github.com/PX4/PX4-SITL_gazebo-classic.gitbranch = main
[submodule "src/drivers/gps/devices"]path = src/drivers/gps/devicesurl = https://github.com/PX4/PX4-GPSDrivers.gitbranch = main
[submodule "platforms/nuttx/NuttX/nuttx"]path = platforms/nuttx/NuttX/nuttxurl = https://github.com/PX4/NuttX.gitbranch = px4_firmware_nuttx-10.3.0+-v1.14
[submodule "platforms/nuttx/NuttX/apps"]path = platforms/nuttx/NuttX/appsurl = https://github.com/PX4/NuttX-apps.gitbranch = px4_firmware_nuttx-10.3.0+
[submodule "Tools/flightgear_bridge"]path = Tools/simulation/flightgear/flightgear_bridgeurl = https://github.com/PX4/PX4-FlightGear-Bridge.git
[submodule "Tools/simulation/jsbsim/jsbsim_bridge"]path = Tools/simulation/jsbsim/jsbsim_bridgeurl = https://github.com/PX4/px4-jsbsim-bridge.git
[submodule "src/drivers/cyphal/libcanard"]path = src/drivers/cyphal/libcanardurl = https://github.com/opencyphal/libcanard.git
[submodule "src/drivers/cyphal/public_regulated_data_types"]path = src/drivers/cyphal/public_regulated_data_typesurl = https://github.com/opencyphal/public_regulated_data_types.git
[submodule "src/drivers/cyphal/legacy_data_types"]path = src/drivers/cyphal/legacy_data_typesurl = https://github.com/PX4/public_regulated_data_types.gitbranch = legacy
[submodule "src/lib/crypto/monocypher"]path = src/lib/crypto/monocypherurl = https://github.com/PX4/Monocypher.gitbranch = px4
[submodule "src/lib/events/libevents"]path = src/lib/events/libeventsurl = https://github.com/mavlink/libevents.gitbranch = main
[submodule "src/lib/crypto/libtomcrypt"]path = src/lib/crypto/libtomcrypturl = https://github.com/PX4/libtomcrypt.gitbranch = px4
[submodule "src/lib/crypto/libtommath"]path = src/lib/crypto/libtommathurl = https://github.com/PX4/libtommath.gitbranch = px4
[submodule "src/modules/uxrce_dds_client/Micro-XRCE-DDS-Client"]path = src/modules/uxrce_dds_client/Micro-XRCE-DDS-Clienturl = https://github.com/PX4/Micro-XRCE-DDS-Client.gitbranch = px4

将其更新为 gitee 的地址,已经整理测试好了,直接替换掉文件的内容即可

[submodule "src/modules/mavlink/mavlink"]path = src/modules/mavlink/mavlinkurl = https://gitee.com/wtp95/mavlink.gitbranch = master[submodule "Tools/flightgear_bridge"]path = Tools/simulation/flightgear/flightgear_bridgeurl = https://gitee.com/seokhb/PX4-FlightGear-Bridge.git[submodule "Tools/simulation/gazebo-classic/sitl_gazebo-classic"]path = Tools/simulation/gazebo-classic/sitl_gazebo-classicurl = https://gitee.com/seokhb/PX4-SITL_gazebo-classic.gitbranch = main[submodule "Tools/simulation/jmavsim/jMAVSim"]path = Tools/simulation/jmavsim/jMAVSimurl = https://gitee.com/seokhb/jMAVSim.gitbranch = main[submodule "Tools/simulation/jsbsim/jsbsim_bridge"]path = Tools/simulation/jsbsim/jsbsim_bridgeurl = https://gitee.com/seokhb/px4-jsbsim-bridge.git[submodule "platforms/nuttx/NuttX/apps"]path = platforms/nuttx/NuttX/appsurl = https://gitee.com/seokhb/NuttX-apps.gitbranch = px4_firmware_nuttx-10.3.0+[submodule "platforms/nuttx/NuttX/nuttx"]path = platforms/nuttx/NuttX/nuttxurl = https://gitee.com/seokhb/NuttX.gitbranch = px4_firmware_nuttx-10.3.0+-v1.14[submodule "src/drivers/cyphal/public_regulated_data_types"]path = src/drivers/cyphal/public_regulated_data_typesurl = https://gitee.com/seokhb/public_regulated_data_types.git[submodule "src/drivers/cyphal/legacy_data_types"]path = src/drivers/cyphal/legacy_data_typesurl = https://gitee.com/jiyuanwangxs/legacy_data_types.gitbranch = legacy[submodule "src/drivers/cyphal/libcanard"]path = src/drivers/cyphal/libcanardurl = https://gitee.com/seokhb/libcanard.git[submodule "src/drivers/gps/devices"]path = src/drivers/gps/devicesurl = https://gitee.com/seokhb/PX4-GPSDrivers.gitbranch = main[submodule "src/drivers/uavcan/libuavcan"]path = src/drivers/uavcan/libuavcanurl = https://gitee.com/seokhb/libuavcan.git[submodule "src/lib/crypto/libtomcrypt"]path = src/lib/crypto/libtomcrypturl = https://gitee.com/seokhb/libtomcrypt.gitbranch = px4[submodule "src/lib/crypto/libtommath"]path = src/lib/crypto/libtommathurl = https://gitee.com/seokhb/libtommath.gitbranch = px4[submodule "src/lib/crypto/monocypher"]path = src/lib/crypto/monocypherurl = https://gitee.com/seokhb/Monocypher.gitbranch = px4[submodule "src/lib/events/libevents"]path = src/lib/events/libeventsurl = https://gitee.com/seokhb/libevents.gitbranch = main[submodule "src/modules/uxrce_dds_client/Micro-XRCE-DDS-Client"]path = src/modules/uxrce_dds_client/Micro-XRCE-DDS-Clienturl = https://gitee.com/seokhb/Micro-XRCE-DDS-Client.gitbranch = px4

然后执行下面的命令,就可以

git submodule update --init --recursive

有的子模块还是走的github,失败了就多试几次,直到用上面命令不再下载东西了就可以了
在这里插入图片描述

开发环境搭建

PX4的完整代码已经下载完了,接下来就是配置开发环境。PX4源码中已经提供了开发环境配置的脚本,在/PX4-Autopilot/Tools/setup目录中,该目录下的文件如下:
在这里插入图片描述
可以看到里面有Arch/Macos和ubuntu系统的配置脚本。
ubuntu系统,运行ubuntu.sh文件
这是一个脚本文件,里面是一些bash命令,可以理解为一系列下载px4开发环境的代码。在上图界面右键选择在终端打开,使用下列命令运行:

bash ubuntu.sh

如果出现很多错误,和镜像源有关,那么则手动安装一些模块

sudo apt install python3-pip
pip3 install kconfiglib
pip3 install --user jinja2
pip3 install --user jsonschema
sudo apt-get update
sudo apt-get install libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

然后需配置~/.bashrc文件,打开该文件,在底部添加如下内容,保存。

# >>> PX4 initialize >>>
source ~/PX4-Autopilot/Tools/simulation/gazebo-classic/setup_gazebo.bash ~/PX4-Autopilot ~/PX4-Autopilot/build/px4_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4-Autopilot
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4-Autopilot/Tools/simulation/gazebo-classic/sitl_gazebo-classic
# <<< PX4 initialize <<<

然后进行编译

cd ~/PX4-Autopilot  # 也可以 roscd px4
make px4_sitl_default gazebo
```cd ~/PX4-Autopilot 
如果出现下面的错误,一直在等待master> [Msg] Waiting for master.
[Err] [ConnectionManager.cc:121] Failed to connect to master in 30 seconds.
[Err] [gazebo_shared.cc:78] Unable to initialize transport.
[Err] [gazebo_client.cc:56] Unable to setup Gazebo
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/db19e2b420d54580b3a52f053d642fbf.png)则需要在.bashrc文件的最后一行加入```c
source /opt/ros/noetic/setup.bash

然后再启动

终端出现如下,gazebo启动,中间有个小飞机,则代表开发环境搭建成功
在这里插入图片描述
在这里插入图片描述

MAVROS安装

安装geographiclib数据库(GeographicLib是一个用于解决地理坐标转换、大地测量(geodesy)和地图投影等问题的库,广泛用于航空航天和GIS(地理信息系统)领域)

安装MAVROS

sudo apt install ros-noetic-mavros ros-noetic-mavros-extras

准备解压 …/ros-noetic-mavros_1.18.0-1focal.20240304.150259_amd64.deb …
正在解压 ros-noetic-mavros (1.18.0-1focal.20240304.150259) 并覆盖 (1.15.0-1focal
.20230216.003459) …
准备解压 …/ros-noetic-mavros-extras_1.18.0-1focal.20240304.151354_amd64.deb .

正在解压 ros-noetic-mavros-extras (1.18.0-1focal.20240304.151354) 并覆盖 (1.15.0
-1focal.20230216.014052) …
正在设置 ros-noetic-mavros (1.18.0-1focal.20240304.150259) …
正在设置 ros-noetic-mavros-extras (1.18.0-1focal.20240304.151354) …
在这里插入图片描述

安装geographiclib数据库(GeographicLib是一个用于解决地理坐标转换、大地测量(geodesy)和地图投影等问题的库,广泛用于航空航天和GIS(地理信息系统)领域)

wget https://gitee.com/robin_shaun/XTDrone/raw/master/sitl_config/mavros/install_geographiclib_datasets.sh
sudo chmod a+x ./install_geographiclib_datasets.sh
sudo ./install_geographiclib_datasets.sh 

检查MAVROS是否安装成功可输入如下命令:

roslaunch px4 mavros_posix_sitl.launch

新打开一个终端,输入:

rostopic echo mavros/state

header:
seq: 27
stamp:
secs: 27
nsecs: 524000000
frame_id: ‘’
connected: True
armed: False
guided: True
manual_input: False
mode: “AUTO.LOITER”
system_status: 3
在这里插入图片描述
看到connected为True 则 MAVROS安装成功

安装地面站QGC

首先执行下面指令

sudo usermod -a -G dialout $USER
sudo apt-get remove modemmanager -y

安装一些依赖库

sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y
sudo apt install libfuse2 -y
sudo apt install libxcb-xinerama0 libxkbcommon-x11-0 libxcb-cursor0 -y

然后系统登出再登入,确定改变了用户权限

下面开始安装QGC
下载QGroundControl.AppImage,下载链接
将该文件移动到主目录下面
通过指令更改权限,和运行

chmod +x ./QGroundControl.AppImage
./QGroundControl.AppImage  

然后会运行QGC的软件
在这里插入图片描述

之后双击 QGroundControl.AppImage 图标也可以运行该软件

相关文章:

Linux系统ubuntu20.04 无人机PX4 开发环境搭建(失败率很低)

Linux系统ubuntu20.04 无人机PX4 开发环境搭建 PX4固件下载开发环境搭建MAVROS安装安装地面站QGC PX4固件下载 PX4的源码处于GitHub&#xff0c;因为众所周知的原因git clone经常失败&#xff0c;此处从Gitee获取PX4源码和依赖模块。 git clone https://gitee.com/voima/PX4-…...

中间件(express)

中间件&#xff08;express&#xff09; 在Express.js中&#xff0c;中间件&#xff08;Middleware&#xff09;是一个重要的组成部分&#xff0c;用于处理HTTP请求和响应。中间件函数具有特定的签名&#xff0c;并可以接受请求对象&#xff08;req&#xff09;、响应对象&…...

【代码随想录算法训练Day44】LeetCode 322.零钱兑换、LeetCode 279.完全平方数、LeetCode139.单词拆分

Day44 动态规划第六天 LeetCode 322.零钱兑换 dp数组的含义&#xff1a;装满容量为j的背包需要的最少物品数为dp[j] 递推公式&#xff1a;dp[j]min(dp[j-coins[i]]1,dp[j]) 初始化&#xff1a;dp[0]0,dp[j]INT_MAX 遍历顺序&#xff1a;个数问题与遍历顺序无关&#xff0c;都…...

ChatGLM2-6B 部署

本文主要对 ChatGLM2-6B 模型的部署和推理过程进行介绍。 一、部署环境 在阿里云服务器上部署&#xff0c;具体环境如下&#xff1a; modelscope:1.9.5 pytorch 2.0.1 tensorflow 2.13.0 python 3.8 cuda 118 ubuntu 20.04 CPU 8 core 内存 30 GiB GPU NVIDIA A10 2…...

武汉工程大学24计算机考研数据,有学硕招收调剂,而专硕不招收调剂!

武汉工程大学是一所以工为主&#xff0c;覆盖工、理、管、经、文、法、艺术、医学、教育学等九大学科门类的多科性教学研究型大学&#xff0c;是湖北省重点建设高校、湖北省国内一流学科建设高校&#xff0c;入选卓越工程师教育培养计划、中西部高校基础能力建设工程、“新工科…...

python爬虫之selenium自动化操作

python爬虫之selenium自动化操作 需求&#xff1a;操作淘宝去掉弹窗广告搜索物品后进入百度回退又前进 selenium模块的基本使用 问题&#xff1a;selenium模块和爬虫之间具有怎样的关联? 1、便捷的获取网站中动态加载的数据 2、便捷实现模拟登录 什么是selenium模块&#x…...

【漏洞复现】红帆iOffice.net wssRtSyn接口处存在SQL注入

【产品&&漏洞简述】 红帆iOffice.net从最早满足医院行政办公需求&#xff08;传统OA&#xff09;&#xff0c;到目前融合了卫生主管部门的管理规范和众多行业特色应用&#xff0c;是目前唯一定位于解决医院综合业务管理的软件&#xff0c;是最符合医院行业特点的医院综…...

云计算【第一阶段(17)】账号和权限管理

目录 一、用户账号和组账号概述 1.1、用户账号的三种角色 1.2、组账号的两个角色 二、用户账号文件 2.1、/etc/passwd 2.2、/etc/shadow 2.3、chage 命令 三、组账号文件 3.1、/etc/group 3.2、/etc/gshadow 四、添加组账户 4.1、添加删除组成员 4.2、删除组账号 …...

环境配置02:CUDA安装

1. CUDA安装 Nvidia官网下载对应版本CUDA Toolkit CUDA Toolkit 12.1 Downloads | NVIDIA Developer CUDA Toolkit 12.5 Downloads | NVIDIA Developer 安装配置步骤参考&#xff1a;配置显卡cuda与配置pytorch - 知乎 (zhihu.com) 2. 根据CUDA版本&#xff0c;安装cudnn …...

Ranger配置图片及json文件预览

文章目录 前言下载apt下载pip下载 配置使用json文件预览方法一 修改scope用cat预览方法二 安装jq预览配置ranger 图片文件预览方法一 使用img2txt预览方法二 使用fim预览配置ranger 总结 前言 本文主要讲解Ranger12如何配置json及图片的预览设置&#xff0c;如下是ranger的介绍…...

C语言 | Leetcode C语言题解之第169题多数元素

题目&#xff1a; 题解&#xff1a; int majorityElement(int* nums, int numsSize) {int ans 0;for (int i 0, cnts 0; i < numsSize; i) {if (nums[i] ans) {cnts;} else if (cnts 0) {ans nums[i];} else {cnts--;}}return ans; }...

常说的云VR是什么意思?与传统vr的区别

虚拟现实&#xff08;Virtual Reality&#xff0c;简称VR&#xff09;是一种利用计算机技术模拟产生一个三维空间的虚拟世界&#xff0c;让用户通过视觉、听觉、触觉等感官&#xff0c;获得与现实世界类似或超越的体验。VR技术发展历程可追溯至上世纪&#xff0c;经历概念提出、…...

华为云CodeArts API:API管理一体化平台 5月新特性上线啦!

CodeArts API是华为云API全生命周期管理一体化解决方案平台&#xff0c;支持开发者高效实现API设计、API开发、API测试、API托管、API运维、API变现的一站式体验。 通过以API契约为锚点&#xff0c;CodeArts API保证API各阶段数据高度一致&#xff0c;为开发者提供友好易用的A…...

ubuntu16因swap分区uuid错误启动慢排查

感觉ubuntu16启动特别慢 dmesg查看如下&#xff1a; [ 10.050123] audit: type1400 audit(1718608189.395:11): apparmor"STATUS" operation"profile_load" profile"unconfined" name"webbrowser-app//oxide_helper" pid708 comm&q…...

[保姆级]uniapp自定义导航栏

文章目录 导文隐藏默认导航栏&#xff1a;全局隐藏当前页面隐藏 添加自定义导航栏视图&#xff1a;手写导航栏组件导航栏 导文 在 UniApp 中&#xff0c;自定义导航栏通常涉及到隐藏默认的导航栏&#xff0c;并在页面顶部添加自定义的视图组件来模拟导航栏的功能。 隐藏默认导航…...

Java 桥接模式(Bridge Pattern)是设计模式中的一种结构型设计模式,桥接模式的核心思想是将抽象与实现解耦

桥接模式&#xff08;Bridge Pattern&#xff09;是一种结构型设计模式&#xff0c;它将抽象部分与它的实现部分分离&#xff0c;使它们都可以独立地变化。桥接模式的核心思想是将抽象与实现解耦&#xff0c;使得它们可以独立扩展。 在桥接模式中&#xff0c;通常包含以下四个…...

入门Ansible常用模块

自动化运维Devops-Ansible Ansible是新出现的自动化运维工具&#xff0c;基于Python 开发&#xff0c;集合了众多运维工具&#xff08;puppet 、cfengine、chef、func、fabric&#xff09;的优点&#xff0c;实现了批量系统配置 、批量程序部署、批量运行命令 等功能。Ansible…...

全能AI客户端:ChatGPT Web Midjourney Proxy,AI绘画+GPT4o对话

这绝对是目前最全能的 AI 客户端&#xff0c;ui 界面集成 ChatGPT AI 对话、Midjourney AI 画图、Suno AI 音乐等等市面主流的 AI 功能&#xff0c;只需绑定一个 API key 即可使用全部 AI 功能&#xff0c;Midjourney 甚至比官方好用几倍&#xff01; 项目简介 ChatGPT Web Mi…...

Java基础 - 练习(四)打印九九乘法表

Java基础练习 打印九九乘法表&#xff0c;先上代码&#xff1a; public static void multiplicationTable() {for (int i 1; i < 9; i) {for (int j 1; j < i; j) {// \t 跳到下一个TAB位置System.out.print(j "" i "" i * j "\t"…...

软件测试——稳定性测试:adb Monkey

Monkey 1. Monkey1.1 Monkey 是什么1.2 Monkey 测试场景1.3 Monkey 特点1.4 Monkey 在哪里1.5 测试准备事项1.6 Monkey 参数列表 2. 基本命令3. 常用参数4. 事件类型5. 调试参数6. 日志管理7. 日志错误定位8. Monkey测试可以发现的问题 1. Monkey 1.1 Monkey 是什么 Monkey是一…...

前端vue实战项目结构、常用编辑器vs code 配置

5.Complete JSDoc Tags 6.Custom CSS and JS Loader 7.Debugger for Chrome 8.EditorConfig for VS Code 9.ESLint ☆☆☆ 10.gitignore 11.GitLens — Git supercharged 12.npm 13.PostCSS syntax !important 14.Vetur ☆ 15.vscode-icons 16.vue-i18n 17.Markdow…...

Linux系统性能优化实战经验

1、影响Linux系统性能的因素一般有哪些&#xff1f; Linux系统的性能受多个因素的影响。以下是一些常见的影响Linux系统性能的因素&#xff1a; CPU负载&#xff1a;CPU的利用率和负载水平对系统性能有直接影响。高CPU负载可能导致进程响应变慢、延迟增加和系统变得不稳定。 …...

2024广东省职业技能大赛云计算赛项实战——Ansible部署Zabbix

Ansible部署Zabbix 前言 今年的比赛考了一道Ansible部署Zabbix的题目&#xff0c;要求就是用两台centos7.5的云主机&#xff0c;一台叫ansible&#xff0c;一台叫node&#xff0c;使用对应的软件包&#xff0c;通过ansible节点控制node节点安装zabbix服务。这道题还是算比较简…...

Linux—— ansible循环

1.如果有大量的变量要定义&#xff0c;如果多个变量本身类型相同或类似 再比如&#xff0c;同一个剧本&#xff0c;给主机同时安装多个软件包 按照已有的用法&#xff0c;每个软件包都对应不同变量&#xff0c;还会涉及到改剧本 2.现在可以用清单&#xff0c;以及playbook里…...

RabbitMQ 开发指南

连接RabbitMQ 连接方式一&#xff1a; 也可以选择使用URI的方式来实现 连接方式二&#xff1a; Connection接口被用来创建一个Channel&#xff0c;在创建之后&#xff0c;Channel可以用来发送或者接收消息。 Channel channel conn.createChannel();使用交换器和队列 声明…...

ElasticSearch学习笔记(二)文档操作、RestHighLevelClient的使用

文章目录 前言3 文档操作3.1 新增文档3.2 查询文档3.3 修改文档3.3.1 全量修改3.3.2 增量修改 3.4 删除文档 4 RestAPI4.1 创建数据库和表4.2 创建项目4.3 mapping映射分析4.4 初始化客户端4.5 创建索引库4.6 判断索引库是否存在4.7 删除索引库 5 RestClient操作文档5.1 准备工…...

python离线安装第三方库、及其依赖库(单个安装,非批量移植)

文章目录 1.外网下载第三方库、依赖库2.内网安装第三方库3.补充附录内网中离线安装python第三方库,这时候只能去外网手动下载第三方库,再传回内网进行安装。 问题是python第三方库往往有其前置依赖包,你很难清楚某个第三方库依赖的是哪些依赖包,更难受的是依赖包可能还有其…...

昨天发的 npm 包,却因为 registry 同步问题无法安装使用

用过 HBuilderX 云打包的都知道&#xff0c;云上面的 Android 环境很有限&#xff0c;其实并不能覆盖 uniapp 生态所有的版本&#xff0c;甚至说只能覆盖最新的一两个版本。 如果你需要用到 HBuilderX 安卓云打包&#xff0c;就必须及时跟进 HBuilderX 的版本更新&#xff0c;…...

Redis 数据恢复及持久化策略分析

在分布式系统中&#xff0c;Redis作为高性能的键值存储数据库&#xff0c;广泛应用于缓存、会话管理、消息队列等场景。对于Redis数据的可靠性&#xff0c;持久化是至关重要的一环。当Redis宕机时&#xff0c;如何恢复数据成为一个关键问题。这篇文章将详细分析Redis的数据恢复…...

vscode 快捷键侧边栏

_____ 配置 vscode 快捷键 visual studio code - open explorer and close sidebar with the same key - Stack Overflow { "key": "ctrlshifte", // when Explorer not open // "command": "workbench.view.explorer", // either…...

小程序定制深圳/网站排名优化技巧

经常会有一个需求&#xff0c;在一个固定窗口内容滚动&#xff0c;底下有操作按钮需要固定&#xff0c;不随着滚动&#xff0c;一般第一个念头就是用固定定位position: fixed&#xff0c;但是fixed是以窗口为父元素去定位的&#xff0c;这么做肯定是错的&#xff0c;需要正确使…...

企业网站建站程序/深圳网页搜索排名提升

作为程序员&#xff0c;你有没有遇到过这样的领导&#xff1a;“别人还没走&#xff0c;你先走了不合适吧。”“不能确定功劳&#xff0c;总得有苦劳吧&#xff01;你看别人9点谁走了&#xff1f;”说到996&#xff0c;这很有可能是诱因之一。所以很多程序员会在学习了Java、C的…...

新疆网站推广/适合交换友情链接的是

在这篇文章&#xff0c;我介绍了基于逸宸电子开发的总线适配器来点亮LED灯的基本方法&#xff01;myastrotong&#xff1a;玩转GPIO之点灯&#xff08;非树莓派&#xff09;​zhuanlan.zhihu.com这款总线适配器的介绍见这里&#xff1a;工业级高速USB转SPI I2C PWM GPIO UART C…...

做网站购买域名之后/公司做网络推广怎么做

学习目标 熟悉TFRecord文件的使用方法知道YoloV3模型结构及构建方法知道数据处理方法能够利用yoloV3模型进行训练和预测1.TFrecord文件 该案例中我们依然使用VOC数据集来进行目标检测&#xff0c;不同的是我们要利用tfrecord文件来存储和读取数据&#xff0c;首先来看一下tfr…...

湘潭企业关键词优化厂家报价/青岛网站关键词优化公司

在做一个小东西的时候出现了这个问题,就是使用VS调试几次项目后,使用SQL Server Management Studio管理数据库时,使用SA登录就会出现这个错误,当然,如果项目中的数据库连接字符串中使用的sa验证,那么项目也会连不到数据库的.可是如果是在 Server Management Studio和项目中使用…...

网站建设公司骗人/培训心得体会感悟

定义 原型模式&#xff08;Prototype Pattern&#xff09;是指原型实例指定创建对象的 种类&#xff0c;并且通过拷贝这些原型创建新的对象。调用者不需要知道任何创建细节&#xff0c;不调用构造函数。 适用场景 类初始化消耗资源较多。new产生的一个对象需要非常繁琐的过程…...