![loading..](/images/Self_Start_Jetson/nano_pic.png)
![loading..](/images/Self_Start_Jetson/nano_pic.png)
Jetson nano/Raspberry自启动设置以及取消sudo
一、免密码登录 1.1 Raspberry免密码登录 修改/etc/lightdm/lightdm.conf文件 sudo nano /etc/lightdm/lightdm.conf 按下图红框进行修改,其中将haicao替换为你的用户名 1.2 Jetson nano免密码登录 修改/etc/lightdm/lightdm.conf文件 sudo nano /etc/gdm3/custom.conf 按下图红框进行修改,其中将haicao替换为你的用户名 二、取消sudo密码 2.1 取消Jetson nano的sudo密码 首先进入root模式 sudo su # 进入root模式,输入exit退出root模式 sudo visudo # 编辑该文件 然后按下图红框进行修改,其..
更多![loading..](/images/PyQt/pyqt_pic.png)
![loading..](/images/PyQt/pyqt_pic.png)
Jetson Nano安装并使用PyQt5进行界面开发设计
问题背景 这个问题是我在做海草项目时,要在上位机Jetson Nano上制作相关界面,由于第一次接触该方面,由此写下该篇博客对其进行记录。 一、安装PyQt5 使用以下命令安装: sudo apt install pyqt5* sudo apt-get install python3-pyqt5 导入PyQt5包至Python虚拟环境 如果你需要在虚拟环境中使用PyQt5,按如下步骤将系统的PyQt5库链接到你的虚拟环境中 首先在终端执行以下指令查找编译好的PyQt5库相关文件的路径 sudo find / -iname "PyQt5*" # 得到类似路径/usr/lib/python3/dist-packages/PyQt5 sudo find / -iname "*sip*" # 得到类似..
更多![loading..](/images/TCP_Commer/TCP_pic.jpg)
![loading..](/images/TCP_Commer/TCP_pic.jpg)
基于电力载波的TCP通信实现
问题背景 这是我在做海草移植项目过程中需要实现的功能——使用电力载波连接Jetson Nano与Raspberry实现信息互通,写下此篇博客以作记录 一、TCP通信 1.1 简单介绍 TCP协议,传输控制协议(英语:Transmission Control Protocol,缩写为:TCP)是一种面向连接的、可靠的、基于字节流的通信协议。 TCP把连接作为最基本的抽象单元,每条TCP连接有两个端点,TCP连接的端点即套接字。 套接字: socket = (IP地址 + 端口号) TCP连接:{socket1, socket2}={(IP1:port1), (IP2:port2)} TCP提供全双工通信。 详细解释可参考网上资料。 1.2 一般用法 进行TCP通信的两端设备必须要在同一区域网或者网段内。如果..
更多![loading..](/images/OceanC2/serial_pic.png)
![loading..](/images/OceanC2/serial_pic.png)
关于在Jetson部署Yolov5实现检测与串口通信传送位置信息
问题背景 这篇博客用来记录参加海赛C2过程中,如何实现在Jetson Nano上部署目标检测算法以及使用串口通信的方法。 数据标注与模型训练 YoloV5的使用与简单讲解 Yolov5模型目前在网络上已经经过了许多考验,且其Github官方也仍在不断更新,其相关平台的部署在官网也有很多教程,所以如果想在嵌入式平台部署目标检测以及分类网络,选择Yolov5可以带给我们极大的便利,这也是我选择使用Yolov5的原因。以下内容都是基于Yolov5目标检测模型的部署。 数据集的标注(使用Labelimg进行数据标注) 安装labelimg 这里是在Anaconda环境下的安装 conda create -n label python==3.9 # 注意这里必须是python3.9版本,否则..
更多![loading..](/images/Cmake/cmake_pic.jpg)
![loading..](/images/Cmake/cmake_pic.jpg)
cmake学习记录
问题背景 这个问题是我在做海赛C2比赛编写部署自动打靶算法遇到的。先简单叙述一下起因,由于我们C2队伍使用的是Jetson Nano来识别靶心,进而实现自动打靶功能,于是算法识别这方面就由我来进展。在网上参考了一些部署方案。最终选择了使用Deepstream架构运行yolov5n的trt模型进行识别检测。但是由于我们的需求不仅是检测到靶心,还要将检测到的靶心的位置传递给下位机stm32,因此我需要在该架构中加入串口通信模块,实现该功能。由于Deepstream在国内的相关资料很少,故需要自己去了解并实现添加该模块到这个框架中。而且其代码基本都是C++代码,过程中要用到cmake等编译工具,故而接触到了cmake相关文件的编写与使用,并写下该篇博客对其进行记录。 一、cmake是什么 CMake是一个跨平台..
更多![loading..](/images/build_hexo/hexo_pic.jpg)
![loading..](/images/build_hexo/hexo_pic.jpg)
关于如何使用Hexo搭建自己的Github网站
一、下载Git与Nodejs 这里可以自行参考网上教程下载 二、使用hexo创建个人博客 2.1 创建Blog根目录 在本地创建一个文件夹,此文件夹将用来管理你的个人博客网站,如下图,我再F盘创建了一个git_blog文件夹 然后打开Git bash并输入cd F:/git/blog,如下图 然后再输入命令 npm install hexo-cli -g hexo init 其中hexo init命令可能会失败,可以多试几次,最好挂梯子运行 全部输入完后,可以发现当前文件夹下多出一些文件夹和相关配置文件。 关于这些文件夹,可以先做一个简单的介绍: node_modules: 依赖包 public:存放生成的页面 scaffolds:生成文章的一些模板 source:用来存放你的文章 them..
更多![loading..](/images/Jetson/jetson_ruitai_pic.png)
![loading..](/images/Jetson/jetson_ruitai_pic.png)
关于Jetson的系统烧录与环境配置
一、准备 Ubuntu电脑 or 虚拟机(Ubuntu系统) 能够进行数据传输的Micro-USB数据线 显示屏 、HDMI转接线、键鼠 二、进行烧录(参考瑞泰教程) 2.1 系统软件包的下载 2.1.1 烧录所需文件集中在这两个文件夹中,在本部分我选择安装LT4 R32.7.1版本 2.1.2根据Jetson类型进行选择 2.1.3根据载板型号进行选择 2.1.4随便选择一个版本 2.1.5下载对应文件,其中rtso-6002对应位置即为载板型号 2.1.6选择对应版本的L4T文件 2.1.7下载相应文件 2.2 在PC端Ubuntu系统进行烧录环境准备 2.2.1 将上述文件拷贝至烧录主机同一目录下 2.2.2 解压 Linux Driver Package $ tar -vxf J..
更多![loading..](/images/Pytorch2trt/tensorrt_pic.png)
![loading..](/images/Pytorch2trt/tensorrt_pic.png)
成功解决Pytorch模型转trt模型中得BatchNorm问题
问题背景 如果你想把你的模型投入到应用中或者是想提升模型的运行速度,除了对网络进行压缩、蒸馏外,最好的方法就是将模型转成tensor模型,使用tensorrt实现对网络的加速。但是当该模型的功能是图像增强或者是图像生成,并且模型中运用了大量的batchnorm2d函数,运用网上现成的方法会发现模型转成onnx以及trt后,模型的处理效果大幅下降,想解决此问题就可以详细往下看了: 我们的方法顺序是:pytorch模型先转成onnx模型,接着将onnx模型转成trt模型 一、pytorch to onnx 核心代码: import torch from torchvision.utils import save_image import os from nets.tiny_unet_2_channelxian..
更多