自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 资源 (23)
  • 收藏
  • 关注

原创 mavros话题订阅后无法触发回调

使用树莓派与pixhawk通信,安装好mavros,树莓派与pixhawk串口连接。既然发布话题配置了best_effort,订阅者也需要配置,否则读取不到信息。查看节点之间的关系,包含了话题发布与订阅,在连接图上可以看到和预想的一致。从发布者找问题,在rqt_graph图谱上可以查看发布的话题配置信息。自己写了个一模一样的话题发布出来,也可以订阅到,说明订阅者没有问题。有1个订阅者,说明已经订阅上了,话题名称和话题类型已经对上。编译运行节点,无法触发回调函数,一句打印都没看到。查看话题的类型可以去。

2024-03-14 18:22:07 312

原创 c++的vector<uint8_t>和uint8_t[]数组之间的转换

最简单的就是使用遍历,互相转换,便捷的就是一行代码搞定。

2024-02-22 12:07:03 617

原创 ros2运行action动作通讯报错

action服务端运行起来后,在另一个窗口模拟客户端发送指令报错。配置写action服务端的包的CMakeList.txt。找不到serverBase,这属于库函数。写完action服务端后编译报错。定义action结构体。

2024-02-01 11:47:23 442

原创 c++的cout打印uint8_t是乱码或者空

定义一个uint8_t数组,使用cout打印。

2024-01-25 15:42:41 507

原创 mavros2的humble版本源码编译

直接从github下载源码包mavros-2.6.0.tar.gz。拷贝到ubuntu22的树莓派中, 解压。中间可能要安装很多依赖,总结如下。编译完后source一下。

2024-01-19 18:17:11 440 2

原创 ubuntu20固定串口名称

把用户名加入了dialout用户组,因tty设备隶属于dialout用户组,重启系统。查看串口设备的id,id为1a86和7523。的10-local.rules文件中添加。(username为用户民),reboot重启最好。

2024-01-11 15:52:36 532

原创 mjpg-streamer配置其它端口访问视频

在mjpg-streamer-experimental目录下是没有conf 相关的配置文件的,所以只能是修改源码,再重新编译安装。cd mjpg-streamer/mjpg-streamer-experimental进入目录。默认是使用8080,但是有时候会端口冲突,所以修改端口可以提高程序的适配性。sudo mplayer tv://可打开摄像头并访问到视频。下载zip包,下载的源码,需要编译安装。在dev下可查看到video*安装完可以查看到多个so文件。网页访问即可看到视频。

2023-12-11 11:10:52 533

原创 pixhawk在树莓派上直接烧录固件

pixhawk通过usb接入树莓派中,在烧录过程如果出现以下情况则需要拔插usb线。会擦除原有固件(如果有)才会烧录新的固件,还会验证,出现以下则成功。树莓派4B+ubuntu20.04。在ardupilo根目录下敲指令。

2023-12-01 16:45:09 526

原创 pixhawk接深度计

在mission planner上往pixahwk中安装ardusub固件,直接usb连接电脑用qgc或mp打开都可以看到,qgc按理说是可以显示深度值的,但是我并没没有找到在哪配置,其中mp可以显示压力值。pixhawk的IIC接口接个IIC扩展板,可扩展出4个接口,然后深度计的接头直接插入任意一个IIC扩展口即可。在QGC中可以看到两个压力传感器,其中SPI1是pixhawk内部的。在MP中配置press_abs2即可显示深度计输出的压力值。

2023-11-07 17:47:18 146

原创 使用mavros在pixhawk和树莓派4B之间通信

pixhawk上有多个串口,我使用telem 2 与树莓派通讯,为了避免 RTT too high for timesync的告警(波特率太低),需要设置串口固定波特率为921600。power口接电流计,电流计接电源单独供电(我使用pixhawk的usb口与树莓派相连时会断电重启,可能是电压不稳定,所以单独供电)树莓派4B有40个引脚,其中的TXD,RXD是用于做串口通讯的,需要配置一下才能使用。,建议使用杜邦线,我没有接5v,所以是3根线,树莓派和pixhawk都是单独供电。

