ESP32物联网开发板大失败
ESP32物联网开发板大失败挂这篇一年提醒自己别走太快,太快了容易跌跟头,慢一点吃透一点。
第一版ESP32开发板,出现太多问题,需要认真总结。开始想要放弃电路设计。
错了已经错了,悟已往之不谏,知来者之可追。
ESP32-Wroom-32玩法
硬件设计基于esp32-wroom-32
Project 1 设计一片esp32 uno软件代码全部代码基于platformIO
连接emqx分布式mqtt服务器123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133#include <WiFiClientSecure.h>#include <PubSubClient.h>#include <time.h>// WiFi credentialsuint LED = 16; ...
ESP32系列简介
Espressif 将产品分为5个系列分别是:
ESP32-S 系列
ESP32-C 系列
ESP32-H 系列
ESP32 系列
ESP8266 系列
每个系列都有各自的特点以及主要用途范围
ESP32系列包含多个子系列,以下是一些常见系列的主要用途、特点及功能介绍:
ESP32
用途:广泛应用于各种物联网和无线通信相关的项目,如智能家居控制、工业自动化数据采集与控制、智能玩具、可穿戴设备等领域.
特点 :
性能稳定:工作温度范围达到-40°C到+125°C,集成自校准电路实现动态电压调整,可适应多种外部条件变化。
高度集成:集天线开关、射频巴伦、功率放大器、低噪声放大器、滤波器以及电源管理模块于一体,占用较小的PCB空间,外围器件需求少。
超低功耗:具备精细分辨时钟门控、省电模式和动态电压调整等低功耗设计,适用于移动设备和电池供电的物联网设备。
功能 :
处理器:配备Tensilica Xtensa 32位LX6双核处理器,运行频率可达160MHz或240MHz,具有较高的处理能力和多任务处理能力。
无线通信:支持Wi-Fi 802.11 b/g/ ...
PID算法入门
PID基本概念PID 控制器通过以下三部分组成调整行为:
比例控制(P):快速响应当前误差
根据误差的大小调整输出,误差越大,输出越强。
简单但可能存在偏差。
积分控制(I):消除长期误差
累计误差的总和,让输出逐渐补偿偏差。
微分控制(D):预测趋势减少震荡
根据误差变化的速度,平滑输出,避免过度反应。
PID基本原理
稳态误差
系统达到稳定后与目标值之间的偏差
历史误差
系统运行过程中误差的累积总和
超调
系统响应首次超过目标值的最大幅度
震荡
系统输出围绕目标值反复波动,未能稳定
P
Proportional Control
比例控制根据当前误差 e(t)e(t)e(t) 调整输出:
优点:快速响应当前误差,简单直观。
缺点:可能存在稳态误差,即系统到达目标附近但不能完全达到。
形象理解:像一个弹簧,偏离目标越远,弹簧拉力越大。
I
Integral Control
积分控制根据误差的累计值调整输出:
$$
$$
优点:消除稳态误差,确保系统最终达到目标值。
缺点:
积分饱和:如果误差持续存在,积分项的累积会无限增加,导致 ...
常见电源电路实现
实现目的
熟悉常见电源电路的设计
设计自己的电源电路
改进自己的设计
分类
AC-DC220v–>5v
选用反激拓扑结构
用于低于100瓦的功率输出
220v–>12vDC-DC
软件工程导论
软件生存周期与软件过程
软件生存周期(Software Life Cycle):一个软件项目从问题提出开始,直到软件产品最终退役(废弃不用)为止。应该可以说是最早的软件工程概念。
分为三个时期:计划、开发和维护
verilog HDL basics
Verilog Language 基于HDLbits
Basics
bitwise and logical
bitwise-NOT (~) and logical-NOT (!)
Bitwise-NOT (~)
Operation: The bitwise-NOT operator performs a bitwise inversion on its operand. This means that each bit of the operand is flipped; 0 becomes 1 and 1 becomes 0.
Usage: It is used when you need to invert the bits of a binary number or a vector.
Logical-NOT (!)
Operation: The logical-NOT operator evaluates the logical value of its operand. It converts 0 to 1 and any non-zero value to 0.
Us ...
电子电路基础
随手记下一些不清楚的电子电路知识点
反应性原件L/R时间常数
描述电感电路(RL电路)中的一个重要参数,它表示电流达到其最终值的63.2%所需的时间。
L代表电感量(以亨利H为单位),R代表电阻值(以欧姆Ω为单位),因此L/R时间常数的单位是秒(s)。
在RL电路中,当施加一个电压时,电流不会立刻达到最大值,而是逐渐增加,达到最终稳定值。电流随时间的变化可以用指数函数描述,公式为:$$I(t)=Imax×(1−e^{-τ/t})$$其中:
I(t)I(t)I(t) 是时间 ttt 时刻的电流,
ImaxI_{\text{max}}Imax 是最终的最大电流值,
eee 是自然对数的底,
τ=LR\tau = \frac{L}{R}τ=RL 是时间常数。
当时间 t=τt = \taut=τ 时,电流 I(t)I(t)I(t) 达到最大值的约63.2%。在工程应用中,这个时间常数描述了电路响应的速度——L/R越大,电流建立的速度越慢。
CAN总线笔记
CAN总线
CAN(Controller Area Network)总线是一种串行通信协议,用于在汽车、工业自动化设备和物联网等嵌入式系统中实现设备之间的可靠数据传输。
主要特点多主架构:CAN总线采用多主通信方式,任何节点(即连接在总线上的设备)都可以在总线空闲时发起通信。这种设计提高了系统的灵活性和可靠性。
差分信号传输:CAN总线使用差分信号传输数据,即CAN_H和CAN_L两根信号线之间的电压差用来表示逻辑状态。这种方式能有效地降低电磁干扰的影响,适合在工业环境中使用。
优先级机制:CAN协议内置消息优先级,通过标识符的方式决定通信优先级,当两个或多个节点同时发送消息时,优先级高的节点可以继续发送,而优先级低的节点会自动延迟发送。这种机制保障了紧急消息能够优先传输。
高可靠性与数据完整性:CAN协议内置多种错误检测和纠正机制,如CRC校验、帧检测和ACK确认机制。通过这些机制,CAN总线能够及时检测和纠正数据传输过程中的错误,确保数据的准确性和可靠性。
硬件特性结构
每个设备通过CAN收发器挂载在CAN总线网络上
高速CAN使用闭环网络,CAN_H和CAN_L两端添加120Ω ...
WordPress建站速成
docker搭建wordpress1mkdir wordpress
1cd wordpress
1vim docker-compose.yml
123456789101112131415161718192021222324252627282930313233version: '3.8'services: wordpress: image: wordpress:latest container_name: wordpress_app depends_on: - db ports: - "80:80" environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_NAME: wordpress_db WORDPRESS_DB_USER: wordpress_user WORDPRESS_DB_PASSWORD: strong_password volumes: - wordpress_data: ...
STM32开发板绘制(首次使用嘉立创SMT)
一次点亮!! 以后引脚还是选择排针吧,排母不太稳定,烧录的时候可能会出现问题。
Nginx入门基础知识
最近Nginx部署用的多点,学过的tomcat仅仅适合用于java项目。
简介
开源的高性能 HTTP 服务器和反向代理服务器
IMAP/POP3 邮件代理服务器
特点
高并发处理能力
反向代理和负载均衡
动静分离
高效的静态文件服务
支持多种协议
反向代理反向代理充当客户端和后端服务器之间的中间层。它的作用是接收客户端的请求,转发给后端服务器处理,然后将处理结果返回给客户端。使用反向代理的主要目的是提高系统性能、安全性和可扩展性。Nginx 和 Apache 等服务器软件通常被配置为反向代理。
单个服务器使用反向代理可以用于分发请求、缓存静态资源、隐藏后端服务等
优势:
安全性:隐藏后端服务器的 IP,防止直接攻击。
可扩展性:在需要扩展时,可以在同一 Nginx 配置下代理多个应用或服务。
性能优化:通过缓存静态资源和 SSL 卸载,提升整体性能。
多个服务器使用反向代理后端服务器不需要直接连接互联网,只要它们和反向代理服务器(例如 Nginx)在同一个内网中。
优点
安全性
后端服务器的 IP 地址不会暴露在公网上,降低了受到外部攻击的风险。
可以通过 Nginx ...
分布式服务器基础知识
最近常常看到分布式这个词,好记性不如烂键盘,简单记录记录,并没有深入研究。
分布式服务器架构
分布式服务器架构是一种将服务和计算任务分散到多个服务器或节点上来处理的系统架构。
目的或者功能
提高系统的性能、可用性和扩展性。
适合应对高并发访问和海量数据处理的需求。
分布式架构的核心理念是将负载分摊到多个服务器上,避免单点故障(SPOF),并根据需求动态扩展。
分布式服务器架构的主要组成和常见设计模式主要组成1. 负载均衡层
功能:将用户请求分发到多个服务器节点,避免单个服务器过载。
实现方式:常用的负载均衡工具有硬件负载均衡(如 F5)和软件负载均衡(如 Nginx、HAProxy)。
常见策略:轮询、加权轮询、最小连接、IP 哈希等,选择最佳策略分发流量。
2. 应用服务层
功能:部署核心应用逻辑,如 Web 应用、API 服务、后端管理系统等。
架构模式
:微服务架构和单体架构。
微服务架构:将应用拆分为多个独立服务,每个服务独立部署和管理,便于扩展和更新。
单体架构:应用服务集中于一台服务器或一个容器内,适合小型系统。
技术栈:可以选择基于 Spring B ...
基于python的聊天脚本
用于学习tcp/ip协议的脚本。
目标:实现不同网络主机之间的通信
服务器一直运行,获取用户请求,转发客服消息。
类似mqtt协议分类为不同频道。
用户登录只需提供昵称。
物联网水控系统硬件部分
硬件部分实现记录
PCB&电路图esp32-wroom-32E下载电路
串口烧录
IO1(tx)&IO3(rx):与CH340C连接
自动烧录
烧录条件
原理图
CH340C
RXD & TXD 串口输入输出
D+ & D- USB 输入
VCC
Positive power input terminal, requires an external
0.1uF power decoupling capacitor.
去耦电容(Decoupling Capacitor)是电子电路设计中常用的一种电容,主要用于稳定电源电压,减少电源噪声和干扰,确保电路的正常工作。
V3
When the power supply voltage is 3.3V, connect
VCC to input the external power supply. When the
power supply voltage is 5V, connect an external
decoupling capacitor wit ...
民谣吉他即兴笔记
节奏型武器库
【【吉他就该这么玩】节奏太单调?学会它你能弹所有流行歌!扫弦&分解节奏型汇总 伴奏武器库】 https://www.bilibili.com/video/BV1Mp421977n/?share_source=copy_web&vd_source=7a16ec5db4e5a23503ea8070ff118363
分解和弦使用的和弦
节奏型
扫弦节奏型
计算机网络基础
本部分计算机网络笔记用于学习和应用。
TCP和UDP的区别
特性
TCP (传输控制协议)
UDP (用户数据报协议)
连接方式
面向连接
无连接
可靠性
提供可靠的数据传输,保证数据完整性
不保证数据的可靠性
流量控制
支持流量控制和拥塞控制
不支持流量控制
数据顺序
保证数据的顺序
不保证数据的顺序
速度
较慢,由于需要建立连接和确认
较快,没有建立连接的延迟
适用场景
适合需要可靠传输的应用,如网页、文件传输
适合实时应用,如视频会议、在线游戏
TCP数据包的结构
头部:通常为20字节,包含以下字段:
源端口(16位):发送端的端口号。
目的端口(16位):接收端的端口号。
序列号(32位):用于数据重组和控制。
确认号(32位):期望收到的下一个字节的序列号。
数据偏移(4位):头部长度。
保留位(6位):保留用于未来使用。
控制位(6位):包括URG、ACK、PSH、RST、SYN、FIN等,用于控制连接。
窗口大小(16位):流量控制中的窗口大小。
校验和(16位):用于检测传输中的错误。
紧急指针(16位):指示紧急数据的偏移量(如 ...
英文演讲
便于随时阅读1. speech from youtube
Today is my 40th birthday.0:02And if I could go back to talk to my younger 20 year old self0:06and give him some advice, here are 40 things that I would say.Make sure you are climbing the right mountain0:10Number one, make sure you are climbing the right mountain.0:14Too many of us are exhausted0:17because we are doing too little of the things that bring us joy0:20and are chasing someone else’s definition of success.0:23This is why it is far better to be climbing slo ...
计算机网络笔记
基于计算机网络第八版,用于考试。
概述
1983年,ARPANET采用TCP/IP,标志着互联网诞生
ISP 互联网服务提供者 ISP (Internet Service Provider)
IXP 互联网交换点,允许两个网络直接相连并快速交换分组。
常采用工作在数据链路层的网络交换机。
万维网 (World Wide Web, 简称 WWW) 全球性的信息空间,人们可以通过互联网访问和共享信息
互联网的组成网络协议三要素
语法
语义
同步
边缘部分
由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。
核心部分
由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。
边缘部分
端系统 用户直接使用的设备和应用程序,它们包括个人电脑、手机、服务器等终端设备,用于发送或接收数据。端系统通过网络传输数据,与其他设备通信,实现互联网服务的交互。
端系统中运行的程序之间的通信方式分为
客户服务器方式(C/S 方式)
客户 (clien ...
VUE前端项目笔记
项目地址:creativetimofficial/vue-black-dashboard: Vue Black Dashboard (github.com)
登录注册界面比较容易写,接下来试试登录后的管理界面以及展示界面。即 DashBoard
说是实战其实是消化理解一下大佬的项目。
看了一会才发现是纯前端,没有连接后端的代码。
i18n
i18n 是指在软件、应用程序或网站开发过程中,通过适当的设计和编程,使其能够方便地支持不同的语言、地区和文化规范,而无需对代码进行大量修改。i18n 是实现全球化(globalization,g11n)的重要组成部分。
使用项目接口为自己的项目服务123import Vue from 'vue';import DashboardPlugin from '@/plugins/blackDashboard'Vue.use(DashboardPlugin);
AXIOS基于 Promise 的 HTTP 客户端,可以用在浏览器和 Node.js 中。适合用于 Vue 项目中进行 API 请求。