- 博客(57)
- 资源 (23)
- 收藏
- 关注
原创 pycharm configurations中配置运行fastapi项目
在pycharm中可以一键运行,直接把命令行的运行参数配置到pycharm中,即使用"uvicorn main:app --reload"运行main文件。使用virtualenv安装fastapi uvicorn。
2024-10-31 15:00:56 237
原创 ardupilot使用pow函数报错, identifier “DO_NOT_USE_DOUBLE_MATHS“ is undefined
pow函数在头文件中,在编写c++代码时可正常使用编译ardupilot使用的是交叉编译器,在arduplot的源文件AP_HAL_Macros.h中有提示:所以使用pow时传参应该是整型,如果double a = 2.0, 然后pow(a, 2)就会报错“identifier “DO_NOT_USE_DOUBLE_MATHS” is undefined”
2024-10-22 09:50:02 107
原创 ubuntu20.04使用systemd服务设置python程序开机自启动
在 Ubuntu 20 中使用 systemd 服务运行 Python 程序时,systemd 有自己的日志管理机制,不会直接生成 nohup.out 文件,而是将服务的输出重定向到系统日志中。5. 可能遇到‘permission denied’的问题,导致无法生成nohup.out文件,也可能生成空的nohup.out文件,直到程序遇到错误,才会生成out文件然后把错误日志输出。service文件内容如下。
2024-07-23 14:55:12 498
原创 ardupilot 系统时间见解
在16MHz Arduino板(例如Duemilanove和Nano)上,此函数的分辨率为4微秒(即返回值总是4的倍数)。在进行时间比较或计算时,也需要考虑溢出的情况,可以使用无符号长整型进行减法运算,然后判断结果是否小于期望的时间间隔。ArduPilot 的任务调度是通过定时器定时调度一系列任务来实现的,它本身并没有直接设置休眠时间的具体方法。一种常见的方法是使用相关的硬件模块,例如实时时钟(RTC)来控制设备的休眠和唤醒。通过设置 RTC 的定时功能,在指定的时间间隔后唤醒设备。
2024-07-16 16:30:01 188
原创 树莓派变小路由器放出热点wifi
树莓派放出wifi后,笔记本电脑连接树莓派的wifi,并且ip配置在一个网段,就可以互相通信(笔记本放出wifi,树莓派连接效果一样),这样的好处是树莓派只要一上电就会自动放出wifi,就算没有屏幕,使用笔记本电脑也能很快远程(ssh连接),非常方便。树莓派连接屏幕,点击右上角wifi符号,在下拉列表中选择“Edit Connections…可视化操作,直接界面配置,相对于命令行配置,敲击各种英文字母,那可太友好了。树莓派4B+ubuntu20。点击左下角的“+”,新建网络。
2024-05-09 09:08:15 249 1
原创 mavros话题订阅后无法触发回调
使用树莓派与pixhawk通信,安装好mavros,树莓派与pixhawk串口连接。既然发布话题配置了best_effort,订阅者也需要配置,否则读取不到信息。查看节点之间的关系,包含了话题发布与订阅,在连接图上可以看到和预想的一致。从发布者找问题,在rqt_graph图谱上可以查看发布的话题配置信息。自己写了个一模一样的话题发布出来,也可以订阅到,说明订阅者没有问题。有1个订阅者,说明已经订阅上了,话题名称和话题类型已经对上。编译运行节点,无法触发回调函数,一句打印都没看到。查看话题的类型可以去。
2024-03-14 18:22:07 433
原创 ros2运行action动作通讯报错
action服务端运行起来后,在另一个窗口模拟客户端发送指令报错。配置写action服务端的包的CMakeList.txt。找不到serverBase,这属于库函数。写完action服务端后编译报错。定义action结构体。
2024-02-01 11:47:23 617
原创 mavros2的humble版本源码编译
直接从github下载源码包mavros-2.6.0.tar.gz。拷贝到ubuntu22的树莓派中, 解压。中间可能要安装很多依赖,总结如下。编译完后source一下。
2024-01-19 18:17:11 683 2
原创 ubuntu20固定串口名称
把用户名加入了dialout用户组,因tty设备隶属于dialout用户组,重启系统。查看串口设备的id,id为1a86和7523。的10-local.rules文件中添加。(username为用户民),reboot重启最好。
2024-01-11 15:52:36 663
原创 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 692
原创 pixhawk在树莓派上直接烧录固件
pixhawk通过usb接入树莓派中,在烧录过程如果出现以下情况则需要拔插usb线。会擦除原有固件(如果有)才会烧录新的固件,还会验证,出现以下则成功。树莓派4B+ubuntu20.04。在ardupilo根目录下敲指令。
2023-12-01 16:45:09 678
原创 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 274
原创 使用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 2397 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 1040
原创 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 1144 1
原创 mission planner通过串口连接3DR数传,远程飞控
数传已配对,3DR x6型号的数传可以自己配对(长按对码键3秒),不需要在mp上的初始设置里面配对。电量计的输入端接24V电源,飞控的输入是5v电源,电量计上有个模块可以分压将5v的电输入到飞控。pixhaw2.4.8已布线,有单独的电源供电,通过电量计接power接口。点击连接,飞行数据页面可以看到三个方向的角度(偏航,俯仰,横滚)数传接在接口telem 2上(一个接飞控,一个接电脑)将数传直接插入usb接口,在设备管理器中查看端口号。摆动飞控,页面的数值跟着变化,成功。
2023-10-16 17:29:25 1047
原创 在Mission Planner上校准外置GPS罗盘
把pixhawk的朝向和GPS罗盘的朝向放置成一致的(箭头朝向一样,可以把GPS罗盘叠加在pixhawk上,单手拿捏,方便转动),点击“start”按键,会听到1s一次的滴滴声,然后一起转动,随便转,各种转。当两条进度条满后,会有弹窗提示reboot,确定,等待连接断开,重新插拔USB线,再次连接,会听到清脆的蜂鸣声,校准完毕。根据提示,转动pixhawk,按空格键进行下一个步骤,成功后提示success。内置罗盘容易受干扰,外置罗盘比较稳定,所以最好使用GPS罗盘。已经校准pixhawl自带的加速度计。
2023-10-13 17:14:48 1104
原创 MissionPlanner编译过程
在根目录下的ExtLibs文件下是链接的其它github源码,此时部分为空文件夹,需要使用命令递归下载。网络好时一次就能下载完,一般需要多次运行以上命令,晚上下载会快些,运行以上命令直到敲击回车没有输出。使用必应搜索visual studio 2022,第一个网站就是。找到项目根目录下的.sln后缀的文件,打开即可。编译,找到 “生成”, 点击“生成解决方案”完成,有一个软件窗口和命令行窗口。编译完成,错误为0,警告忽略。下载社区版,强大,够用。
2023-09-21 11:53:11 561
原创 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 1526 1
原创 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 342
原创 vue3新建项目打包部署
输入项目名称 → 选择前端框架 → 选择项目类型 → 创建完毕。拷贝打包好的dist文件到nginx根目录下的html文件夹下。运行nginx ,浏览器访问即可。
2023-06-30 17:25:42 663
原创 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 1990
原创 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 2290 4
原创 flask-socketio most likely due to a circular import
在Flask项目中建立socketio服务想在各个模块中都可以调用socketio的服务,这种消息就可以在任意地方广播出去。
2023-03-29 15:08:42 181 1
原创 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 300
原创 AttributeError: ‘xxx‘ object has no attribute ‘_sa_instance_state‘
flask搭建的web项目,使用sqlalchemy工具查询数据库。
2023-01-11 23:13:23 1005
原创 发布离线地图的多个方法
以下因为略懂,所以只是列举1. 下载地图文件地图供应商一般腾讯地图、高德地图、百度地图、谷歌地图等等下载地图文件的工具有很多,包括付费的或免费的,常见的工具有:全能电子地图下载器BIGEMAPopenStreeMap(开源)国家地理信息公共服务平台水经注迈高图太乐地图地图编辑工具有arcgis desktoparcmapqgis(开源)地图文件的格式有shptiffbmposm瓦片地图(png,jpg)2. 发布离线地图服务geoserve
2022-05-28 00:40:37 1859
面向游戏手柄编程的python脚本
2023-08-07
tcpKeppAliveAndHeartbeat.py
2021-12-16
鼠标右键事件.html
2020-06-22
java判断4个坐标是否构成正方形
2018-03-25
python简单神经网络
2017-09-18
springbootTest
2017-06-11
判断中文停用词
2017-06-01
java小程序之ArrayList的使用
2017-01-03
在ros2的foxy版本中,使用launch.py文件启动节点时,如何设置日志打印级别
2023-09-08
如何禁止Flask后台打印操作数据库的日志?
2023-07-13
vue打包部署,浏览器缓存问题访问旧的版本
2023-07-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人