自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

时时总结,常常分享

保持热爱,坚持学习!!!

  • 博客(129)
  • 资源 (11)
  • 收藏
  • 关注

原创 shell脚本记录

运行shell脚本需要先修改文件的权限,因为一开始我们创建的shell只是一个很普通的文本文件,无法执行shell命令,这里直接使用chmod 777来提高权限。可以使用上面的命令来统计数字,$#表示所有数,$@枚举输入的每个数,$1,$2这样的表示第一个和第二个,以此类推。可以用test命令来查看文件是否存在,编写如下脚本使用test -e来判断当前路径下是存在对应的文件。可以理解为linux里面的一种自动化命令,一般可以用于自动化的执行一些命令。也可以使用if,elif,else这样的结构。

2022-10-24 22:33:33 1053 5

原创 mqtt报文逐条解析

本文还是需要参考mqtt的中文协议文档,所有的变种都是基于这个的。之前的文章已经提到过一些mqtt的格式,这里不再赘述,需要的可以直接翻看之前的文章了解查看,目前mqtt总的报文如下:connect是一号报文,需要第一个发送,包括一些鉴权信息(用户名,密码等),方向是从客户端到服务器,二号报文是服务器回复客户端的,回复客户端连接正确与否,方向是从服务器到客户端。之后关注一下ping相关的报文,PING报文,是用于保活的,方向从客户端到服务器,定期发送保活,同样服务器也要定期回复客户端,就是PINGRSP

2022-09-24 13:42:12 1208

原创 tftp服务器配置及说明

这里是使用NAT模式来实现的,因此外部设备是怎么也找不到这个设备的,所以如果需要外部设备和虚拟机之间进行tftp连接就无法实现,还是需要通过windows来实现,因此这个工具就能派上用处了。下面可以进行一个简单的测试,在原有的tftp的文件夹下新建一个文件,之后在另一个路径下使用tftp进行获取到,传输指定的文件,可以看到文件传输成功!因此可以知道tftp就是用来进行文件传输的一种协议,一般也不能传输特别大的文件,常用来传输一些小文件,例如编译好的固件之类的。传输来的文件放在开头的文件夹下,如下所示。

2022-09-17 15:33:17 1026 1

原创 hi3861A上手记录

这种板子的开发和传统的开发区别在于他不是搭建一个开发环境然后,下载SDK去修改代码然后编译这样的,他的区别在于它好像是下一个鸿蒙的工程,然后使用这个工程来编译出一个模块,这样再将编出来的固件下载我们的设备上去。最近搞到了一块HI3861的开发板,所以来用一下看看开发是如何的,这里记录一下开发过程,主要是参考了一些官方的资料文档,方便之前从没涉及过这一块的爱好者少走点弯路。需要下载两个开发工具,这个东西其实就是vscode的两个插件,一个是win平台的,一个是linux平台的(

2022-09-12 16:10:18 310

原创 c++学习记录(七)

(functor),其实就是重载“()”操作符,使得类对象可以像函数那样调用。函数对象是一个类,不是一个函数。是所有STL头文件中最大的一个,范围涉及到比较、 交换、查找、遍历操作、复制、修改等等。(function object),即它们是行为类似函数的对象,也叫。使用这些仿函数所产生的对象,用法和一般函数完全相同,但是需要注意就是。体积很小,只包括几个在序列上面进行简单数学运算的模板函数。下面是一元谓词的基本使用:(参数只有一个)重载函数调用操作符的类,其对象常称为。(主要是一些四则运算相关的函数)

2022-09-10 10:33:41 188

原创 阿里云使用记录

最近正好做一些云相关的工作,主要是mqtt连云的一些东西,正好看到了阿里云这个平台,用了一下感觉平台很强大,资料也很丰富,特此记录一下,说不定以后会一直使用呢。入口如下,直接在搜索框输入就能看到:这里需要登陆一下,直接进去即可这里我用的只是物联网的部分,直接在里面找到相应的分块即可如下所示即可找我需要的分块这里分为公共实例和企业实例,如果只是体验一下的话使用公共实例即可,没有必要上来就用企业实例,毕竟企业实例需要交费点击就进入最常见的这个页面了,如下所示:因为我了解这个云之前就发现它是

2022-09-07 19:54:16 1675 2

原创 ubuntu更新python版本

目前用的虚拟机是16.04的,默认的python版本是3.5的,有些库好像运行不了,需要提高一下python版本,网上搜了好写解决方案都不太行,最终还是走的源码编译的路子,这里记录一下。先说一下传统的方法吧:然后是更新软件源之后在安装对应的python版本但是事实情况是这个源里面已经没有这个文件了,这个方法目前来说已经不适用了就是,会报错:还有一些新的源,可以自行搜索,网上有很多大佬给了他们的一些源,但是我试了都不行,所以最终还是放弃,采用源码编译的方式来实现。

2022-09-06 22:56:17 2534

原创 近期的一些小总结(关于TCP/IP协议相关的)

首先还是记录一下是什么,这个是关于通信的,本地进行消息传递的方式有很多,例如,都是比较经典的进程间通信的方式,但这都是一个设备之间的进程进行通信,要实现设备和设备之间的通信需要使用Socket来实现。Socket将网络通信的)进行封装,使得进行网络中的进程间通信变得很方便。Socket的通信数据传输方式有两种比较常用的,分别是。

