自用网站链接

树莓派学习

制作树莓派镜像

制作树莓派SD卡备份镜像——树莓派系统备份与还原指南_树莓派sd卡镜像制作_kzmw的博客-CSDN博客

树莓派设置固定ip

网络共享给树莓派的网口,然后利用IP scanner扫描识别树莓派的ip(具体方法参考下面给的链接)

远程登陆树莓派,使用ssh pi@192.168.137.166 进行远程登录即可

设置静态路由

编辑 /etc/dhcpcd.conf

interface eth0

static ip_address=192.168.137.20/24
static routers=192.168.137.1
static domain_name_servers=114.114.114.114

# WIFI 部分
# interface wlan0

# static ip_address=192.168.43.200/24
# static routers=192.168.43.1
# static domain_name_servers=114.114.114.114

static domain_name_servers=114.114.114.114

用一根网线连接树莓派跟pc_树莓派网线连接电脑_linxinloningg的博客-CSDN博客

怎样设置树莓派的IP地址为静态值_树莓派设置静态ip_舞动的白杨的博客-CSDN博客

 树莓派摄像头学习 

注意树莓派摄像头使用的时候,不要随便热插拔,需要在树莓派,关机的时候进行

在树莓派上驱动CSI摄像头_树莓派csi_☞黑心萝卜三条杠☜的博客-CSDN博客

【树莓派-入门】树莓派Zero W利用Raspberry Pi Imager烧录系统+开机连接(2022-04-04 Raspberry Pi OS Bullseye)_树莓派zerow刷入街机系统_完完全全很菜的博客-CSDN博客

树莓派摄像头模块(Pi Cam)的安装使用_南沐ヾ的博客-CSDN博客

树莓派通过raspi-config启动摄像头时,出错:Your firmwave appears to be out of date (no start_x.elf). Please update_ros漫步的博客-CSDN博客

树莓派4B+Ubuntu20.04 解决 sudo: raspi-config: command not found_SummerGao.的博客-CSDN博客

树莓派nmcli无反应

【Ubuntu报错】command not found: nmcli_ubuntu安装nmcli_Holen&&Beer的博客-CSDN博客

树莓派4G图传(未仔细查看)

用树莓派搭建远程实时画面传输_树莓派通过java实时传输图像和控制_扑朔丶的博客-CSDN博客

树莓派(网络摄像头)4G网络720p高清图传(python3.7+SpringBoot-JavaNetty+Android-Mediacodec)_树莓派4g图传_wx:pjcoder的博客-CSDN博客
树莓派小车的4G遥控与视频回传(内网穿透)_树莓派4g网卡传视频_黑名单 2841703718的博客-CSDN博客

树莓派(网络摄像头)4G网络720p高清图传(python3.7+SpringBoot-JavaNetty+Android-Mediacodec)_树莓派4g图传_wx:pjcoder的博客-CSDN博客

bot

通信协议说明 - OriginBot智能机器人开源套件

originbot_base/include/originbot_base/originbot_base.h · 古月居_GuYueHome/originbot - Gitee.com

EZ-WifiBroadcast低成本远距离高清图传系统基础教程 - 开源技术讨论-5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)-[成都艾麦克斯科技有限公司]

wifibro

基于wifibroadcast的无人机数字图传_qqNCer的博客-CSDN博客

基于Wifibroadcast的无人机数字图传2_qqNCer的博客-CSDN博客

OpenHD改造实现廉价高清数字图传(树莓派+PC)—(二)Wifibroadcast Wifi广播通信_hoopertsau的博客-CSDN博客

NetworkManager服务(nmcli)_nerwork-manager_大数据老司机的博客-CSDN博客

ubuntu18.04 无限网wifi unmanaged解决方法_coder攻城狮的博客-CSDN博客

Long-distance Data-link using WiFi in Raw Mode | PX4 自动驾驶用户指南

GitHub - svpcom/wfb-ng: WFB-NG - the next generation of long-range packet radio link based on raw WiFi radio

OpenHD改造实现廉价高清数字图传(树莓派+PC)—(二)Wifibroadcast Wifi广播通信_hoopertsau的博客-CSDN博客

wifibroadcast  使用方法  

gs端

fzp-pi 连接无线网卡 (连接在右下角的USB口,连接其他口可能会识别不出来网卡什么原因目前没有查出来)

第一次使用的流程

下载rtl8812au驱动

sudo apt-get install dkms
git clone -b v5.2.20 https://github.com/svpcom/rtl8812au.git
cd rtl8812au/
sudo ./dkms-install.sh
  • Make sure the driver is correctly installed by running the following command. You should see the WiFi card in an unmanaged state.
  • 找出来无线网卡的名称 比如 wlan0 wlan1
nmcli
  • Get the name of the WiFi card by running:
