摄影作品
个人摄影作品鉴赏 自2022年7月21日,在家人的支持下购入相机索尼α6300已有近一年的时间。为了留存记忆,也是为了对个人摄影爱好的一个总结,特此在本博客开发此页面,以供个人与各位朋友欣赏与批评指正。
人像
包含了一些朋友和摄影活动上记录的
风景
一些风景,也有扫街和杂图嗷
猫
猫猫是世界上最可爱的
扫街
随手拍
Sky|影像
25中秋
包含了一些朋友和摄影活动上记录的
Epaper电纸屏
前言 板子使用的是Nice!nano,墨水屏使用的是中景园买的2.13寸墨水屏、2.9寸、4.2寸,开发仓库地址为:https://github.com/Dikle-OvO/E-Paper.
开发 使用了Aruino平台的env功能,支持一键根据对应的墨水屏尺寸编译对应的固件。微雪官网:https://www.waveshare.net/wiki/2.13inch_e-Paper_HAT_Manual。 对于2.13寸的屏幕,移植了它的两个驱动,分别是中景园提供的驱动和微雪电子的,前者用的是gpio软件模拟iic,后者对Arduino适配地很好,直接修改variant.cpp即可适配,并且原生适配局部刷新。 而2.9寸和4.2寸的屏幕不能够直接驱动,需要做一些更改,4.2寸的屏幕驱动为SSD1683。
图片取模 1. 图片取模使用的是行列式、高位取模(MSB),让gemini做了个小工具:https://gemini.google.com/share/7d6927e36 ...
2025|年终总结
平淡的一年 我的工作是在24年秋招找到的,一家车企的Tier1。回顾下来似乎其他年份更值得说道一些,23年拿到了电赛国二,24年的年中又和科协朋友们拿下了电赛邀请赛的国一,其实回看确实24年发生很多事情,25年只是24的一个结果。
之前呢 24年初开始准备考研,在墨墨背单词上把英一单词都背完了,到年尾中间夹杂着一堆事情,最后也是放弃了,三四月的时候开始做比赛相关的事情,我负责软件方面的事情,包括主程序Ui、图像识别模型训练和推理移植、opencv,眼肌电的判断CNN模型训练是丁做的。这一年没有调整好自己,甚至有点心脉受损,基本是郁郁寡欢的状态,还变成了悲观主义的怕白费力、怕失败被评价,于是直接退缩,但最终是浪费自己的机会成本
未来的规划 死亡不可忽视,就像游戏结算一样,有的人死重于泰山有人轻于鸿毛,同样的很多人都把结果视为经历的唯一作用。我运气好,在大学期间有点能说的成果于是我也是这样认为,最终导致虚无主义能够影响我的思维生活,悲观者正确,乐观者前行。只要还能有心力开始,我的可能性就不会归零。在新的一年里依然 ...
射频
前言 公司产品涉及相关方面,需加强了解。目前项目使用的射频芯片为ST25R501,开发板使用的为ST25R391b(模拟前端),自购的是nNRF52840。
物联网领域主流RTOS:Zephyr FreeRTOS 内核本身是与硬件无关的,可移植到不同架构,但它没有规定芯片厂商该如何实现外设驱动、中断管理、时钟配置等底层接口的规范,Zephyr 的优势在于内置了统一的 HAL 和驱动框架,并且包含蓝牙协议栈支持。
NRF52840 核心板使用的是nice!nano,支持蓝牙、NFC-A(只发送),它比较出名的是用于客制化键盘的构建,支持ZMK、BlueMicro固件,由于此芯片的SDK并不开源,所以并未适配QMK,否则会违反其GPL协议。 使用它进行开发,目前有三大环境:
nRF Connect SDK(NCS),vscode插件予以支持
Arduino
nRF5 SDK(已过时)
现使用Arduino框架,ini文件配置为:1234567[env:adafruit_f ...
BootLoader与OTA升级
前言 本文使用的工程环境为:CLion、CubeMX、STM32G431 一个量产产品,出厂时必定会关闭调试接口如SWD、JTAG(如提升RDP等级)以避免重要的程序泄露或被注入漏洞,但出厂后在它的全生命周期中仍有升级程序的需要,这就要求做好bootloader与OTA的工作。
BL:固件的完整性校验(CRC32、SHA256哈希),验权(RSA)、A/B分区切换
OTA:通过标准通信通道,如UART、BLE、CAN/LIN刷写固件
仓库地址:https://github.com/Dikle-OvO/BootLoaderTest
基础知识XIP机制 XIP(eXecute In Place,就地执行),是指CPU可以直接在存储介质如FLASH中取指的技术,这种技术在MCU中比较常见,通用Linux系统(包括内核、BL)几乎不会用到XIP,必须搬运到RAM,除非使用squashfs,XIP模式内核直接挂载读取,否则都要使用ram(Linux的页缓存机制,题外话:写入也有相关的机制, ...
记录|智能视觉人体追随
前言 本设计为本人的本科毕设,此文用于记录分享。相关设计指标如下:
设计主控电路及合适的底部运动结构;设计箱体的整体结构。
设计符合航空托运标准的USB接口的充电结构及电源电路的设计,并能够提供在0.5m/s的运行速度下3小时的续航。
设计跟随模块选择合适的跟随识别方案,要求能够设置保持跟随距离分别在50cm、100cm、200cm并且预设跟随值与实际测量距离值误差不高于15%。
选择合适的控制方法进行运动结构的驱动设计,要求设计时速可以达到0.15m/s~0.5m/s。
设计避障模块,可识别200cm内的障碍物,精度±2cm。
设计语音播报模块,当用户与行李箱距离超过300cm或超出30s无识别时发出红色LED灯并有声音警报声。
上位机/APP终端:
最终所有设计任务均已实现。
MaixCam MaixCam是sipeed于24年推出的一款嵌入式智能摄像头,具有强大的AI计算能力,本设计与AI相关的功能都运行在此平台上。 MaixCam支持两种开发方式:MaixVision与Mai ...
过程控制系统
前言 所使用的教材为机械工业出版社出版的《过程控制系统》,编者为王再英,刘淮霞,彭倩。书本涉及知识很全面,包括各种变送器,传感器等,本文仅对一些个人感兴趣的地方进行记录。
PID控制 PID计算是对误差$e$进行的,即$给定值SV$与$测量值PV$之间的偏差。模拟理论式如下:
输出值MV=\frac{1}{P}(e+\frac{1}{T}\int_{}^{} e\, dt+T_D\frac{d_e}{d_t})其中,P为比例度,区别于比例增益$K_p$,T为积分常数。 从过程控制学科的角度来说,经历了由模拟到数字的过程,如模拟的经典型号DDZ-Ⅲ,其电路分析在课本P76~85。数字电路理论推导在P89,主要涉及对模拟理论式的离散化以及采用实际微分运算(对传递函数进行反拉普拉斯变换后替换)。
PID的派生PI-D 即微分先行的PID控制算法,具体做法是将微分改为仅对测量值进行,而不是误差值,目的是消除微分冲击的影响。
I-PD 即比例微分先行,做法同上,可去除比例冲击。
前馈控 ...
韦东山Canmv|AIOT开发
前言 这是个委托,要求完成串口的配置。
预备 简单网络查询即可得知板子官方资料网站,得到资料下载网站。查阅硬件原理图即可得知所需UART串口的GPIO号,本次使用串口2,即TXD:44,RXD45,对照实际硬件原理图,得知TXD:5,RXD:7。
使用stty工具查询串口配置:123456/sys/kernel/config/usb_gadget/demo # stty -F /dev/ttyS2speed 9600 baud; line = 0;intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;-brkint -imaxbel
通过TTL转USB工具 ...
C/C++ | 构建
前言 最近在处理Linux交叉编译,多工程结合的问题,决定从头认真学一下构建工具Makefile、CMAKE,此文为记录,学习路径为gcc->Makeflie->CMAKE。
编译原理 首先,所有的文件本质上都是一串字符串,它的后缀只是方便人类,对计算机并不是那么重要(尤其是Linux),完整的编译过程如下:由上图易知主要有四个步骤:
预处理(*.i -E):进行字符段的替换,如include、define
编译(*.s -S):将文本文件翻译为汇编文件
汇编(*.o -C):将.s文件转化为可重定位目标程序(relocatable object program),或者说机器语言
链接(可执行文件):链接所有.o文件,产生最终的可执行文件
GCC GCC(GNU Compiler Collection),是一个开源编译软件集合,在官方手册中能看到其最权威的介绍。在Linux中,直接使用apt install gcc即可;而在Windows中,使用Mingw,其是GCC(GNU Compiler Colle ...