2022-09-05 23:51:04 809

原创 c++学习记录(六)

前面总结了vector容器的一些知识,这篇文章来总结其他一些容器的相关概念。

2022-09-04 10:39:27 630 1

原创 c++学习记录(五)

这里比较常见的数据类型还是我们写一个类,类中可以由多种不同的参数,如下所示:向容器中写入不同类型的参数主要有下面的两种方式:分别是直接写入和写入地址下面是采用地址的方式写入:最终输出结果如下://自定义数据类型 class Person {public :int mAge;};//创建数据 Person p1("aaa" , 10);it!it ++) {it!it ++) {

2022-09-01 23:30:28 338

原创 数据结构记录(一)

数据存储的目的在于方便后期的使用,使用完之后可以对齐销毁掉,没有必要一直占用内存空间,如果是存储一些常见的变量可以直接进行,但如果存储一些特别的变量,主要是指这些变量之间存在一些关系,这个时候单独存储就无法体现出这种关系了,针对这一类的变量,数据结构中提供专门的树结构来储存这一类数据。线性表,细分为顺序表,链表,栈和队列;树结构,包括普通树,二叉树,线索二叉树等;图存储结构;下面对这些结构进行相关说明:换另一种方式进行分类,可以概括为:逻辑结构和储存结构(又称物理结构)......

2022-08-26 00:05:16 265

原创 vscode工具Remote-SSH使用记录

有些时候开发linux平台的时候没有桌面端,一般需要我们现在win平台上写好代码再传进去,这样如果需要频繁修改代码的时候就不是很方便,后面发现有人用这个vscode的工具还是很不错的,可以直接在vscode上进行配置,相当于一个非常不错的终端了。要使用这个的话需要自己提前配置好ssh,这个我就不说了,如果是之前做过linux相关的应该都有一些了解,很早应该就都配置过了。之后会显示一个配置文件,配置文件可以不用修改,这里面的Host是起的一个名字,可以自行任意修改,当然也可以不改。下面需要输入密码进入。

2022-08-24 00:35:34 415

原创 makefile记录

有时候我们需要编写一个规则用来执行一些令,但是这个规则不是用来创建文件的,比如下面的,我们一般会写一个clean的目标,方便我们清理掉一些过程文件:

2022-08-06 23:51:04 260

原创 c++学习记录(四)

标准模板库)STL从广义上分为容器(container)算法(algorithm)迭代器(iterator)容器和算法之间通过迭代器进行无缝连接。STL几乎所有的代码都采用了模板类或者模板函数容器、算法、迭代器、仿函数、适配器(配接器)、空间配置器容器各种数据结构,如vector、list、deque、set、map等,用来存放数据。算法各种常用的算法,如sort、find、copy、for_each等迭代器扮演了容器与算法之间的胶合剂。仿函数STL容器就是将运用。...

2022-07-23 11:34:55 380