ifconfig
  • You should see output similar to:
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 2312
        ether 0c:91:60:0a:5a:8b  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  • Copy the name of the RTL8812AU WiFi card.
  • Install wfb-ng. Replace wifi0with the previously copied name of the WiFi card.
git clone -b stable https://github.com/svpcom/wfb-ng.git
cd wfb-ng
//下面这一步执行别着急执行
sudo ./scripts/install_gs.sh wifi0
  • Done! To monitor the link use the following command on the ground station:
wfb-cli gs

Failing to get connection?

Make sure the WiFi channel on the ground and on the drone are the same. To check, use:

head /etc/wifibroadcast.cfg

You should see output similar to:

[common]
wifi_channel = 161     # 161 -- radio channel @5825 MHz, range: 5815–5835 MHz, width 20MHz
                       # 1 -- radio channel @2412 Mhz, 
                       # see https://en.wikipedia.org/wiki/L

# Install required packages 下面这两句子是用来更新系统的软件包的,最好注释掉
apt update
apt upgrade

下面一句是安装所需要的依赖的,如果不是第一次使用也最好注释掉

apt install python3-all libpcap-dev libsodium-dev python3-pip python3-pyroute2 \
  python3-future python3-twisted python3-serial iw virtualenv debhelper dh-python build-essential -y

# Build      编译代码
       make deb

制造加密的钥匙并复制到/etc/gs.key

手动将文件夹下的drone.key复制粘贴到 drone上树莓 的/etc/drone.key

如果不是第一次执行,需要注释掉,不然需要重新移动drone.key

# Create key and copy to right location
./wfb_keygen
mv gs.key /etc/gs.key

