自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 资源 (2)
  • 收藏
  • 关注

原创 ESP32 idf合并多个bin文件为完整固件shell脚本

【代码】ESP32 idf合并多个bin文件为完整固件shell脚本。

2024-01-20 18:27:14 429

原创 ESP32基于IDF框架OTA学习记录

服务器使用gitee,建了一个测试仓库,上传blink.bin,下载链接:https://gitee.com/nameisboy/esp32-https-ota/raw/master/blink.bin。因为OTA代码中做了版本判断,如果版本相同,不会进行OTA。而blink例程编译出来的固件版本默认是1,OTA例程的版本也默认为1,这里直接修改OTA例程的版本,使其不一致即可。例程使用的是服务器的自签名证书做SSL/TLS验证,gitee服务器的证书不知道怎么搞,这里直接修改使用esp32自带的。

2023-11-27 20:24:33 519

原创 esp32基于IDF配置 coredump时进行gdb调试

目前只会在崩溃时使用gdb的方法,gdb实时运行调试好像要用jlink这一类硬件调试器,这种方法可以通过串口在崩溃时,调用gdb。

2023-11-18 17:32:05 344

原创 Rust多线程编程

关于Rust多线程的一些学习记录!

2023-08-29 19:22:34 1112 1

原创 Rust 进阶学习

Rust所有权、枚举、结构体、面向对象编程.

2023-08-29 19:02:26 1445

原创 Rust 基础语法学习

hello rust!

2023-08-27 23:02:55 1534 1

原创 OpenCV+FFmpeg 实现人脸检测Rtmp直播推流(Python快速实现)

使用python可以快速实现功能,但延迟还是有点高,画面也不太流畅,还有优化空间。有空还是用CPP实现一下吧。

2023-04-10 21:36:13 4769 5

原创 Android编写一个视频监控App

Android编写一个视频监控App

2022-12-01 23:20:29 2251

原创 srs-librtmp移植到树莓派

SRS(Simple Rtmp Server)是一个国人编写的开源的RTMP/HLS流媒体服务器,非常强大。本次将其移植到树莓派平台,作个简单的记录。

2022-10-24 08:03:40 417

原创 树莓派移植FFmepg记录(x264、硬件编码支持)

移植FFmpeg到树莓派3B,添加了x264软件编码器、Omx-rpi硬件编码的支持,降低CPU占用率。

2022-10-22 10:11:19 1296

原创 树莓派视频监控项目总结

基于树莓派3B的树莓派视频监控的嵌入式小项目。

2022-10-13 23:26:58 1573

翻译 YUV格式总结