原创 c++学习记录(三)

c++面向对象是来源于生活的设计,每个对象在生成的时候也会有初始化设置,当不需要对象将其删除的话也需要对数据进行清理的操作,c++中使用构造函数和析构函数来解决上面的问题,这两个函数会被编译器自动调用,完成对象的初始化和清理的工作,这个部门是编译器要求的,如果没有做的话,编译器也会做,不过那样就是一个空实现。下面来说明下这两个函数:下面的例子展示了构造函数和析构函数的用法如果要展示析构函数,需要我们创建一个被释放的函数,如下所示:构造函数语法:析构函数语法: 根据上面的总结,可以将构造函数进行分类,分

2022-07-06 22:51:40 432

原创 c++学习记录(二)

引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字。一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量。下面的例子中实现了一个别名:代码如下:引用这里有一些注意事项:详情如下所示:函数中传递的都是形参,我们知道形参的传递会带来很大的问题,我们一般的解决方式是使用指针来完成这一目的,但是使用引用也可以用形参来修饰实参,这样一定程度上可以替代指针的方式。下面是使用三种方式来实现交换变量结果如下,可以看到使用引用也可以改变变量。引用的本质是一个指针常量,例如我们创建下面的

2022-07-03 00:00:00 411

原创 numpy笔记

运行结果如下所示:运行结果如下所示:运行结果如下所示:对一个numpy对象进行直接求和:指定数据类型求和:如果对二维的矩阵不进行操作也是直接对所有元素直接求和:二维矩阵不同维度进行操作(这里说二维矩阵不太严谨,因为他只是个numpy对象,不过我们可以当成矩阵来处理)这里新增了维度的概念,可以理解为如果是axis=0就是竖着看,然后等于1就是横着看:这里效果跟之前的均值差不多,解释可以看均值部分:这里效果跟之前的均值差不多,解释可以看均值部分:这里效果跟之前的均值差不多,解释可以看均值部分:直接查

2022-07-02 14:42:39 340

原创 平衡小车的一些常见问题总结

pid控制值对偏差进行比例,积分和微分的控制,分别是三个部分,对应为比例单元,积分单元和微分单元。三个单元的作用可以简单的称为:这里要注意一点就是串级pid有一般会有一个环起到比较重要的作用,而另一个环只是辅助这个环的,比如这个系统中的直立环就是这样的。用公式来表达就是:a=b1∗θ+b2∗θ'a=b1*\theta +b2*\theta \text{'}a=b1∗θ+b2∗θ'上面这个是使用到了比例微分控制,在这个系统中误差是角度,角度的变化量正好是角速度,所以这里甚至可以直接将角速度作为输入参数来进

2022-06-30 23:45:00 972

原创 c++学习记录(一)

c++个人学习记录,仅供个人学习笔记

2022-06-27 11:14:27 147

原创 51单片机学习记录(六)IIC,ADC部分

文章目录

2022-06-09 06:00:00 808

原创 51单片机学习记录(七)红外遥控和PWM

文章目录1、基本原理1、基本原理红外遥控肯定是通过红外线来实现的,可见光的波长从长到短进行划分,红光的波长是最长的,红外线就是波长比红光的波长还要长一点的光线了,那么顾名思义,波长比紫光波长还要短的光线自然就是紫外线了,红外遥控就是通过红外线来进行数据传输的。红外遥控由发射部分还有接收部分组成,...

2022-05-30 23:45:00 1073

原创 51单片机学习记录(五)矩阵按键

文章目录1、矩阵按键的控制原理2、矩阵按键实现1、行列式法实现矩阵按键2、线翻转法实现矩阵按键1、矩阵按键的控制原理独立按键与单片机连接时, 每一个按键都需要单片机的一个 I/O 口, 若某单片机系统需较多按键, 如果用独立按键便会占用过多的 I/O 口资源。 单片机系统中 I/O 口资源往往比较宝贵, 当用到多个按键时为了减少 I/O 口引脚, 引入了矩阵按键。本开发板上的矩阵按键原理图如下所示:可以看到是将16个按键排成4行4列,前面的四行分别连接io口的每一行,后面的四行分别连接io口的

