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 ...
物联网水控系统硬件部分
硬件部分实现记录
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
TRANSCRIPT:
*Michael Norton – Social science researcher*
So I want to talk today about money and happiness, which are two things a lot of us spend a lot of our time thinking about, either trying to earn them or trying to increase them. And a lot of us resonate with this phrase, we see it in religions and self-help books: money can’t buy happiness. And I want to suggest today that, in fact, that’s wrong.
I’m at a business school, so that’s what we do. So that’s wrong, ...
计算机网络笔记
基于计算机网络第八版,用于考试。
概述
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 请求。
物联网水控系统
技术栈1. 软件系统
Flask+VUE+MySQL
Python脚本使用Mqtt协议传送命令以及数据
2. 硬件系统
esp8266连接WIFI以及MQ服务器
220v水泵
实现过程1. esp8266连接emqx服务器
CA认证关键代码
123456789101112131415// WiFi and MQTT client initializationBearSSL::WiFiClientSecure espClient;PubSubClient mqtt_client(espClient);// SSL certificate for MQTT broker// Load DigiCert Global Root G2, which is used by EMQX Public Broker: broker.emqx.iostatic const char ca_cert[]PROGMEM = R"EOF(-----BEGIN CERTIFICATE-----***********ca CRT***********-----END CERTIFICATE--- ...
高德API的使用
1. 获取当地天气等数据(基于web api)
实现方法
尝试使用现有的api,例如高德。
高德web api的使用
打开并注册高德开放平台
进入高德开发平台的控制台
创建web服务应用并获取 API Key
1https://restapi.amap.com/v3/weather/weatherInfo?city=110101&key=<用户key>
参数的选择
参数名
含义
规则说明
是否必须
缺省值
key
请求服务权限标识
用户在高德地图官网 申请 web 服务 API 类型 KEY
必填
无
city
城市编码
输入城市的 adcode,adcode 信息可参考 城市编码表
必填
无
extensions
气象类型
可选值:base/allbase:返回实况天气all:返回预报天气
可选
无
output
返回格式
可选值:JSON,XML
可选
JSON
返回案例结果,浦东新区为案例
123456789101112131415161718192021{ "status ...
物联网协议扫盲
MQTT(消息队列遥测传输协议) MQTT是轻量级的消息发布/订阅协议,设计用于资源受限的设备和低带宽、高延迟的网络环境。它已成为物联网领域的事实标准,广泛应用于智能家居、工业自动化等领域。
mqtt比较简单,算是我入门物联网使用的第一种方式(协议)。从搭建mqtt服务器,协议原理,连接方式以及mqtt上位机编写,通过实操都有了一定了解了。
MQTT服务器搭建(mosquitto) | Regen (regenm.github.io)
esp8266连接服务器(基于mosquitto的mqtt server) | Regen (regenm.github.io)
mqttSender | Regen (regenm.github.io)
CoAP(受限应用协议)
Coap(Constrained Application Protocol)
使用在资源受限的物联网设备上,
Coap协议特点
COAP协议网络传输层由TCP改为UDP。
它基于REST,server的资源地址和互联网一样也有类似url的格式,客户端同样有POST,GET,PUT,DELETE ...
《卡拉马佐夫兄弟》
《卡拉马佐夫兄弟》 初次阅读时是在高中借的同学的书,是上册。那时的理解能力,哲学素养还不够,那时看的时候只能些许感受到其中的魅力和震撼。但也足以吸引我看下去,可惜由于学业,课桌里的书籍也逐渐被试卷替代。
直到现在,才有时间来慢慢欣赏那些大家的作品。第二次见面是在图书馆里,两册大大的方方正正的,我单手勉强才能拿起一册,外观就足以解释这是一部厚重的经典了。
说实话看到这样两本厚厚的书籍,我有点没信心看完。可能是之前看到一半就弃了的《魔山》和《悲惨世界》留给我的后遗症吧。前者是每次看一会就会打瞌睡,后者能看下去主要情节但是觉得废话太多,于是有点对这种厚厚的书产生畏惧心理,害怕里面的那些大段的哲学发言。
但是《卡拉马佐夫》帮我打破了这个魔咒。只是可惜这部作品还未写完陀思妥耶夫斯基就先去世了。每次都能从德米特里,阿列克塞,伊万这些人物中找到自己的影子。那些描写如此真实,让我突然就对那些轻小说,那些清汤寡水失去了兴趣。
《卡拉马佐夫》和《罪与罚》真的太震撼了,为什么可以将人的复杂性写得这么真实!很多情况下别的小说的主角都是性格鲜明,但是妥氏笔下的人物就截然不同,具有人类的拧巴纠结 ...
《西线无战事》
《西线无战事》
written by 埃里希·玛丽亚·雷马克
“ 这本书既不是指控也不是忏悔,
更不是一次冒险 ,
因为对于那些面对死亡的人来说,
死亡不是一次冒险。
他试图讲述这样一代人—-
尽管他们逃过了炮弹,
却还是被战争摧毁了。”
这本书是在今年暑假回家前在图书馆借的。在回家的路上就读了一大半,读时有一种奇妙的感受。彼时彼刻我坐在有空调的高速列车上,世界上的其他地方还正发生着战乱。一想到我正读到保罗·博伊默在战壕中穿梭,执行侦查任务时,世界的另一端正发生着同样的事时心里就多了一些悲伤。
“我们才刚开始热爱生活,却不得不对这一切开炮。”
“他们仍在继续写文章,发表演说,而我们却已经看到了野战医院和死亡;他们依旧在说对国家的责任是头等大事,而我们却已经知道死亡的剧痛比以前更为强烈了。尽管这样,我们绝不做叛乱者,绝不做逃兵,也绝不做懦夫——这些词,他们原是随便使用的——我们跟他们一样热爱我们的祖国,我们英勇地参加每一次进攻,但我们还会辨别是非,我们一下子学会了观察问题。于是,我们看到,他们的那个世界已经荡然无存。我们突然觉得孤独得可怕,而又必须一直孤独下去。”
Flask+Vue+MySQL 小型项目实战
项目简介项目内容简介
搭建一个博客管理平台。
部署到我的服务器。以便将来我不再需要在本地进行一系列操作例如:
123456git pull git push hexo new " pages" hexo generate hexo s hexo deploy
同时还有博客文件备份的作用,预防电脑出事后的一系列恢复操作。
以及一些数据查询操作。
登录界面
管理界面
技术简介SpringBoot+vue+mysql项目实训结束后想试试别的web框架,发现有个轻量级的框架Flask+Vue+SQLite,我这里没安装SQLlite,于是使用MySQL进行替代。
MySQL和SQLite的区别
类型:
MySQL: 是一个完整的客户端/服务器数据库管理系统,支持多用户访问,适用于大型和中型应用程序,具有高性能和可扩展性。
SQLite: 是一个轻量级的嵌入式数据库引擎,它不需要一个独立的服务器进程或配置,可以直接访问普通的数据库文件。
部署和配置:
MySQL: 需要独立的服务器进程,可以在不同的操作系统上安装,需要配置和管理。
SQLi ...
SpringBoot+vue+mysql项目实训
常见的项目类型以及优缺点和应用范围
Spring Boot + Vue + MySQL
优点
强大的后端支持:
Spring Boot 提供了成熟的后端框架和丰富的生态系统,包括依赖注入、数据访问、事务管理等功能,适合构建复杂的企业级应用。
灵活的前端开发:
Vue 是一个轻量级的前端框架,易于学习和上手,具有响应式数据绑定和组件化开发的优势,适合构建动态且高效的用户界面。
可靠的数据库:
MySQL 是一个广泛使用的开源关系型数据库管理系统,具有稳定性高、性能优越、支持大规模并发访问等特点,适合各种规模的应用。
全栈开发一体化:
Spring Boot + Vue 的组合使得开发人员可以使用相似的语言和工具栈进行全栈开发,提高了开发效率和团队协作。
社区支持和文档丰富:
Spring Boot 和 Vue 都拥有庞大的社区和丰富的文档资源,开发过程中能够快速获取到解决方案和技术支持。
缺点
复杂的配置和学习曲线:
Spring Boot 的配置和依赖管理相对复杂,需要一定的学习成本和经验来优化和调整项目。
Vue 虽然易于上手,但在复杂的单页应用中,需要深入理解 ...
塘下公路片
比起繁华的钢铁丛林,我还是性本爱丘山。在塘下公路骑行是一种很奇妙的体验,就好步入桃花源记,在一群群高楼大厦中站立的两排密集的大树,让长久受到屏幕自己的眼镜也得到了放松。
自从知道了塘下公路以后,我再没去过别的地方骑行。每次骑行都很兴奋,有时感觉回到了家乡,有时感觉在国外一般。真的很喜欢这条路两边的树。恰到好处的遮了大半边天空,只留下一条光路延伸到远方。
在路边发现了一只孤独的椅子,白色的墙与周围有稍许违和感,有一种很清新的感觉,同时还有一种苔痕上阶绿,草色入帘青的感觉。
这应该就是治愈内耗的良药了吧。
苏州行
平江路苏州->平江路。 初见时是辰时,庆幸自己通宵到五点后直奔平江路。若是晚一两个时辰则是截然不同的人山人海。 此时摇船还未开始 河面平静,水波不兴.阳光刚开始洒入这条小街.江南古街的倒影跃然水面,沿着主街直走,我的眼光全在黑白灰的建筑与绿色的树木和蓝色的天空和水面之间游走.这时的平江路尚未被外人所打搅,几对老翁坐在河旁的藤椅上,借着尚不刺眼的阳光看报,一切都显得与背景和谐。 一个时辰不到这条小街就变得喧闹与繁忙.越来越多的女性穿着汉服,涌入这条小巷,或摆拍撒骄,或漫步于河边桥头.刚开始紧闭大门的店铺也逐渐开张,宁静典雅的小巷也就逐渐消失。 我庆幸自己看到了平江路的本原面貌,也看到了她浓妆粉饰后的面貌.但我总觉得少了些东西,可能是恋人或朋友吧.下次带本散文书好了。
STM32 SPI with 0.96 OLED
SPI协议基本介绍点击跳转
SPI有主、从两种模式,通常由一个主模块和一个或多个从模块组成(SPI不支持多主机),主模块选择一个从模块进行同步通信,从而完成数据的交换。提供时钟的为主设备(Master),接收时钟的设备为从设备(Slave),SPI接口的读写操作,都是由主设备发起,当存在多个从设备时,通过各自的片选信号进行管理。
引脚定义
MISO( Master Input Slave Output):主设备数据输入,从设备数据输出;
MOSI(Master Output Slave Input):主设备数据输出,从设备数据输入;
SCLK(Serial Clock):时钟信号,由主设备产生;
CS/SS(Chip Select/Slave Select):从设备使能信号,由主设备控制,一主多从时,CS/SS是从芯片是否被主芯片选中的控制信号,只有片选信号为预先规定的使能信号时(高电位或低电位),主芯片对此从芯片的操作才有效。
通信原理SPI主设备和从设备都有一个串行移位寄存器,一次传输为8位。
通信流程
主设备发起信号,将CS/SS拉低 ...
MPU6050 basic (based on arduino)
MPU6050简介The MPU-6050 is the world’s first and only 6-axis motion tracking devices designed for the low power, low cost, and high performance requirements of smartphones, tablets and wearable sensors.
应用领域
BlurFree™ technology (for Video/Still Image Stabilization)
AirSign™ technology (for Security/Authentication)
TouchAnywhere™ technology (for “no touch” UI Application Control/Navigation)
MotionCommand™ technology (for Gesture Short-cuts)
Motion-enabled game and application fram ...