# Install
dpkg -i deb_dist/*.deb 

# Setup config  设置通信的信道 
cat <<EOF >> /etc/wifibroadcast.cfg
[common]

wifi信道161,需要保证drone 和gs 的这个值是一样的
wifi_channel = 161     # 161 -- radio channel @5825 MHz, range: 5815–5835 MHz, width 20MHz
                       # 1 -- radio channel @2412 Mhz, 
                       # see https://en.wikipedia.org/wiki/List_of_WLAN_channels for reference
wifi_region = 'BO'     # Your country for CRDA (use BO or GY if you want max tx power)  

[gs_mavlink]
peer = 'connect://127.0.0.1:14550'  # outgoing connection
# peer = 'listen://0.0.0.0:14550'   # incoming connection

[gs_video]
peer = 'connect://127.0.0.1:5600'  # outgoing connection for
                                   # video sink (QGroundControl on GS)
EOF

echo "WFB_NICS=\"${IFNAME}\"" > /etc/default/wifibroadcast

cat <<EOF >> /etc/NetworkManager/NetworkManager.conf
[keyfile]
unmanaged-devices=interface-name:${IFNAME}
EOF

if [ -f /etc/dhcpcd.conf ]; then
    echo "denyinterfaces ${IFNAME}" >> /etc/dhcpcd.conf
fi

下面计局是启动地面站服务的

# Start gs service
systemctl daemon-reload
systemctl start wifibroadcast@gs

echo "Started wifibroadcast@gs"
systemctl status wifibroadcast@gs

如果不是第一次启动的话,直接使用下面

systemctl daemon-reload

//启动gs服务
systemctl start wifibroadcast@gs 

echo "Started wifibroadcast@gs"

//输出gs服务的状态

systemctl status wifibroadcast@gs

用来调试的语句

Gstreamer视频传输测试gst-launch_wifibroadcast_meng_tianshi的博客-CSDN博客

FPV Camera(RPI3+V2.1) | wfb_ng Release 23.01 | ubuntu20.04 gnome软解测试_lida2003的博客-CSDN博客

drone端

无人机端就需要下载img,文件到sd卡里,远程连接,将drone.key放在/etc/drone.key里。

设置wifi信道和gs端一致

连接无线网卡,启动wifibroadcast@drone fpvcamera服务,

重启

ros web

目前遇到的问题

可以实现在网页上对ros进行操作,跨系统,局域网内,ros1 ros2都可以

目前ros_web遇到的问题是消息是自定义消息

ROSBridge简介以及理解使用(下)-阿里云开发者社区

ROSBridge简介以及理解使用(上)-阿里云开发者社区

需要将功能包里的全部换成ros标准消息
[rosbridge_websocket-1] [ERROR] [1691375688.729661076] [rosbridge_websocket]: [Client 9075c9b9-318d-498a-a8cb-1554d3c9596e] [id: subscribe:/imu:1] subscribe: Unable to impsh uav_msgs.msg from package  uav_msgs. Caused by: No module named ' uav_msgs'

使用方法

ros2 launch /opt/ros/foxy/share/rosweb_server/launch/

...具体路径找一下

参考链接

我的AI之路(25)--ROSBridge:机器人与外部系统之间的通讯解决方案_rosbirdge udp通讯_Arnold-FY-Chen的博客-CSDN博客

https://github.com/RobotWebTools/rosbridge_suite

Robot Web Tools

rosbridge入门教程_rosbridge教程_wjydym的博客-CSDN博客

Status of Robot Web Tools for ROS2 - #2 by dirk-thomas - Next Generation ROS - ROS Discourse

rosbridge入门教程_rosbridge教程_wjydym的博客-CSDN博客

roslibjs/Tutorials/BasicRosFunctionality - ROS Wiki

Rosbridge系列2:初识Rosbridge--利用rosbridge实现网页控制小乌龟移动_dzjoke的博客-CSDN博客

【Package】RosBridge——打通Ros与非Ros环境的数据壁垒_rosbridge_server_Plaggable的博客-CSDN博客

【Package】RosBridge——打通Ros与非Ros环境的数据壁垒 #2 C++端实现功能ppianpak / rosbridgecpp_Plaggable的博客-CSDN博客

JSDoc: Home (robotwebtools.github.io)

ros2djs/README.md at 5e8573cc17181ff9a8e3875e294f30514f624510 · RobotWebTools/ros2djs (github.com)

sensor_msgs Message / Service / Action Documentation

Index of /foxy/api
解决Rosbridge自定义action信息问题_roslib.js_幻魔大师的博客-CSDN博客

dspace

(92条消息) 【dSPACE】从0开启dSPACE之路(1)dSPACE功能及其组件介绍_ds1401 dspace_海边的卡夫卡工程师的博客-CSDN博客

无人船

无人艇路径规划、避碰、路径跟踪控制(vrep仿真,含ros通信,rrt*,COLREGS,los,pid差速控制)_gazebo无人船仿真_风铃777的博客-CSDN博客

模型网站

喷水式船_模型下载 – 懒石网 (lazystones.com)

爱给网_音效配乐_3D模型_视频素材_免费下载 (aigei.com)

迪威模型-海量3D模型下载-威海联讯信息技术有限公司 (3dwhere.com)

网络

(83条消息) error: stray ‘\200’ in program解决方法_panjieke的博客-CSDN博客

出现上述问题很有可能是有中文的字符了

(83条消息) error: storage class specified for parameter_cos_sin_tan的博客-CSDN博客

这个问题是头文件的声明中有的地方缺少了  “;” 结尾

(83条消息) 头文件中定义全局变量_头文件定义全局变量_这些年写的代码=屎山的博客-CSDN博客

(83条消息) 头文件中定义全局变量_头文件定义全局变量_这些年写的代码=屎山的博客-CSDN博客

 ros2 serial

(79条消息) ROS2安装serial库_serial安装_暮尘依旧的博客-CSDN博客

socket编程

头文件全局变量

(79条消息) socket编程——常用数据结构及头文件分析_猪哥-嵌入式的博客-CSDN博客

(79条消息) C语言中的exit()函数_exit函数_春卷同学的博客-CSDN博客

(78条消息) sscanf的用法_yanyanwenmeng的博客-CSDN博客

(78条消息) C语言中scanf函数用法详解_scanf用法_沧州刺史的博客-CSDN博客

设计模型

C++之工厂(factory)模式_c++工厂模式_敢敢のwings的博客-CSDN博客

(72条消息) C++设计模式——观察者模式(Observer Pattern)_c++观察者模式_leonardohaig的博客-CSDN博客

数据类型

(76条消息) CMakeLists.txt 语法介绍与实例演练_阿飞__的博客-CSDN博客

(73条消息) size_t 数据类型_febuary_的博客-CSDN博客

指针

typedef函数指针_typedef 函数指针_wuyihao123的博客-CSDN博客

指针函数和函数指针_函数指针 指针函数_禹鼎侯的博客-CSDN博客(93条消息) undefined reference to `pthread_create' 怎么解决?_cxx lpthread_家人是最好的礼物的博客-CSDN博客(93条消息) C++中的void*理解_Mirst的博客-CSDN博客(78条消息) 深入 char * ,char ** ,char a[ ] ,char *a[] 内核_若水三千你是一千的博客-CSDN博客

设计模式

virtual和overload

C++多态--虚函数virtual及override_虚函数override_i_chaoren的博客-CSDN博客

C++中重写(override)和重载(overload)_c++ override_软件技术爱好者的博客-CSDN博客

linux系统函数

【Linux系列】进程PCB控制管理详解_pcb进程控制块-CSDN博客

linux内存管理笔记(十三)----页表映射_linux initmm pgd-CSDN博客

Linux下特殊文件---/dev/null && /dev/zero详解_> /dev/null &&-CSDN博客

Linux之进程的基本概念(进程,进程组,会话关系)-CSDN博客

Linux PCB(进程控制块) 详解-CSDN博客

Linux下特殊文件---/dev/null && /dev/zero详解_> /dev/null &&-CSDN博客

C语言”%p”的意思-----printf("%p",p)_printf %p-CSDN博客

进程地址空间详解_小赵小赵福星高照~的博客-CSDN博客

 pthread_create

pthread_create函数详解(向线程函数传递参数)_焱齿的博客-CSDN博客

read write

【Linux系统IO函数】read、write函数及实现文件拷贝_read函数实现_傅耳耳的博客-CSDN博客

 sigaction

linux中sigaction函数详解_魏波.的博客-CSDN博客

 linux 串口学习

(83条消息) LINUX 使用tcgetattr与tcsetattr函数控制终端_linux tcgetattr_Liuqz2009的博客-CSDN博客

(83条消息) Linux C 串口属性设置_c_cflag_御龙冀人的博客-CSDN博客

(83条消息) C——Linux下的串口编程_4ct c,cc t)dtr_C_Aya的博客-CSDN博客

【Linux】——select详解_linux select-CSDN博客

详解IO多路复用机制——select、poll、epoll的原理和区别_select poll epoll原理和区别-CSDN博客

linux网络编程

Socket中SO_REUSEADDR详解-CSDN博客

面试官,不要再问我三次握手和四次挥手_猿人谷 三次握手四次挥手-CSDN博客

【Linux】进程与文件系统(上)_linux进程文件_咸菜不闲的博客-CSDN博客​​​​​​

accept

TCP/IP编程之accept函数详解-CSDN博客

TCP网络编程中connect() listen()和accept()三者之间的关系_tcp accept_致守的博客-CSDN博客

socket buffer

Socket缓冲区_socket buffer-CSDN博客

 epoll反应堆模型

epoll原理详解及epoll反应堆模型_epoll模型-CSDN博客

epoll原理详解及epoll反应堆模型_epoll模型-CSDN博客

网络高并发服务器之epoll接口、epoll反应堆模型详解及代码实现_青城山小和尚的博客-CSDN博客

web server

【C/C++服务器开发】文件,文件描述符,I/O多路复用,select / poll / epoll 详解_c++ 文件描述符_小熊coder的博客-CSDN博客

Linux SIGPIPE信号产生原因与解决方法-CSDN博客

WebServer代码解读(1)【main函数流程】【忽略SIGPIPE信号:handle_for_sigpipe】【创建EPOLL内核事件表】【线程池组成部分与工作逻辑】-CSDN博客

WebServer代码解读(2)【初始化server socket】【设置epoll事件】【注册描述符】【封装epoll_wait】_怎么初始化serversocket_温酒煮青梅的博客-CSDN博客

WebServer代码解读(3)【最小堆定时器与队列】_webserver 最小堆定时器_温酒煮青梅的博客-CSDN博客

WebServer代码解读(3)【最小堆定时器与队列】_webserver 最小堆定时器_温酒煮青梅的博客-CSDN博客

WebServer代码解读(4)【解析HTTP请求】【解析请求行/请求头】【URI基础知识】_webserver对http的解析_温酒煮青梅的博客-CSDN博客

C++string类中substr()函数的使用方法_c++ string substr_&Mr.Gong的博客-CSDN博客

WebServer代码解读(5)【处理HTTP请求】【响应POST/GET请求】_webserver post报文解析_温酒煮青梅的博客-CSDN博客

 定时器

面试现场手撕高效定时器,红黑树、时间轮、最小堆实现定时器 |定时器实现方式;定时器与其他模块关系;定时器接口设计;c++ STL 容器选择_哔哩哔哩_bilibili

reactor 

面试官:什么是 Reactor 和 Proactor?_reactor和proactor_小林coding的博客-CSDN博客

轮询调度算法(Round-Robin Scheduling)_夜流冰的博客-CSDN博客

RAII机制介绍_好吃还得是柚子的博客-CSDN博客

rall机制 即对资源的获取和释放进行控制,对于new获得的空间,需要记得delete 

堆(大根堆、小根堆)_小根堆和大根堆_pingdaozhang的博客-CSDN博客

SIGPIPE

Linux SIGPIPE信号产生原因与解决方法_哀酱的博客-CSDN博客

http

HTTP协议(详解)_ufgnix0802的博客-CSDN博客

看完这篇HTTP,跟面试官扯皮就没问题了_accept-charset和accept-encoding-CSDN博客

【计算机网络】HTTP 协议详解_http协议解析-CSDN博客

extern

【014 关键字】一文彻底搞懂extern用法_Kashine的博客-CSDN博客
【C++深陷】之“成员模板”_c++成员模板_Jinxk8的博客-CSDN博客

explict


C++ explicit关键字详解_c explicit_tiankong19999的博客-CSDN博客

mime

mime_佐笾已逝的博客-CSDN博客

URI和URL区别以及相对路径和绝对路径的区别_uri 相对路径_ThreeOO的博客-CSDN博客

堆(大根堆、小根堆)_小根堆和大根堆_pingdaozhang的博客-CSDN博客

C++中的unordered_map常见用法详解_c++ unordered_map_花无凋零之时的博客-CSDN博客

C++中的unordered_map用法详解_zou_albert的博客-CSDN博客

数据结构——堆(带图详解)_建堆过程图解_Owen_Xp的博客-CSDN博客

https://blog.csdn.net/xiaomucgwlmx/article/details/103522410?ops_request_misc=&request_id=&biz_id=102&utm_term=heap&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-2-103522410.142^v93^chatsearchT3_2&spm=1018.2226.3001.4187

数据结构堆(Heap)详解-堆的建立、插入、删除、最大堆、最小堆、堆排序等_heap插入_OH,CGWLMXUP的博客-CSDN博客

function bind

【C++】C++11的std::function和std::bind用法详解_std::bind和std::function_Yngz_Miao的博客-CSDN博客

单例设计模式 双重锁

C++单例的安全实现,double-check(双重检查锁定)的安全实现方法_手写单例模式c++双校验锁_橘色的喵的博客-CSDN博客

c++多线程(八) - 双重检查_检查mutex 是否为null_万里归来少年心的博客-CSDN博客

weak_ptr lock

C++11中weak_ptr的使用_weakptr lock_fengbingchun的博客-CSDN博客

shared_from_this

std::enable_shared_from_this用法-CSDN博客

shared_ptr:线程安全、循环引用_帝壹的博客-CSDN博客

C++:智能指针(5)——enable_shared_from_this工作原理、源码分析_enable_shared_from_this原理分析_cocoa0409的博客-CSDN博客

C++:智能指针(3)——无法通过原指针增加共享指针shared_ptr的计数,enable_shared_from_this解决_shared_ptr之间无法共享引用计数_cocoa0409的博客-CSDN博客

C++关于shared_ptr和shared_from_this的说明_c++ shared_from_this_农夫私房菜的博客-CSDN博客

typedef enum

C语言 enum/typedef enum 枚举类型详解_Steven&Aileen的博客-CSDN博客

static_cast

C++数据类型转化使用方法,static_cast,dynamic_cast,dynamic_pointer_cast,dynamic_pointer_cast等_std::static_cast_早睡的叶子的博客-CSDN博客

【智能指针二】智能指针互转_static_pointer_cast_郑同学的笔记的博客-CSDN博客

普通指针到智能指针的转换_指针转智能指针_seamanj的博客-CSDN博客

#pragma once

pragma once用法总结_pargram once_DaMercy的博客-CSDN博客

c++11function 

【C++】C++11的std::function和std::bind用法详解_c++中的std中的方法-CSDN博客

函数指针

函数指针与函数对象详解_函数指针对象-CSDN博客

static

c++——static总结_c++ static_却道天凉_好个秋的博客-CSDN博客

在 C/C++中 static 关键字详解_c++static_-YIN的博客-CSDN博客

cr lf 回车和换行

C语言中<CR>是什么意思-CSDN博客

终于搞懂了回车与换行的区别-CSDN博客

muduo

Localtime函数-CSDN博客

C++ strftime() 函数-CSDN博客

using

C++ 中using 的使用_c++ using-CSDN博客

__thread

__thread详解(gcc关键字)___thread gcc-CSDN博客

webgis

WebGIS开发入门_杨大大28的博客-CSDN博客

第一章第2节-WebGIS开发_GISer搬砖人的博客-CSDN博客

【完整的WebGIS教程】2、第一个基于vue的webgis项目_老靳的WebGIS的博客-CSDN博客

vue+supermap iclient for mapboxgl 降雨分布展示的webgis项目:1_vue使用supermap_qq_37278598的博客-CSDN博客

droneDb

DroneDB/DroneDB: Free and open source software for aerial data storage. (github.com)

Drone Mapping Software - OpenDroneMap™

OpenDroneMap/ODM: A command line toolkit to generate maps, point clouds, 3D models and DEMs from drone, balloon or kite images. 📷 (github.com)

数据链

关于OFDM与COFDM差异性的研究比较_LuchangweiSam的博客-CSDN博客

世界各个地区WIFI 2.4G及5G信道划分表(附无线通信频率分配表)_5g信道对应频率_一叶知秋dong的博客-CSDN博客

WLAN基本知识之802.11标准_超凡脫俗的博客-CSDN博客

非网管PoE交换机的三种模式使用及介绍 (tp-link.com.cn)

一图读懂 如何限制访问交换机界面? (tp-link.com.cn)

新手指南 (jftech.com)

摄像头sdk

新手指南 (jftech.com)

【ROS2实践】系列(一 )——FastDDS的安装使用 - 简书


 

base基站

段错误

Segmentation fault (core dumped)错误常见原因总结_改个名字真不容易�的博客-CSDN博客

gcc多文件联合编译

g++ main.cpp function.cpp -o main

GCC 同时编译多个 C/C++ 文件_gcc 并行编译_wohu007的博客-CSDN博客

gdb使用

GDB的安装和基本调试(安装步骤+基本调试命令和演示)_gdb安装_Xtiz的博客-CSDN博客

struct定义出错

解决 不在struct内初始化

部分版本结构体的声明中初始化导致的。 有的可以初始化,有的不行

C语言错误:error: expected ':', ',', ';', '}' or '__attribute__' before '=' token_devinliu188的博客-CSDN博客

sprintf连接char* 出错

原因 存放连接完成结果的应该是一个char buf[] 数组

sprintf()函数简要介绍_sprintf函数_做最完美的自己的博客-CSDN博客

ringbuffer环形缓冲区

【单片机】使用ringbuffer接收数据_ringbuffer的常规用法_提莫的蘑菇丛的博客-CSDN博客

环形缓冲区(Ring Buffer)使用说明_爬坡的小蜗牛的博客-CSDN博客

string构造函数‘

  1. emplate<class Iter> string(Iter begin,Iter end)  

  2.     //这里Iter为char *  

C++ string类的构造函数_c++ string构造函数_iamzhangzhuping的博客-CSDN博客

ifndef

pragma once用法总结_DaMercy的博客-CSDN博客

p900

PX4使用P900数传_px4数传_超维空间科技的博客-CSDN博客

microhard p900数传配置方法_p900电台-CSDN博客

moblia dji

DJI Developer

本地套接字

本地套接字(domain)_本地域套接字_@小棋童的博客-CSDN博客

数据管理系统

原创程序|大疆无人机照片视频综合管理系统_大华无人机和大疆无人机_qq_22865459的博客-CSDN博客

基于POS的无人机数据管理系统设计及实现_无人机pos文件是指什么文件_qq_22865459的博客-CSDN博客

无线Ap组建点对点局域网

组建Ad Hoc模式无线局域网_adhoc网络搭建_熊未泯的博客-CSDN博客

无线AP简介_ap面板上面网口与交换机网口什么关系_liitdar的博客-CSDN博客

C++连接MySQL数据库实现对一个简单的学生信息系统的增删改查_不想学习的奈何的博客-CSDN博客

数据库的存储系列———将图片存储到数据库_数据库怎么存储图片_goasleep的博客-CSDN博客

图片怎么存储到数据库里_githubcurry的博客-CSDN博客

图片怎么存储到数据库里_githubcurry的博客-CSDN博客

可以通过在数据库中存放图片的存放位置,云服务器cdn 提供远端的图片存储,client访问时cdn会就近提供资源,避免了传输距离带来的问题

mysql

ubuntu20.04安装mysql数据库_孤寒者的博客-CSDN博客

ubuntu安装mysql详细过程_dair6的博客-CSDN博客

datagrip 连接不上linux的mysql

防火墙问题,需要把3306端口指定为开,然后重启mysql服务

systemctl restart mysql

DataGrip远程连接Ubuntu Linux MySQL服务器报错DBMS: MySQL (no ver.)_Pamy23的博客-CSDN博客

数据库

mysql存储数据

MySQL Access denied for user ‘root‘@‘localhost‘ (using password: YES/NO) 的原因以及解决方案_access denied for user root@localhost-CSDN博客

MYSQL-skip-networking-CSDN博客

Linux下mysql服务存在,但是3306端口监听不存在,远程连接不上-CSDN博客

https://blog.csdn.net/zzf1233/article/details/125813359?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522169889469816800226525631%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=169889469816800226525631&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-125813359-null-null.142^v96^pc_search_result_base9&utm_term=%E4%BB%8Emysql%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E5%90%AF%E5%8A%A8mysql&spm=1018.2226.3001.4187

Mysql启动选项和配置文件_mysql指定配置文件启动_Java面试365的博客-CSDN博客

数据库报错1045-Access denied for user ‘root‘@‘localhost‘ (using password: YES)解决方式_逸佳6的博客-CSDN博客

mysql_errno返回值的意义 mysql_errno()代码解析大全_mysql_error返回值-CSDN博客

 influxdb

什么是时序数据库?时序数据库是近几年一个新的概念,与传统的Mysql关系型数据库相比,它的最大的特点是:数据按照时间顺序存储。

influxDB 基础了解-CSDN博客

mongodb与postgresql

MongoDB 与 PostgreSQL 对比 - 数据库之间的区别 - AWS

PostgreSQL

PostgreSQL学习总结(1)—— PostgreSQL 入门简介与安装-CSDN博客

px4 qgc

QGC通过网络连接飞控(树莓派+ROS桥接MavLink)_qgc连接飞控的数传接口_BreederBai的博客-CSDN博客

QGC二次开发笔记 一:Mavlink生成和MockLink模拟收发通讯_hail_hydra .的博客-CSDN博客

QGroundControl(QGC)地面站获取gps信息并保存为按时间自动编号的TXT文件_qgc飞机未获得gps定位_奈流云何的博客-CSDN博客

QGC二次开发_真·skysys的博客-CSDN博客


 

QT

QT入门之QToolBar_Littlehero_121的博客-CSDN博客

【Qt】一篇全面的信号和槽函数机制总结_qt槽函数_iriczhao的博客-CSDN博客

QT QTabWidget 控件 使用详解_双子座断点的博客-CSDN博客

2015.6.5 qt学习笔记 accept()概念_qtaccept函数-CSDN博客

QT中的exec()_qt exec-CSDN博客

QT:获取屏幕的可用尺寸_qt availablegeometry-CSDN博客

Qt学习(四)—— 坐标系统_qt move函数坐标-CSDN博客

Qt QFrame详解_qt frame-CSDN博客

 qt跨平台

Qt6 安装串口模块 QSerialPort_qt6 qserial-CSDN博客

【QT】【Opencv】【报错集锦】error while loading shared libraries: libopencv_core.so.3.4: cannot open shared-CSDN博客

Network error: Connection refused_network error:connection refused-CSDN博客

中文乱码问题使用utf-8+bom格式解决

Linux下QT程序打包_linux qt打包_xiq1212的博客-CSDN博客

opencv c++拉流可行

OpenCV 无法打开 rtsp 视频流的解决方法_qt opencv 无法打开rstp_许野平的博客-CSDN博客

Qt中使用ui设计界面实现显示opencv图片(label+button)_qt ui显示图片-CSDN博客

Qt中QString转string中文乱码问题-CSDN博客

opencv之videocapture类_videocapture isopen-CSDN博客

OpenCV在Qt中显示视频的两种方法_qt显示视频-CSDN博客

Qt 图像缩放显示-CSDN博客

c++读取视频并保存

使用OpenCV的类VideoWriter进行视频写操作(保存视频) - OpenCV与图像处理笔记 - 昊虹AI笔记网 - 用心记录CV-AI技术

g++编译问题

对‘cv::VideoCapture::VideoCapture(int)’未定义的引用 怎么解决_搞IT的锋的博客-CSDN博客

g++ -o test test.cpp
    -I/usr/local/include/opencv4 
    -L/usr/local/lib64 -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_videoio

https://blog.csdn.net/k1419197516/article/details/129521323?ops_request_misc=&request_id=&biz_id=102&utm_term=g++%E5%A6%82%E4%BD%95include%20%20%20opencv&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-129521323.142^v96^pc_search_result_base5&spm=1018.2226.3001.4187

https://blog.csdn.net/k1419197516/article/details/129521323?ops_request_misc=&request_id=&biz_id=102&utm_term=g++%E5%A6%82%E4%BD%95include%20%20%20opencv&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-129521323.142^v96^pc_search_result_base5&spm=1018.2226.3001.4187

MQTT与ROS

对比MQTT与ROS2_一个咸蛋吃三天的博客-CSDN博客

物联网协议——MQTT与ROS_mqtt网络拓扑_iphone86的博客-CSDN博客

MQTT协议详解_舍先生的博客-CSDN博客

4GDTU

认识DTU什么是4GDTU设备_4g dtu-CSDN博客

VLC        

vlc-qt —— Windows下编译(最新)_vlc windows编译-CSDN博客

VLC-Qt 入门指南_vlc-qt 是什么-CSDN博客

Releases · vlc-qt/vlc-qt · GitHub

用VLC开发视频播放器/组件(两种方式:libVLC / VLC-Qt)_CXYYL的博客-CSDN博客

Qt+ffmpeg 拉取海康相机视频流并显示_qt+ffmpeg摄像头推流_小米的修行之路的博客-CSDN博客

OpenCV学习笔记-视频读取、播放和保存-CSDN博客

使用VLC轻松体验本地视频推流、拉流、播放功能_vlc推流-CSDN博客

【流媒体服务】推流拉流体验(二):【1】使用VLC轻松体验本地视频推流、拉流、播放功能_vlc拉流使用教程-CSDN博客

python+opencv用电脑调用手机摄像头或其他网路摄像头_开启摄像头录像直播传输到python,支持ios-CSDN博客

流媒体源流常见问题与延迟分析处理_rtsp延迟高的原因-CSDN博客

局域网内简单读取ip摄像头内容并保存至本地与按时间间隔提取本地视频的图片帧_如何通过本地端口查看摄像头-CSDN博客

setGeometry-CSDN博客

qt拉流观看

Qt 播放rtsp视频流 问题记录_qt qmediaplayer rstp-CSDN博客

opencv c++拉流观看

opencv学习---VideoCapture 类基础知识-CSDN博客

OpenCV 无法打开 rtsp 视频流的解决方法_qt opencv 无法打开rstp_许野平的博客-CSDN博客

关于使用QT的QFileDialog打开视频文件后,VideoCapture.open()一直打开失败的问题:opencv is​​​​​​Open() false_qt videocapture-CSDN博客

OpenCV在Qt中显示视频的两种方法_qt显示视频-CSDN博客

显示视频文件
首先这里先说个坑,我们是绝对不能用waitKey()函数来实现帧与帧之间的时间间隔的,因为我们用的是QLabel来显示,而QLabel是组件,使用waitKey()会使得QLabel数据堵塞,最终实操的结果也只会是过一会后显示视频的最后一帧。

对于这样的情况我们的解决方案是,使用QTimer定时器。
QTimer的主要方法是start(internal)表示每隔internal毫秒发送一个timeout()信号,这样我们只需要编写响应这个信号的槽函数并连接信号和槽函数即可。

C++ OpenCV摄像头及视频操作类​VideoCapture介绍-CSDN博客

opencv python 拉流观看

OpenCV学习笔记-视频读取、播放和保存-CSDN博客

延时

流媒体源流常见问题与延迟分析处理_rtsp延迟高的原因-CSDN博客

opencv VideoCapture抓取RTSP高延迟,崩溃解决方法_(rtspvideocapturer.cpp:29): rtspvideocapturer:oner-CSDN博客

apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev 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

AD

AD从原理图到PCB超详细教程_ad怎么把原理图导入pcb_*真空*的博客-CSDN博客

AD21原理图的高级应用(三)原理图多通道的应用_ad多通道pcb设计-CSDN博客

Altium Designer 入门教程(参考视频:凡亿教育-新手入门必备课56讲)_骑着蜗牛逛Earth的博客-CSDN博客

【精选】AD教程系列 | 3 - 创建原理图库和PCB库_ad怎么画原理图库-CSDN博客

【精选】Altium Designer 20(AD20)新手小白详细教程-CSDN博客

虚拟机

VMware共享文件夹——Ubuntu20.04_ubuntu20.04 vmware 共享文件夹-CSDN博客

Linux之VMware Tools的安装、共享文件夹的设置以及sudo nautilus的应用_linux安装tools_时光の尘的博客-CSDN博客

工作

HC?OC?这些校招黑话你看明白了吗?_hc od-CSDN博客


create table status
(
    time   datetime not null comment 'the time of data acquire',
    roll   SMALLINT null comment 'ahrsEuler0',
    pitch  SMALLINT null comment 'ahrsEuler1',
    yaw    SMALLINT null comment 'ahrsEuler2',
    height int      null,
    mode   int      null,
    isLock int      null
)
    comment 'status of control object';

create table motorPwm
(
    time  datetime not null,
    pwm_0 TINYINT  null,
    pwm_1 TINYINT  null,
    pwm_2 TINYINT  null,
    pwm_3 TINYINT  null
)
    comment '电机pwm的数值';

create table rcData
(
    time  datetime null,
    ppm_0 SMALLINT null,
    ppm_1 SMALLINT null,
    ppm_2 SMALLINT null,
    ppm_3 SMALLINT null,
    ppm_4 SMALLINT null,
    ppm_5 SMALLINT null,
    ppm_6 SMALLINT null,
    ppm_7 SMALLINT null
)
    comment 'the data of rc ';


create table power
(
    time    datetime null,
    current SMALLINT null,
    voltage SMALLINT null
)
    comment 'the current and voltage of battery';

create table version
(
    time              datetime null,
    type              TINYINT  null comment 'hardware_type',
    hardwareVersion   SMALLINT null,
    softwareVersion   SMALLINT null,
    protocolVersion   SMALLINT null,
    bootloaderVersion SMALLINT null
)
    comment 'the version of hardware';

create table gps
(
    time      datetime null,
    status    TINYINT  null comment 'the status of gps',
    star      TINYINT  null,
    longitude SMALLINT null comment 'longitude',
    latitude  SMALLINT null comment 'latitude'
)
    comment 'message of gps';

create table sensor
(
    time   datetime not null,
    acc_0  SMALLINT null comment 'acc_x',
    acc_1  SMALLINT null comment 'ac_y',
    acc_2  SMALLINT null,
    gyro_0 SMALLINT null,
    gyro_1 SMALLINT null,
    gyro_2 SMALLINT null,
    mag_0  SMALLINT null,
    mag_1  SMALLINT null,
    mag_2  SMALLINT null
)

阶段总结

目前已经开展结束的工作

linux网络编程   系统编程的学习 html的学习 ros2接收飞控和动捕数据并把动捕数据下发给飞控

正在进行

设计模式的学习 wifibroadcast的改造 ros web的尝试 sql数据库的学习 阅读修改了涵道基站的代码(编译未通过,有待改进)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值