2022-05-30 08:00:00 3404 5

原创 51单片机学习记录(四)数码管

文章目录1、数码管显示原理1、单个数码管显示2、多个数码管显示2、静态数码管显示3、动态数码管显示1、数码管显示原理数码管一般是由led组成的,常见的LED如下所示,我们通过搭接led就可以实现类似数码管的效果数码管如下所示,一般的数码管都是8位的(7个数字位加上一个小数点的位就是8位):1、单个数码管显示可以看一个数码管的原理图,一共是十个引脚,其中有两个是一样的,实际上就是9个,一般那个引脚决定是共阳还是共阴极,如下所示:那么这样我们来进行排序的话,按照上面提到的方式,如果是显示一个0

2022-05-29 14:42:25 647

原创 51单片机学习记录(三)中断系统

文章目录这里还是看下这些部分的意思吧,首先是STC89C5X 系列单片机的中断源,他一共提供了 8 个中断请求源,分别是:外部中断O(INTO)外部中断 1(INT1)外部中断 2(INT2)外部中断 3(INT3)定时器 0中断定时器 1 中断定时器 2 中断串口(UART)中断这里需要注意的就是外部中断2和3还有定时器2中断有些51不一定有,这里需要慎用,这里51一共有四个中断优先级(差一点的只有2个中断优先级)普中这里还提供了相关的中断查询表这里51单片机对中断的控制都在

2022-05-29 10:38:57 794

原创 面试中比较常问的通信协议总结

文章目录1、UART1、同步和异步2、硬件层3、协议层2、IIC1、特点2、硬件层3、协议层3、SPI1、特点2、硬件层3、协议层本文仅代表我个人观点,算是个人总结吧,相信也会随着学习的不断深入对本文不断改进。1、UART1、同步和异步首先还是看下两个概念的区别吧,比如打开cube的他们的全称为:UART 通用异步收发传输器USART 通用同步/异步收/发器可以看到USART是可以有同步功能的,这里的同步就是增加了时钟线,在stm32的cube的配置中就体现为这个智能卡了,这个同步

2022-05-28 23:56:18 1181 1

原创 51单片机学习记录(二)

