thumbnail
PID 算法
0、前言 我这个文章慢慢更新,我现在也是学习阶段,后面会慢慢更新 1、 PID的概述 在我们学习PID之前在程序经常会写 if(温度<温度阈值) { 加热 } else { 不加热 } 他就是直接判断当前的测量值是否跟我的阈值相同,如果相同做什么,不相同就做什么。这样虽然可以做出判断保证这个事件有被处理但是不精确,就比如这个加热模块,我要保证…
thumbnail
树莓派记录
0、锁定文件 sudo rm /var/lib/apt/lists/lock # 解决 “Could not get lock /var/lib/apt/lists/lock”错误 sudo rm /var/lib/dpkg/lock # 解决 “Could not get lock /var/lib/dpkg/lock”错误 1、32位更改源(6…
thumbnail
使用hexo+github搭建个人博客
1、安装软件 1、hexo是什么 官网:hexo.io Hexo 是一个快速、简洁且高效的静态博客框架,它基于 Node.js 运行,可以将我们撰写的 Markdown 文档解析渲染成静态的 HTML 网页。 2、node 安装 nodejs, 因为Hexo是基于 Node.js 驱动的一款博客框架。 ⭐nodejs下载地址 3、git 安装git…
thumbnail
排序算法
1、冒泡排序 原理 从第一个开始与后面的一个比较如果不相等就替换,一直比下去就会把最大的或者最小的比到最后一个元素,下一次比较的时候就把第二大或者第二小的放在倒数第二个,依次重复下去就实现排序。 时间复杂度 冒泡排序最好的时间复杂度为O(n) 冒泡排序的最坏时间复杂度为O(n^2) 冒泡排序最好的时间复杂度为O(n) 空间复杂度 排序过程中只是使用…
thumbnail
stm32f103c8t6+esp8266(esp-01s)+mqtt固件+hal库连接阿里云(最详细+可移植)教程
概要 STM32F103c8t6+ESP8266(esp-01s)+MQTT固件 连接阿里云 里面用到了对串口不定长的数据的DMA+中断的接受方式。不了解的可以看这个篇文章STM32F407的串口接收不定长数据两种方式HAL库 一、MQTT固件 对于该项目我们利用了MQTT固件,这个固件可以让我们更加简单的利用MQTT进行数据传输,利用该固件我们不…
thumbnail
基于智能家居的安防系统
0、任务需求 采集摄像头、烟雾传感器、温湿度传感器 (DHT11)、火焰传感器、光敏传感器 执行器:风扇、花洒、led灯 pc端订阅:video_stream、shu_data pc端发布:pc_data 树莓派:发布视频流到:video_stream, 发布数据:shu_data,接收(订阅)数据在:pc_data 温度:tem 温度阈值: th…
thumbnail
笔试合集
1、宏定义printf() 问题提出 有时候我们想用宏定义来决定是编译debug版本的代码还是release的代码,dubug版本的代码会通过printf打印调试信息,release版本的代码则不会。我们总不能对每一条printf都这样写: #if IS_DEBUG printf("hello world!"); #endif …
thumbnail
STM32F407的串口接收不定长数据两种方式HAL库
概要 STM32的串口接收不定长数据,最近在看超子说物联网,感觉太麻烦了不适合直接上手,然后我自己总结了两种方法: 1、不利用DMA 2、利用DMA方式 整体架构流程 这个HAL整起来是方便,但是HAL整体来说对于细节很到位就是逻辑很强逻辑,也就很繁琐,效率又不高,还缺胳膊少腿的。好用,就比如说这个串口接收,没有专门的方法调用。搞的就很麻烦,我第一…
thumbnail
QT配置opencv环境
1、安装QT、cmake、opencv 1、安装QT和Cmake 这里安装qt和cmake我就不说了,我的QT版本是5.15.2 cmake去官网安装最新的就可以了。 2、安装opencv 去官网安装opencv,因为opencv后面的版本有很多有版权问题,所以可以下载opencv3.x不要下载太高的版本,这样可以跟一些程序兼容好点 下载完成之后打…
thumbnail
GY39测量温湿度和光照强度用C51单片机实现
一、GY-39的介绍 GY-39 是一款低成本,气压,温湿度,光强度传感器模块。工作电压 3-5v,功耗小,安装方便。其工作原理是, MCU 收集各种传感器数据,统一处理,直接输出计算后的结果。 在此模块中,有两种方式读取数据,即串口 UART( TTL 电平)或者 IIC( 2 线)。这里就是利用C51的串口采集GY-39的数据。 通信协议 串口…