2023-10-26 16:39:39 1057 1

原创 在linux系统中使用c++调用mavlink接口打包和解析消息

使用 mavlink_parse_char 解析每一个字节,它已经做了识别一条报文的头部,尾部,校验的工作。在mavlink中查找#141,altitude是海拔,不是attitude#30(姿态)如下。FD开头的就是mavlink2.0的消息,msgid是三个字节(低, 中, 高)调用mavlink_msg_to_send_buffer转换消息结构。拿到数据类型后再进行消息转换,并解析对应类型的数据。调用pack相关的接口打包消息。建立udp连接把消息发送出去。8D 00 00 是 141。

2023-10-24 08:47:53 482

原创 pymavlink简单使用

虚拟串口工具 Virtual Serial Port Driver 6.9。pymavlink使用UDP发送消息到指定ip和端口。串口/网络调试助手 sscom5.13.1.exe。2. 在mavlink官网查看#33的消息结构。虚拟串口 COM1, COM2。pymavlink连接COM1。十六进制21对应十进制33。调试助手建立UDP连接。调试助手连接COM2。

2023-10-24 00:01:42 406

原创 mission planner通过串口连接3DR数传,远程飞控

数传已配对,3DR x6型号的数传可以自己配对(长按对码键3秒),不需要在mp上的初始设置里面配对。电量计的输入端接24V电源,飞控的输入是5v电源,电量计上有个模块可以分压将5v的电输入到飞控。pixhaw2.4.8已布线,有单独的电源供电,通过电量计接power接口。点击连接,飞行数据页面可以看到三个方向的角度(偏航,俯仰,横滚)数传接在接口telem 2上(一个接飞控,一个接电脑)将数传直接插入usb接口,在设备管理器中查看端口号。摆动飞控,页面的数值跟着变化,成功。

2023-10-16 17:29:25 490

原创 在Mission Planner上校准外置GPS罗盘

把pixhawk的朝向和GPS罗盘的朝向放置成一致的(箭头朝向一样,可以把GPS罗盘叠加在pixhawk上,单手拿捏,方便转动),点击“start”按键,会听到1s一次的滴滴声,然后一起转动,随便转,各种转。当两条进度条满后,会有弹窗提示reboot,确定,等待连接断开,重新插拔USB线,再次连接,会听到清脆的蜂鸣声,校准完毕。根据提示,转动pixhawk,按空格键进行下一个步骤,成功后提示success。内置罗盘容易受干扰,外置罗盘比较稳定,所以最好使用GPS罗盘。已经校准pixhawl自带的加速度计。

2023-10-13 17:14:48 515

原创 MissionPlanner编译过程

在根目录下的ExtLibs文件下是链接的其它github源码,此时部分为空文件夹,需要使用命令递归下载。网络好时一次就能下载完,一般需要多次运行以上命令,晚上下载会快些,运行以上命令直到敲击回车没有输出。使用必应搜索visual studio 2022,第一个网站就是。找到项目根目录下的.sln后缀的文件,打开即可。编译,找到 “生成”, 点击“生成解决方案”完成,有一个软件窗口和命令行窗口。编译完成,错误为0,警告忽略。下载社区版,强大,够用。

2023-09-21 11:53:11 378

原创 ardupilot的编译过程

pixhawk使用基于 ARM 架构的 STM32 芯片,ubuntu自带的 gcc 编译器是针对 X86 架构的,所以需要安装。在/usr/local下新建arm文件夹,使用cp或mv命令拷贝压缩包到arm下。检查根目录下的modules文件夹下的源码是否下载完整,否则更新下载。在根目录下就又waf文件,该文件依赖python3环境运行。使用以下命令可以在ArduPilot上获得受支持的板的列表。编译结果会在根目录下的build文件夹中生成。查看waf版本,有版本号输出则已经配置成功。

2023-09-20 11:26:48 833

原创 ros2打印不依赖节点

【代码】ros2打印不依赖节点。

2023-09-11 17:38:54 103

原创 ros2的humble版本设置日志打印级别

【代码】ros2的humble版本设置日志打印级别。

2023-09-11 11:16:29 435

