自用网站链接

树莓派学习

制作树莓派镜像

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

树莓派设置固定ip

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

远程登陆树莓派,使用ssh [email protected] 进行远程登录即可

设置静态路由

编辑 /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  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 <> /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 <> /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)

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博客

网络

(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博客

设计模型

(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博客

web server

reactor 

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

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

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

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

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

SIGPIPE

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

epoll反应堆模型

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

extern

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

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


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博客

pthread_create

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

read write

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

单例设计模式 双重锁

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

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

weak_ptr lock

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

shared_from_this

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博客

sigaction

linux中sigaction函数详解_魏波.的博客-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博客

static

在 C/C++中 static 关键字详解_c++static_-YIN的博客-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的安装使用 - 简书

定时器

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

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 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博客

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博客

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博客

MQTT与ROS

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

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

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

influxdb

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

influxDB 基础了解-CSDN博客

mongodb与postgresql

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

PostgreSQL

PostgreSQL学习总结(1)—— PostgreSQL 入门简介与安装-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博客

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

延时

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

工作

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

阶段总结

目前已经开展结束的工作

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

正在进行

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

你可能感兴趣的:(c语言,开发语言)