YUV格式总结格式说明YUV,是一种颜色编码方法。常使用在各个视频处理组件中。 YUV在对照片或视频编码时,考虑到人类的感知能力,允许降低色度的带宽。YUV是编译true-color颜色空间(color space)的种类,Y’UV, YUV, YCbCr,YPbPr等专有名词都可以称为YUV,彼此有重叠。YUV 分别由一个称为 Y(相当于灰度)的“亮度”分量(Luminance or Luma)和两个称为 U(蓝色投影 Cb)和 V(红色投影 Cr)的“色度”分量(Chrominance or C

2022-09-13 12:46:54 430

原创 使用libexif开源库修改jpeg相片exif信息

libexif简介libexif是一个开源的图片exif信息操作库,提供了对exif信息常见操作接口;exif则是相片中的附属信息,常见的exif信息如图:

2021-12-05 17:49:10 1804 3

原创 Android开源对话框sweet-alert-dialog使用教程

0. 关于Sweet Alert DialogSweet Alert Dialog是一个开源的Android提示对话框,界面美观!详细介绍请看github上的readme!!!GitHub开源链接:https://github.com/pedant/sweet-alert-dialog1. 在AS中使用Sweet Alert DialogGitHub上的教程中,在AS中使用方法是这样的:在app下的build.gradle按照下面添加:但实际上Android Studio3.0以上的新版本应该

2021-04-23 11:34:14 541

原创 安卓APP使用CH340进行串口通信

大纲缘由解读安卓串口通信流程1. 下载lib库2. 初始化流程3. 收发流程编写串口通信APP1. 导入lib库2. 布局3. 编写java代码4. 测试5. USB插拔检测附代码缘由毕业设计要求使用手机APP与单片机硬件进行有线通信,至于为什么不用蓝牙、无线,我也不知道 ????。有线通信,无非就是USB或者串口,USB不是所有的单片机都有,但是几乎所有的单片机都带有串口,而且USB协议比较复杂,最终决定采用串口通信。安卓手机只有一个USB接口,要想与硬件(如单片机)进行有线的串口通信,就需要用到U

2021-02-09 21:12:08 12182 12

原创 Android开发学习笔记-03 基础控件的使用(TextView、Button、EditText、ImageView、SeekBar)

在Android开发中,学会使用控件是非常重要的,本篇博客带你来学习Android中常用的基础控件,快速上手入门!!

2021-02-04 20:35:36 1106 2

原创 Android开发学习笔记-02 布局管理器(线性布局、相对布局)

大纲线性布局相对布局线性布局线性布局顾名思义是元素进行线性排布的布局。常用属性:android:id,用于标识布局的唯一名称,便于引用android:layout_width,布局宽度android:layout_height,布局高度android:background,布局的背景色android:layout_magin,布局的外边距android:layout_padding,布局的内边距android:orientation,布局内元素的排列方向,水平或垂直线性布局举例:

2021-02-01 16:58:33 250

原创 Android开发学习笔记-01 第一个Android应用

一、创建第一个Android应用工程基于Android Studio 3.5.2版本,创建一个Android应用工程。打开AS,选择创建一个新的AS工程:2. 选择运行硬件平台和Activity模板选项,点击next下一步:3. 输入APP相关信息,选择开发语言,设置最低API级别,点击Finish完成:这里的最低API级别,根据开发需要选择,不同的等级可以运行设备的覆盖率是不一样的,我这里选择5.0。以上

2021-01-31 12:32:19 282

原创 Java快速入门笔记-02 Java基础(基本数据类型、变量和常量、运算符、数组、字符串)

一、Java基本数据类型Java语言提供了8种基本类型。6种数字类型(4个整数型,2个浮点型),1种字符类型,还有1种布尔型。1.整数类型Java的整数都是有符号的,用二进制表示都是补码形式(最高位0表示正,1表示负)。没有C中的unsigned无符号类型。byte 字节类型大小:8 bit;范围:-128 ~ 127;默认值:0;int 整型大小:32 bit;范围:-2,147,483,648(-2^31)~ 2,147,483,647(2^31 - 1)默认值:0;

2021-01-24 21:08:02 143

原创 Java快速入门笔记-01 HelloWorld分析第一个java程序

一、Hello World!编写源码Hello.java:public class Hello { public static void main(String[] args) { System.out.println("Hello, world!"); }}注意这里的class的名字必须与文件名保持一致。编译java源码需要编译成 .class 字节码文件,才能在java虚拟机上运行。使用javac编译器进行编译:javac He

2021-01-24 13:02:37 126

原创 Java快速入门学习笔记-00 Java简介及开发环境搭建

Java简介及开发环境搭建提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用文章目录Java简介及开发环境搭建一、Java介绍1.诞生2.版本3.特性二、搭建Java开发环境总结一、Java介绍1.诞生Java最早是由SUN公司(已被Oracle收购)的詹姆斯·高斯林(高司令,人称Java之父)在上个世纪90年代初开发的一种编程语言,最初被命名为Oak,目标是针对小型家电设备的嵌入式应用,结果市场没啥反响。谁料到互联网的

2021-01-24 11:57:59 124

原创 STM32使用硬件SPI驱动RC522门禁模块

0、前言RC522射频门禁识别模块非常常用,某宝卖家提供的程序基本都是使用软件模拟SPI的方式进行驱动的,但是实测使用软件模拟SPI识别速率、准确性没有硬件SPI驱动时高,因此本篇博客用于记录使用STM32硬件SPI驱动RC522门禁模块。1、硬件连接单片机:STM32F103RCT6硬件接口:SPI2MISO -> PB14 (主机输入,从机输出)MOSI -> PB15 (主机输出,从机输入)SCK -> PB13 (时钟信号SCLK)SDA -> PC

2021-01-12 14:07:03 12109 11

原创 ART-Badge电子胸牌开发上手体验

ART-Badge是2020年RT-Thread开发者大会上赠送的电子胸牌,上次的柿饼UI入门课程活动中我有幸拿到一块。今天就来实战进行diy二次开发!

2021-01-04 09:55:48 912

原创 RT-Thread 柿饼GUI入门课程学习总结

前言11月中旬的时候,我在RT-Thread的微信公众号推文看到了柿饼UI的入门课程活动。其实也不是第一次看到这个GUI的介绍,但是用Js开发的方式有点吸引我。https://mp.weixin.qq.com/s/bBMuZ1qmtnI4cH86DR8enw入门课程一个月左右的时间,一共5次作业,下面是部分我个人比较喜欢的作品:第二周的基础题:附加题:最后一次是在柿饼派上运行的汽车模拟汽车仪表盘:...

2021-01-02 12:24:09 5086 2

原创 搭建自己的物联网平台-NodeRed篇之NodeRed安装部署到Linux云服务器

0、NodeRed介绍Node-RED是一个基于浏览器、可拖放流和连接节点,并能将 IoT 设备与应用程序集成的工具。 它在 IoT 领域已变得非常流行,能在传感器、摄像机和无线路由器等 IoT 设备之间建模大量应用程序功能。主要特点如下:基于浏览器的流程编辑Node-RED提供了一个基于浏览器的流编辑器,可轻松使用面板中的各种节点将流连接在一起。然后,单击即可将流部署到运行时。可以使用富文本编辑器在编辑器中创建JavaScript函数。内置库可让您保存有用的功能,模板或流程以供重复使用。建立

2020-08-17 12:07:36 6546 4

原创 搭建自己的物联网平台-EMQ安装部署到Linux云服务器

1.EMQ简介EMQ官网介绍:https://docs.emqx.io/broker/latest/cn/EMQ X (Erlang/Enterprise/Elastic MQTT Broker) 是基于 Erlang/OTP 平台开发的开源物联网 MQTT 消息服务器。Erlang/OTP是出色的软实时 (Soft-Realtime)、低延时 (Low-Latency)、分布式 (Distributed)的语言平台。MQTT 是轻量的 (Lightweight)、发布订阅模式 (PubSub) 的

2020-08-15 11:07:42 2147

原创 QT编写一个简单的MQTT测试小程序

1、安装QMqtt库参考下面这个教程非常安装简单:QT之QMQTT库的安装和使用里边也有连接服务器的教程可以参考!2、编写测试小程序2.1 简单创建一个界面:2.2 连接示例单击连接按键时,创建一个连接,连接主要方法如下:因为我的EMQx开启了userName的用户密码验证,所以需要加上用户名、密码验证。如果没有设置验证,可以不加。点击连接,订阅、发布Qt主题,可以收到消息:EMQx后台查看连接:2.3 完整程序connect是手动关联的mqtt信号槽函数,完整程序如下:m

2020-08-14 16:56:00 1782 6

原创 QT5连接并操作远程服务器MySQL数据库

QT5连接并操作远程服务器MySQL数据库文章目录QT5连接并操作远程服务器MySQL数据库一、连接MYSQL数据库0.加入MySQL动态链接库1.加入sql模块,包含头文件2.远程连接方法3.连接错误Error2003解决办法二、QT操作MySQL1.包含头文件2.操作示例一、连接MYSQL数据库QT连接远程服务器MySQL数据库,步骤如下:0.加入MySQL动态链接库首先在QT的安装目录下的bin文件夹下,加入libmysql.dll动态链接库,否则编译运行会输出MySQL驱动加载失败的错误!

2020-08-11 16:49:59 6255 4

原创 QT基础(五)之界面切换

QT基础(五)之界面切换文章目录QT基础(五)之界面切换一、创建新的界面1.新建UI界面相关文件2.选择Widget模板3.修改UI名称4.点击完成,创建成功后界面如下:二、如何进行界面切换?1. on_loginBt_clicked()2. on_quitLoginBt_clicked()一、创建新的界面在进行界面切换之前,需要先创建一个新的界面。创建步骤如下。1.新建UI界面相关文件2.选择Widget模板3.修改UI名称4.点击完成,创建成功后界面如下:二、如何进行界面切换?

2020-08-11 16:42:18 7602

原创 QT基础(三)之添加资源文件及界面美化

QT基础之添加资源文件及界面美化QT可以做出非常炫酷的图形界面,通过添加一些资源文件可以对我们的界面进行美化,下面以添加图片资源,美化标签为例,对QT Creator添加资源文件进行学习。一、添加资源文件1.给工程添加一个新的资源文件,选择Qt->Qt Resource File,点击choose进入下一步2.填写创建的资源文件名称以及资源所在路径,点击下一步3.为资源添加前缀:点击添加->添加前缀4.添加资源到资源文件中,点击添加->添加文件,选择需要添加的资源文件

2020-08-11 16:33:16 1219

原创 QT基础(二)之控件、信号和槽

QT基础(二)之控件、信号和槽文章目录QT基础(二)之控件、信号和槽一、控件1.1 常用控件介绍1.2 给控件改名二、信号和槽2.1 什么是信号和槽?2.2 如何关联信号和槽?一、控件1.1 常用控件介绍Lable(标签):常用于放置文本标签,也可放置图片、GIF图片等;Text Edit(多行文本编辑框):可以输入显示多行文本和图片,可以换行;Line Edit(单行文本编辑框):单行输入文本编辑框,输入时不会换行,常用于账号、密码等单行输入场景;Push Button(下压按钮):单击按下

2020-08-11 16:29:14 1735

原创 QT基础(一)之QT Creator工程初探

QT基础(一) QT工程初探文章目录QT基础(一) QT工程初探一、QT简介1.1 QT介绍1.2 QT优势二、QT Creator创建简单的界面2.1 QT Creator2.2 创建QT工程2.3 工程文件结构说明一、QT简介1.1 QT介绍​ QT 是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object

2020-08-11 16:21:39 480

原创 QT学习之C++面向对象基础

QT学习之C++面向对象基础1. 类和对象1.1 类的定义C++中的类可以简单看作是结构体的升级版,但是在类中成员不仅可以是变量也可以是函数。变量可以称作类的属性,函数可以称为类的方法。示例:class stduent{ public: int id;//成员之1 int age;//成员之2 void test(void);//成员之3,函数 private: int score;//成员之4};创建的方法类似结构体的定义方法,关键字 publi

2020-08-11 16:18:19 592 1

原创 MySQL数据库安装和基本操作

1.MySQL安装和启动安装Ubuntu系统使用apt工具进行安装:sudo apt-get install mysql-server mysql-client libmysqlclient-dev查看安装是否成功,输入sudo mysql,出现mysql>说明安装成功。启动使用service命令启动和查看mysql当前的状态:sudo service mysql start/stop/restart #启动/停止/重启mysql服务service mysql status #查看

2020-06-20 16:33:42 182

原创 Navicat 数据库可视化工具远程连接MySQL及基本操作

Navicat 是一款可视化的数据库工具,提供可视化的图形绘制功能,,支持多种类型的数据库,功能非常强大。官网地址:https://www.navicat.com.cn/下面介绍一下如何使用Navicat远程连接阿里云服务器数据库。1.连接数据库在文件中选择新建连接,根据数据库类型选择相应选项。这里我使用阿里云服务器自己的搭建的MySQL数据库进行演示。在编辑连接窗口选择SSH,填写SSH连接的信息,进行设置:此处用户密码端口即为SSH远程登录服务器使用的用户密码和端口,不是MySQL数据库

2020-06-20 16:09:53 5345 1

原创 MySQL数据库的基本操作示例

文章目录1.数据库的创建、查看、删除2.数据表结构的创建、查看、删除、修改2.1 创建数据表:2.2 查看数据表2.3 修改数据表2.4 删除数据表3.数据表记录的插入、查询、删除3.1 插入记录3.2 查询记录3.3 修改记录3.4 删除记录注:① SQL 对大小写不敏感:如SELECT 与 select 是相同的。② SQL语句需要加上分号表示语句结束。下面从最基本的创建数据库和创建表进行SQL语法的学习。1.数据库的创建、查看、删除创建一个新的数据库:create database 数据

2020-06-20 15:44:43 829

原创 STM32+OLED巧妙显示汉字英文

STM32+OLED巧妙显示汉字英文目标:实现OLED_Print函数,可以在OLED屏幕上显示中英文和符号混合的任意字符串汉字编码原理ASCII码显示的原理这里不再说明,一般的OLED例程都有使用方法。下面说一下中文编码的原理。在keil的环境使用的是GBK或者GB2312的编码方式,GBK编码汉字使用两个字节:第一个字节为区码,第二个好像叫段码,区码是大于127的,段码不一定。具体...

2020-04-18 12:38:29 21101 30

原创 Linux网络编程(UDP套接字)

文章目录一、UDP协议简介通信流程二、API函数2.1 sendto发送2.2 recvfrom接收三、UDP通信实例client.c(先发送端):server.c(先接收端):运行结果:分析:一、UDP协议简介UDP全称是用户数据报协议,是一种无连接的传输协议。相比于TCP它的优缺点:优点:传输速度快、资源消耗小、编程简单,在音视频数据传输中常用。缺点:网络质量不好时,丢包严重、会照成...

2020-03-18 15:41:57 547

原创 Linux网络编程(TCP套接字)

文章目录一、socket套接字参考模型二、socket通信1、通信流程2、函数说明2.1socket接口2.2 bind绑定2.3 connect连接2.4 listen监听2.5 accept接收2.6 write写入2.7 read读取2.8 转换函数三、通信实例服务器端客户端运行验证一、socket套接字如果学习或者了解过计算机网络就会知道分层的概念,一台计算机的数据通过层层包装之后,发...

2020-03-18 15:40:01 667

原创 Linux进程通信(信号量、共享内存)

Linux进程通信(信号量、共享内存)文章目录Linux进程通信(信号量、共享内存)一、信号量(Semaphore)1.1 简介1.2 相关函数semget创建semop操作semctl控制1.3 同步实验示例代码执行结果分析二、共享内存2.1 简介2.2 步骤shmget创建shmat附加shmdt脱离shmctl操作2.3 共享内存读写实验代码运行测试分析2.4 多进程操作共享内存源码运行结...

2020-03-15 14:03:01 286

OLED_Print(可显示中英文混合字符串).rar

stm32f103c8t6+OLED,实现OLED_Print函数,可以在OLED屏幕上显示中英文和符号混合的任意字符串,具体看文章https://blog.csdn.net/qq_41790078/article/details/105594835

2020-04-18

一种LCD汉字取模显示方法.rar

基于正点原子mini开发板,2.8寸液晶LCD的少量汉字取模显示,不需要字库。包含完整工程文件,在text下是汉字显示的相关内容

2020-02-02

空空如也

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

TA关注的人

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