文章目录1、蜂鸣器2、按键3、串口前面的文章提到了关于51单片机使用EIDE进行开发的基本功能的实现,下面继续完善相关教程,完成其他相关外设的开发学习记录。1、蜂鸣器2、按键3、串口void uart_init(u8 baud){ TMOD|=0X20; //设置计数器工作方式2 SCON=0X50; //设置为工作方式1 PCON=0X80; //波特率加倍 TH1=baud; //计数器初始值设置 TL1=baud; ES=1; //打开接收中断 EA=1; //打开总

2022-05-28 23:09:21 187

原创 51单片机学习记录(EIDE开发)

首先还是要把python的这个工具安装下

2022-05-26 15:22:52 446 4

原创 opencv(c++)学习记录

文章目录1、opencv的安装1、vs2017安装2、opencv的下载和配置2、基本函数学习1、读取图片2、读取视频3、读取摄像头4、图片转换1、opencv的安装1、vs2017安装这里首先是安装vs2017,这里直接去官网安装即可,下载2017时因为好像新的有的不太适应,网上一些教程也是2017的比较多,所以直接下载这个版本就好了。网址如下:https://my.visualstudio.com/Downloads?q=visual%20studio%202017&wt.mc_id

2022-05-26 10:28:28 123

原创 MSP432单片机学习记录(二)

文章目录1、复位视图2、代码提示3、新建自己的硬件库(hardware)4、中断的使用前面的文章提到了ccs工程的创建,下面继续介绍msp432的使用,上一篇文章链接如下所示:MSP432单片机学习记录(Code Composer Studio)另外一个就是芯片的资源官网查不到了,不知道啥原因,这里可以从一些其他老的网站看到一些,可以看下芯片资源,便于后面在选择芯片时候的考量。低功耗、高性能 MSP432P401R MCU带浮点单元和 DSP 加速功能的 48MHz 32 位 ARM Cort

2022-05-25 22:26:08 1983

原创 MSP432单片机学习记录(Code Composer Studio)

文章目录1、Code Composer Studio上手2、选择1、Code Composer Studio上手2、选择

2022-05-25 15:12:30 1514

原创 ROS学习记录(一)

文章目录1、ROS安装2、更新3、运行小乌龟很早就挺同学讲ROS是个很好用的工具,但是一直都没什么机会尝试一下,最近正好毕设初稿已经,有空闲,有设备,正好来尝试下ROS的开发,顺便在博客上记录下自己的开发过程。1、ROS安装ROS的相关网站官网https://www.ros.org/中文文档http://wiki.ros.org/cn这里还是看中文的吧,好不容易看到点中文的东西了,看起来也舒服很多:点开可以看到一些ROS的介绍关于ros的安装本处参考https://blo

2022-05-21 09:30:47 211

原创 K210使用记录

文章目录1、基本资料来源2、基本视觉功能3、训练K210环境搭建1、CUDA和CUDNN的安装配置2、开始安装3、anaconda环境配置3、训练神经网络模型4、K210运行神经网络模型本文算是对K210使用的一个记录吧,这样以后方便后面的学弟学妹快速学习了解K210的基本知识和入门使用1、基本资料来源2、基本视觉功能3、训练K210环境搭建1、CUDA和CUDNN的安装配置需要配置这两个才能成功调用电脑的GPU来训练,不然这个训练速度简直就不是一个速度级别的,差距有很大,所以电脑有GPU还

2022-05-20 17:25:34 1808 13

原创 在STM32单片机上使用傅里叶解析信号

文章目录1、导入分析工具2、信号生成与查看3、使用STM32读取数据1、使用第一种库2、使用第二种库关于傅里叶变换的知识,可以看我之前的文章:傅里叶变换记录,里面记录了一些参数的含义还有使用python和matlab进行傅里叶分析,提取信号的一些过程,希望能对读者产生一点帮助。下面记录使用stm32来对信号进行分析,这里一般是指一些adc采样的信号,对信号进行分析一方面是获取信号的一些成分,另一方面是对有可能信号中含有很多造成,通过分析可以对噪声进行处理。注:本文采用单片机为stm32f103RC

2022-05-19 21:52:18 2571 3

原创 傅里叶变换记录

文章目录1、使用matlab进行傅里叶变换2、使用python进行傅里叶变换3、逆变换4、对实测数据进行变换1、使用matlab进行傅里叶变换本人本科不是电气自动化这类专业的,没学过信号与系统,这方面就不太懂,考研的时候只复习了傅里叶级数相关的知识,傅里叶级数在考研中的应用跟泰勒级数的作用基本一样,但是出现的概论远没有泰勒级数出现的概率大。简单来说,泰勒级数是将函数用幂函数的方式进行展开,然后泰勒级数是将函数用三角函数的方式来进行展开。2、使用python进行傅里叶变换3、逆变换4、对实测数据进行

2022-05-19 11:04:11 261

原创 Jetson nano部署记录

文章目录1、yolov5s模型转tensorrt1、前期准备2、运行yolov53、TensorRT加速推理4、直接使用摄像头进行部署2、deepstream检测1、下载SDK2、安装依赖3、配置环境4、测试效果3、使用deepstream进行部署4、yolov5目前比较新的版本训练和检测1、前期准备2、开始训练3、进行检测这篇文章不太成功,只能算是一个失败记录吧,先不管了,怕以后忘记了,主要是也快要交毕设了,虽然不想写论文,那也得花时间去弄啊对吧,更完这篇就休息!这篇文章需要的基础YOLOV5目

2022-05-11 20:54:23 655

原创 YOLOV5目标检测记录

文章目录1、运行官网YOLOV5代码1、下载源代码2、文件夹解析2、训练自己的神经网络模型3、获取目标中心坐标本文仅讨论YOLOV5的目标检测使用过程的一些记录,不涉及CUDA的配置,以及一些环境的配置问题,相关问题可以参考我的其他博客。1、运行官网YOLOV5代码1、下载源代码首先肯定找开源代码,目前似乎大部分代码都是在下面的代码修改而来的,我们从git上找到大神的开源代码:ultralytics/yolov5 at v5.0 (github.com)这里在旁边的分支这里选择v5.0的分支

2022-05-08 14:16:56 1740

原创 香橙派上手记录(orangepi pc)

文章目录1、香橙派介绍2、安装系统3、换源更新4、安装opencv注:本人也是初次接触,并且本人在linux方面的基础很弱,因此本文也不会有太多的技术含量,本文仅记录下这个上手过程,希望之后的小白能少走点弯路就是了1、香橙派介绍2、安装系统3、换源更新4、安装opencv......

2022-05-08 10:16:07 5512 11

原创 电力线载波使用记录

文章目录1、用途说明1、常用通信总线对比2、电力线载波介绍2、树莓派网络配置3、连接测试1、用途说明1、常用通信总线对比电力线载波,顾名思义就是用电力线来进行数据传输的一种方式,我们平时做一些单片的通信相关的小实验,如使用UART,IIC,SPI等通信方式进行通信,基本通信要求是可以达到了,但是距离一上去就不行了。关于通信距离,这里我直接借用知乎上一位大佬的总结,不知道现在有没有优化,但是我感觉是差不太多的总线类型线数通信类型主从机线缆长度UART2异步不支持

2022-05-04 20:21:04 953

原创 树莓派安装ubuntu mate记录

文章目录系统下载配置ssh换源安装opencv配置ros

2022-05-04 13:29:12 1159

原创 socket图传上位机设计记录

文章目录1、上位机页面和功能设计1、页面设计2、功能定义之前的文章已经对TCP/UDP进行数据传输做了一定的个介绍了,并进行了聊天器还有图像传输的设计,因此这里就来结合之前的pyqt来做最后的一点完善,把上位机这个部分给他补全掉。如果有需要详细了解的可以看我之前的专栏TCP/UDP记录-图像传输系统TCP/UDP记录-聊天器TCP通信与UDP通信记录1、上位机页面和功能设计1、页面设计页面这块还是比较简单吧,用QT拖下块块就行了,然后主要就是几个输入框的定义,定义下我们需要的变量即可

2022-05-02 15:53:59 2485

c++编写的通讯管理系统

学c++过程中跟着视频打得,可以跟着来一遍或者检查用,希望能帮到需要的人。

2022-07-02

STM32连接ONENET云平台

stm32连接ONENET云平台,稳定可靠,另有连接阿里云,腾讯云等教程,详见博文

2022-04-15

STM32解析GPS数据

ATGM336H数据解析,使用串口设计,解析方便可靠,不过多占用单片机资源,详情可见相关博文。

2022-04-15

MS5837深度传感器例程

MS5837深度传感器,HAL库例程,待带温度补偿,接口方便使用,实测稳定可靠。

2022-04-15

TFT-LCD使用hal库移植

兼容正点原子精英版,多款屏幕和触摸芯片兼容

2022-03-19

SPI驱动SD卡,使用FATFS文件系统,操作方便

详见https://blog.csdn.net/m0_51220742/article/details/123549327?spm=1001.2014.3001.5501

2022-03-19

SDIO驱动SD卡,使用FATFS文件系统,操作方便

详见https://blog.csdn.net/m0_51220742/article/details/123549327?spm=1001.2014.3001.5501

2022-03-19

直流编码电机速度位置双闭环

直流编码电机速度位置双闭环(可简单修改为速度位置单环),详情见博客描述

2022-01-21

APM自动驾驶车地面站,文档资料等

地面站为mp修改而成,支持apm2.8 包含快速入门,使用手册,编译说明,原理图等

2022-01-19

python信息管理系统实战

# 功能概述(需求分析) - ## 添加学生及成绩信息 - ## 将学生信息保存到文件中 - ## 修改和删除学生信息 - ## 查询学生信息 - ## 根据学生信息进行排序 - ## 统计学生总分

2022-01-18

基于pwm+dma的stm32的ws2812工程

基于pwm+dma的ws2812工程,芯片采用stm32f103ze,hal库编写,简单易懂,数量采用宏定义,函数封装,方便移植。

2022-01-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除