原创 vue3使用openlayers的popup跳转回登录界面

openlayers的popup使用的html元素

2023-09-03 23:21:47 71

原创 elementui-plus el-dialog弹出时body有滚动条,修改了body样式

使用组件el-dialog弹窗,写在二级组件中。

2023-08-30 10:32:29 2624

原创 c++的tcp服务类可以连接多个客户端

把tcp连接封装成类,建立面向对象的编程思维,利用多线程可以让tcp服务与多个tcp客户建立连接并通信。

2023-08-23 11:22:28 470

原创 windows10关闭geoserver开机自启动

GeoServer-2.20.4(依赖java jdk8~11,最新版的GeoServer-2.23.2依赖jdk 11-17)geoserver安装在windows 10后,开机会自启动,观察任务管理器,会发现很消耗内存和cpu,而且导致电脑开机变慢。双击条目打开GeoServer的服务设置,在启动类型的下拉框中选择“”手动“”,点击右下角的“”应用“,再点击“确定”该方法关闭windows 10上的开机服务都有效。在最右边的列表中找到GeoServer。windows搜索,输入“服务”

2023-08-21 12:03:16 200

原创 ros2添加jsoncpp库

jsoncpp库属于第三方库,需要下载编译安装, 支持在线安装和。

2023-08-17 15:21:12 318

原创 在ubuntu上使用jsoncpp

jsoncpp属于第三方库,c++本身不自带处理json数据的库。

2023-08-17 10:27:38 878

原创 RTC调试记录

使用微雪电子产品RTC看门狗扩展板.。

2023-08-10 14:32:57 38

原创 vue3新建项目打包部署

输入项目名称 → 选择前端框架 → 选择项目类型 → 创建完毕。拷贝打包好的dist文件到nginx根目录下的html文件夹下。运行nginx ,浏览器访问即可。

2023-06-30 17:25:42 545

原创 windows下将vue项目部署到nginx遇到404,500错误

