STM32 PROJECT keyboard
之前就有使用别烧好的MCU来进行键盘客制化,始终觉得不得劲。仅仅只是设计了键位PCB和外观,虽然也学到了点东西,但是我就是不爽啊。有一种核心技术自己没掌握的感觉。
新坑_STM32_KEYBOARD 开始!
二话不说就弃坑了一段时间。。。
直接上手STM32有些难了点,先用了别人的方案试试先。基于 sayo monkey board的键盘
Layout基于网站[keyboard-layout-editor](Keyboard Layout Editor (keyboard-layout-editor.com))设计,同时使用Plate & Case Builder - swillkb)导出DXF。
PCB设计 其实很简单,就是模块套模块,画一下 板子的封装即可。
外壳设计 只是简单的用亚克力打的,CAD还不是很会用。
RUST basic
RUST简介优点内存安全性:
Rust 提供了内存安全的保证,通过所有权系统、借用检查器和生命周期检查器,可以在编译时捕获大多数常见的内存安全问题,如空指针解引用、数据竞争等。
并发安全性:
Rust 的所有权和借用系统使得编写并发程序更加容易和安全。它通过编译时检查来避免数据竞争和多线程错误,使得编写并行代码更加可靠。
性能:
Rust 允许开发者获得接近底层语言(如 C 和 C++)的性能,因为它提供了对内存和并发的细粒度控制,同时不需要牺牲安全性和抽象性。
表达能力:
Rust 具有功能强大的类型系统和模式匹配功能,使得开发者可以以一种清晰、灵活的方式表达复杂的数据结构和逻辑。
资源管理:
Rust 的所有权模型允许开发者在编写代码时显式地管理资源,避免了像内存泄漏和使用后释放的问题。它还通过 RAII(资源获取即初始化)模式自动管理资源生命周期。
生态系统:
虽然相对较年轻,但 Rust 生态系统不断壮大,拥有丰富的库和工具,支持各种应用场景,从嵌入式系统到网络服务都有涉及。
跨平台性:
Rust 具有良好的跨平台支持,可以轻松地在各种操 ...
Raspberry Pi
嘿嘿开新坑!(目前基于python) 早就久仰树莓派大名,奈何前两年芯片减产导致树莓派价格居高不下,甚至翻倍。现在终于降下来了,于是斥巨资买了一块3B前来学习。本篇Blog用于记录我的探索历程。
目前打算先使用python进行学习,待到有一定理解之后再使用C。
1. 装系统! 要什么桌面环境,直接上命令行!
2.联网-WIFI
方法一:使用系统工具
1sudo raspi-config
选择系统选项,地区之后就可以通过ssid和pask进行联网
再使用ifconfig查看是否连接成功(会分配新的 ip 地址)
方法二:使用系统配置/etc/
12345678910# 一开始没有VIMsudo nano /etc/wpa_supplicant/wpa_supplicant.conf# add network={ ssid="ssid_name" key_mgmt=WPA-PSK psk="password"}
3. 创建新用户并授权 总不能一直用root吧,qwq ...
PCB Technique
PCB Technique 本篇课程基于B站UP主Expert电子实验室的教学视频,同时加上本人思考与总结汇总而成。
零基础入门PCB设计保姆级教学
Expert电子实验室
本部分笔记为扫盲篇(基础篇)
==进阶需实战,纸上得来终觉浅,绝知此事要躬行。==
1. 电路设计1.1 原理图四要素
元件符号
连接线
结点
注释
1.2 基本原件介绍1.2.1 电阻
对于贴片电阻的读数
1)3位读数:前2位为有效数字,第3位表示10的n次幂(也可以理解为0的个数)。精度为±5%
2)4位读数:前3位为有效数字,第4位表示10的n次幂(也可以理解为0的个数)。读法和3位的原理一样,精度为±1%
3)阻值小于10的读数:通常在两个数之间插入一个字母R,用字母R来代替小数点
1.2.2 电容
主要功能:储能和滤波
单位计算
1uF=1000nF;1nF=1000pF
分类
读数以及含义
1.2.3 电感 Inductor,
单位换算
1H=1000mH;1mH=1000uH;
主要功能:滤波,扼流, ...
Operating System Principles
==操作系统原理==
1.操作系统概论2.操作系统接口用户与操作系统接口的分类
用户接口 提供给用户使用,通过该接口取得操作系统的服务。
程序接口 提供给程序员使用,用户程序使用系统服务的唯一途径
用户接口(操作接口)
联机用户接口(交互式)
脱机用户接口(批处理 )
联机用户接口(交互式)
字符显示式联机用户接口
命令行方式:shell 语言
批命令方式:.sh
图形化联机用户接口
GUI :包括窗口,图标,菜单,鼠标和面向对象技术
脱机用户接口(批处理 )由一组作业控制语言组成。
作业:一次应用业务处理中,从输入开始到输入结束。用户要求计算机所做工作的集合。
作业步:作业加工处理的技术
作业分类:脱机作业,联机作业。
作业I/O方式:联机IO,脱机IO,SpooLing方式
系统调用系统调用(System Call),提供了用户程序和操作系统之间的接口。用户不能直接调用,但是用户程序可以。
作业
作业:在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做工作的集合。
作业步:作业加工处理的步 ...
Computer Composition Principle
计算机组成原理
==HIghLIght ==
计算机系统概论计算机基本组成冯诺依曼计算机
特点
五大部件:运算器(ALU),控制器(CU),存储器(MEM),输入输出(I/O)
指令与数据同等地位存储与存储器
使用二进制
指令由操作码和地址码组成
指令在存储器内顺序存放
以运算器为中心(现代计算以存储器为中心)
计算机工作过程存储器的基本组成
存储体:由存储单元组成(存储单元由存储原件组成,存储原件存储0和1)
存储字:存储单元中的二进制代码组合(?)
存储字长:
MAR:存储器的地址寄存器
MDR:存储器的数据寄存器
运算器的基本组成以及操作过程
ACC: 被加数,被减数,乘积高位,被除数,余数
ALU(算术逻辑单元):
MQ: 乘数,乘积低位
控制器的基本组成
CU:控制单元
IR:指令寄存器
PC:程序计数器
计算机硬件的主要技术指标
机器字长 CPU一次能处理的数据位数与ALU中的寄存器位数有关
运算速度
MIP(Million Instructions Per Second)
表示每 ...
Database Principles
数据库原理1.数据库概论数据库以及相关概念
数据(data):信息的表现形式和载体。
数据库(database):长期存储在计算机内,有组织的,统一管理的相关数据的集合。
数据库管理系统(DBMS):位于用户与操作系统逐之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立,查询,更新及各种数据控制。
数据库系统(DBS):采用数据库技术的计算机系统。
数据库技术:研究数据库结构,存储设计管理和使用的一门软件学科。
高级数据库阶段对象数据库技术
面向对象与数据库技术结合的产物
主要特征
可以完整的描述现实数据结构,以及数据之间嵌套递归的联系。
具有封装性和继承性,提高了软件的可重用性
分布式数据库系统
主要特征:
数据物理上分布在不同场地,逻辑上是一个整体 。
每个场地可以执行局部应用,也可以执行全部应用3.。 各地计算机由数据通信网络联系,本地计算机不能完成的任务可以通过通信网络获取其他场地支持。
开放数据库互联技术
用于单个应用程序访问不同的数据库
XML数据库技术
灵活
现代信息集成技术
数据仓库
连及分析处理技术
数据挖掘
数 ...
PHOTO
说走就走(南昌) 去完南昌回来之后几天。想了想,果然还是想记下来当时间胶囊。
回家那一刻我就知道了2024的寒假注定是灰色的,看到最近天气15日阴天,以及温度逐渐下降甚至出现下雪的时候,我心情是复杂的。
上学期因荒废暑假后在学期中越想越痛,于是就发誓要好好利用寒假出去逛一逛,看看不同城市的风景。看到这天气后就有点挫伤。
于是就怀着这越来越渺茫的希望,打了把又一把游戏。
时机已到!那天下午,澡后我感到十分清爽,应该是内啡肽的作用。恰巧温度回升,下午的太阳也很舒服,就是现在!出发!
然而刚到市里就开始下雨了。。。。。。我还没带伞,包里就一个没电的相机和一本书。(《杀死一只知更鸟》英文原著)
好在火车上比较舒服,看看书,打了个盹就到了。刚好看完前半部分。看到了高中时期最喜欢的一段。
我想让你见识一下什么是真正的勇敢,而不要错误地认为一个人手握枪支就是勇敢。勇敢是:当你还未开始就已知道自己会输,可你依然要去做,而且无论如何都要把它坚持到底。你很少能贏,但有时也会。杜博斯太太赢了,用她那仅仅九十八磅重的身躯。按照她的观点,她死得无怨无悔,不欠任何人,也不依赖任何东 ...
《流星之绊》
《流星之绊》 一直想看看短篇小说,想要重新体验一下过去一次性读完一本短篇的感觉(吃快餐…嘘!)。于是就立马想到了东野圭吾和村上春树。
偶然发现原来我还有很多没看过的东野圭吾的作品。其中就有这本《流星之绊》,只消半个夜晚就看毕了,关上ipad,躺在床上,他们三兄妹以及他们的故事在脑海里不断重现。
“我们三人就像流星,毫无目标地飞逝,不知将在何处燃烧殆尽。”
看完后感觉剧情挺一般的,好像这本书少了点东野圭吾的味道了。如果是换做以前的我,大概会觉得这本书挺温暖的,至少就结局来说。也许我真的已经长大了,已经不在相信书里的奇迹了或者说已经不太习惯大团圆结局了。
看的时候就觉得这个剧情很适合拍成电视剧供像我一样百无聊赖的人群观看,第二天一查,没想到真的有日剧,而且好像日剧的受众还更广一点。
流星之绊啊,我一开始其实是理解为像流星一样转瞬即逝的羁绊,后来才知道是一起约定看流星的羁绊。虽然流星易逝,但是观看流星的他们之间的羁绊却被永远铭记。
“
然而最美的流星永远是第一次映入眼帘的那颗“第一次”给人的永恒美是人们对“纯真”最后的忠诚流星雨那年也因狮子座流星雨二更而起无数渴望的眼 ...
docker容器技术
constructing
toBeContinued
简介
docker是一个用Go语言实现的开源项目,可以让我们方便的创建和使用容器,docker将程序以及程序所有的依赖都打包到docker container,这样你的程序可以在任何环境都会有一致的表现,这里程序运行的依赖也就是容器就好比集装箱,容器所处的操作系统环境就好比货船或港口,程序的表现只和集装箱有关系(容器),和集装箱放在哪个货船或者哪个港口(操作系统)没有关系。
因此我们可以看到docker可以屏蔽环境差异,也就是说,只要你的程序打包到了docker中,那么无论运行在什么环境下程序的行为都是一致的,程序员再也无法施展表演才华了,不会再有“在我的环境上可以运行”,真正实现“build once, run everywhere”。
概念 docker 中的几个概念:
dockerfile
image
container
dockerfile Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。感觉就像makefile一样。
image Dock ...
MQTT服务器搭建(mosquitto)
MQTT服务器搭建(mosquitto)0.简介
简介
MQTT也称为”消息代理”(Broker)。
MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。
原理
MQTT协议原理MQTT协议实现方式实现MQTT协议需要客户端和服务器端通讯完成,在通讯过程中,MQTT协议中有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。
MQTT传输的消息分为:主题(Topic)和负载(payload)两部分:
(1)Topic,可以理解为消息的类型,订阅者订阅(Subscribe)后,就会收到该主题的消息内容(payload)
(2)payload,可以理解为消息的内容,是指订阅者具体要使用的内容。
...
esp8266连接服务器(基于mosquitto的mqtt server)
Time:2024-02-09 00:39:50
还挺兴奋的,这个项目算是我自己搭建云服务器的最后一步。
idea 起因是想要自己搭建云服务器,同时还想要利用手上已经有的esp8266开发板实现对该服务器的远程控制(开关机)。
本来打算整一个备用电源给服务器供电,奈何这台服务器是普通PC,即使配置已经很低(与现代PC比较为拉胯,但是比大多数出售的服务器例如某云2核4g更加)但功耗的保守估计已经超过70w。
于是便打算使用远程开关降低平均功耗。同时进行物联网方面知识的扫盲与学习。
过程1.前期准备 首先,在已经搭建好的mqtt服务器上创建了用户user和密码passwd,同时处于安全性考虑禁止匿名访问。配置mqtt服务器的过程)
创建好测试主题(topic)test后进行测试。多平台测试收发message没问题。
2.中期打BOSS 接下来就是攻克esp8266这边的问题了。
问题一:esp8266开发环境
由于这块esp8266开发板是我在高中时期玩的,那时候的电脑早已坏掉,这台电脑的arduinoIDE 还未配置esp8266的环境。
本来打算使 ...
模拟电子技术基础
模拟电子技术基础1.半导体器件
本征半导体:纯净,具有晶体结构的半导体
N型半导体:negative,掺入5价元素,多一个电子。
P型半导体:positive,掺入3价元素,少一个电子。
PN结:将P型半导体和N型半导体制作在同一硅片上,交界处形成PN结。
空间电荷区:PN结交接处区域的复合。也称为耗尽层。
1.PN结1.PN结的伏安特性
反向击穿
齐纳击穿:在高掺杂,耗尽层宽度窄的情况下,较低的反向电压即可击穿
雪崩击穿:在低掺杂,耗尽层宽度宽的情况下,较高的反向电压可击穿
2.PN结的电容效应
势垒电容
当PN结的反向电压变化时,空间电荷区的宽度随之变化,耗尽层电荷变化,导致等效电容变化。
2.二极管1.伏安特性
同PN结的对比
单向导电性
二极管存在半导体体电阻和引线电阻(同电压下正向电压更小)
表面漏电流(反向电流更大)。漏电流(当施加反向电压时,电流仍然流过器件)
2.不同材料二极管的对比
材料
开启电压
导通电压
反向饱和电流
硅
0.5
0.6-0.8
<0/1
锗
0.1
0.1-0.3
几十
3.温度的影响 ...
常见通信协议以及通信方式
常用的通信方式1. 串行和并行通信
串行通信优缺点
优点:
1. 占用资源少(只需一根线)
缺点:
1. 传输速率慢
并行通信优缺点
优点:
1. 传输速率快
缺点:
1. 占用资源多(多根线同时使用)
2. 同步和异步通信1.概念
同步通信
同步通信: 发送端在发送串行数据的同时,提供一个时钟信号,并按照一定的约定(例如:在时钟信号的上升沿的时候,将数据发送出去)发送数据,接收端根据发送端提供的时钟信号,以及大家的约定,接收数据。如:I2C、SPI等有时钟信号的协议,都属于这种通信方式。
异步通信
异步通信: 接收方并不知道数据什么时候会到达,收发双方可以有各自自己的时钟。发送方发送的时间间隔可以不均,接收方是在数据的起始位和停止位的帮助下实现信息同步的。这种传输通常是很小的分组,比如:一个字符为一组,数据组配备起始位和结束位。所以这种传输方式的效率是比较低的,因为额外加入了很多的辅助位作为负载,常用在低速的传输中。
2. 比较
同步通信要求接收端时钟频率和发送端时钟频率一致,发送端发送连续的比特流;异步通信时不要求接收端时钟和发送端时钟同 ...