软件环境 windows10 , vue 2.0, nginx-1.22.1, npm 8.1.1在vue项目中使用命令打包项目,在根目录下得到文件夹在nginx官网下载最新的1.22.1版本,在windows下直接解压使用拷贝dist文件夹到nginx根目录下的html文件夹里面在cmd命令行中进入nginx根目录,使用命令启动nginx(重载, 杀死进程打开浏览器,根据配置的端口和ip访问项目。

2023-06-20 12:01:56 1481

原创 pyinstall打包Flask成exe文件遇到的3个问题并解决

环境 win10 + python 3.11 + flask 2.2.3使用flask作为web项目的后台服务器,准备部署到windows10中,额外使用Flask-Socketio模块推送消息到前端,使用pyinstaller工具打包安装pyinstaller在flask项目的根目录下使用以下命令打包在flaks项目根目录下生成两个文件夹和文件夹里的若干文件到dist目录下可以看到文件双击打开exe文件或在cmd命令下输入app.exe打开文件。

2023-06-15 15:36:34 1714

原创 flask-socketio most likely due to a circular import

在Flask项目中建立socketio服务想在各个模块中都可以调用socketio的服务,这种消息就可以在任意地方广播出去。

2023-03-29 15:08:42 120 1

原创 flask+vue+socketio建立websocket服务,解决跨域问题

无法建立socket连接,遇到跨域问题。

2023-03-28 12:08:33 1635

原创 ros2 failed to shutdown: rcl_shutdown already called on the given context

ubuntu22.04+ros2 humble,开发节点,使用键盘ctrl+c强制结束节点运行,使用try catch捕获异常,使得终端不打印报错。

2023-02-08 11:23:53 182

原创 AttributeError: ‘xxx‘ object has no attribute ‘_sa_instance_state‘

flask搭建的web项目,使用sqlalchemy工具查询数据库。

2023-01-11 23:13:23 800

原创 ros2 no executable found

本人的问题出现在CMakeLists.txt中,配置PROJECT_NAME出错

2022-11-25 15:48:48 2889 3

原创 发布离线地图的多个方法

以下因为略懂,所以只是列举1. 下载地图文件地图供应商一般腾讯地图、高德地图、百度地图、谷歌地图等等下载地图文件的工具有很多,包括付费的或免费的,常见的工具有:全能电子地图下载器BIGEMAPopenStreeMap(开源)国家地理信息公共服务平台水经注迈高图太乐地图地图编辑工具有arcgis desktoparcmapqgis(开源)地图文件的格式有shptiffbmposm瓦片地图(png,jpg)2. 发布离线地图服务geoserve

2022-05-28 00:40:37 1510

原创 flask项目运行后ctrl+c无法结束进程

项目场景:使用cmd命令行运行flask项目,python run.py,项目中开启了线程,且线程是无限循环的,运行不报错,正常运行问题描述在想结束flask进程时,在cmd命令行使用ctrl+c杀死进程,但是失败,所以只能强制关闭窗口,再打开新窗口才能运行项目,繁琐原因分析:进程要结束,但是线程还在运行,导致无法杀死进程,因为进程会等待非守护线程结束后才退出:解决方案:设置所有线程为守护线程,当主线程执行结束后,所有在运行的子线程都直接结束,不管子任务是否完成,这样就完美杀死进

2022-05-12 10:18:24 1997

原创 JavaScript数组元素按行保存到txt文件中

txt文件中换行需要字符串:“\r\n”把数组中的元素用"\r\n"拼接起来arr.join(“\r\n”);使用a标签+Blob对象下载文件document.createElement(‘a’);new Blob([str]);完整代码// 创建a标签var elementA = document.createElement(‘a’);//文件的名称为时间戳加文件名后缀elementA.download = commonUtil.formatDateSelf(“YYYYmmddHHM

2022-04-25 15:28:52 3400

原创 flask No application found. Either work inside a view function or push an application context

前提flask 使用 flask_sqlalchemy 操作数据库,在视图中使用正常,在视图外使用报错RuntimeError: No application found . Either work inside a view function or push an application context·,即在内部调用函数操作数据库时报错分析sqlalchemy的实例在执行时(数据库增删改查)找不到上下文它不知道flask初始化时候,app对象,db对象是谁,也就拿不到连接数据库需要的confi

2022-03-22 18:53:10 1696 1

原创 flask_sqlalchemy插入数据时createtime时间不变

解决datetime.now() -> datetime.now,去掉()例如create_time1 = db.Column(db.DateTime, default=datetime.now)create_time2 = db.Column(db.DateTime, default=datetime.now())第一个插入的是期望的, 数据的插入时间,每条数据插入时可自动根据当前时间生成第二条是一个固定的时间, 程序部署的时间,所有的数据都是这个固定时间...

2022-03-21 10:59:37 778

原创 werkzeug routing RequestRedirect 308 Permanent Redirect None

项目场景:Flask使用websocket推送数据问题描述原因分析:redirect,地址重定向了,查看前端是否连接上websocket,结果连上就断开,一直重连,原来是地址出错了解决方案:在前端修改连接websocket的地址,在最后追加一个斜杠错误地址:ws://ip:port/websocket正确地址:ws://ip:port/websocket/...

2022-03-11 14:37:04 3931

原创 jetson nano 18.04 LTS ROS Melodic安装

学习目标:提示:这里可以添加学习目标例如:一周掌握 Java 入门知识学习内容:提示:这里可以添加要学的内容例如:1、 搭建 Java 开发环境2、 掌握 Java 基本语法3、 掌握条件语句4、 掌握循环语句学习时间:提示:这里可以添加计划学习的时间例如:1、 周一至周五晚上 7 点—晚上9点2、 周六上午 9 点-上午 11 点3、 周日下午 3 点-下午 6 点学习产出:提示:这里统计学习计划的总量例如:1、 技术笔记 2 遍2、CSDN 技术博客 3 篇

2021-11-16 12:55:31 876

面向游戏手柄编程的python脚本

基于python3的pygame模块,适配通用游戏手柄,可捕获手柄上各个按键的点击动作,使用中文注释和输出,很快就能上手,从单个脚本了解python对游戏手柄的编程

2023-08-07

tcpKeppAliveAndHeartbeat.py

python的socket模块建立tcp连接,直到连接成功,并开启线程接收数据,同时开启定时任务发送心跳检测,及时关闭socket连接

2021-12-16

mmsi中文国籍.json

mmsi前三位对应的国籍(中文),json文件,即拿即用

2021-09-17

鼠标右键事件.html

一个简单的html文件,用于演示鼠标右键事件的响应。使用原生JavaScript编写,可以区分鼠标左键单击,右键单击,滚轮单击事件,在右键时可以弹出一个提供选择的菜单,并且阻止鼠标原生的右键消息,在菜单外任意单击左键,菜单消失

2020-06-22

椭圆形switch开关.html

一个纯css绘制的椭圆形开关,中间有一个圆形按钮左右滑动,点击开启,开关背景变绿色,关闭时变灰色,一个html文件就可以解释一切

2020-06-22

Rserve_1.7-3.1.tar.gz

Rserver的安装包,在linux中安装使用,通过google才找到的

2019-10-22

python每天定时执行一次任务

使用Python的timer来完成每天执行一次的定时任务,环境是windows,python3.4

2018-08-01

java判断4个坐标是否构成正方形

给定4个坐标,判断这4个坐标是否可以构成一个正方形,代码里用了两种方法。 第一种,对坐标先排序,然后计算邻边和斜边的关系; 第二种,直接求出两点之间的距离,4个点总共6种距离,然后对距离排序,其中边相等,斜线相等

2018-03-25

python生成四叉树

把一个四叉树结构的list转变成一棵四叉树的对象,并通过前序遍历遍历这棵树,一个脚本,一个类两个函数

2017-12-05

python简单神经网络

根据慕课网“机器学习-实现简单神经网络”编写的python代码,实验环境为anaconda python3.6,感知器算法进行分类,数据为网上的花瓣数据,100个样本

2017-09-18

python遍历文件夹

利用os.walk遍历某个文件夹下的文件夹和文件,并把名字写入txt

2017-07-23

springbootTest

根据慕课网的springboot的教程编写的springboot入门基础项目,使用maven来管理jar包,重要的地方都有相关的注释,类方法也做了相关的注释,采用mvc的设计思想,枚举、异常、json对结果集封装

2017-06-11

判断中文停用词

从中文停用词表的文件中读取出停用词,转换成一个数组,用新词去判断该词是否在停用词数组中,如果在数组中,返回true,否则返回数组 通过删除这些中文停用词相当于给文本剔除噪音

2017-06-01

决策树连续值处理案例

周志华的《机器学习》第83页的决策树连续值处理中以西瓜为案例,计算连续值“密度”的信息增益

2017-05-29

java生成二维码

根据慕课网上的java生成二维码教程写的3个demo,分别用zxing,qrcode,jqueryqrcode生成二维码

2017-04-25

spring-data-commons

spring-data-commons

2017-04-12

spring-aspects

spring-aspects-4.2.0.RELEASE.jar包

2017-04-12

spring+springMVC+mybatis+登录

注释很清楚,代码也工整,简单的实现了登录功能,使用了springMVC的注解机制

2017-04-10

html+css_登录

用html和css生成的登录界面,界面为一个圆形的显示,比较特别

2017-03-13

javascript_excel

利用javascript技术把table标签的内容导出成Excel文件

2017-03-02

java判断三角形类型

分成3个函数,先是输入三条边长度,然后判断是否可以构成三角形,再者判断是哪种类型的三角形

2017-01-17

Java用LinkedList实现的Stack

栈是先进先出的原则,该类实现了栈的移入移除

2017-01-04

java小程序之ArrayList的使用

作业 10-08 1. 随机产生 20 个整数(10以内的),放入一个ArrayList中, 用迭代器遍历这个ArrayList 2. 并删除其中为 5 的数 3. 再产生 3 个整数,插入到位置 4 处 4. 把所有值为 1 的数都变成 10

2017-01-03

数字逻辑答案

有关软件学院的数字逻辑课程书后面的答案,可以很好的帮助同学们完成作业

2014-03-19

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

TA关注的人

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