工程实践 · 持续记录
从真实问题出发的技术笔记
这里记录 Linux、Python、计算机视觉、嵌入式与物联网项目中的排错过程、实现方法和复盘。文章会尽量给出环境、命令和可复现步骤;旧内容也会持续勘误。
基于 dlib、EAR 与 PERCLOS 的实时疲劳检测|opencv-python-dlib-计算机视觉-疲劳检测这篇文章由我早期的疲劳检测项目文档整理而来。原文记录了人脸检测、关键点定位、眼睛长宽比和 PERCLOS 的基本流程;这里补充算法原理、参数含义、完整示例代码以及实际使用时容易踩到的问题。
本文实现的是一个便于理解和实验的视觉检测方案,不应替代车辆原厂安全系统、专业驾驶员监测设备或医学判断。
阅读更多
三轴加速度传感器可视化|python-arduio-esp32整体介绍
传感器
ADXL345是一款完整的3轴加速度测量系统,可选择的测量范围有±2 g,±4 g,±8 g或±16 g。既能测量运动或冲击导致的动态加速度,也能测量静止加速度,例如重力加速度,使得器件可作为倾斜传感器使用。该传感器为多晶硅表面微加工结构,置于晶圆顶部。由于应用加速度,多晶硅弹簧悬挂于晶圆表面的结构之上,提供力量阻力。差分电容由独立固定板和活动质量连接板组成,能对结构偏转进行测量。加速度使惯性质量偏转、差分电容失衡,从而传感器输出的幅度与加速度成正比。相敏 ...
阅读更多
使用Cloudflare和notion搭建自己的博客|博客-notion-Cloudflare
更新说明(2026-08-07):本文记录的是 2021 年的 Notion 博客方案,部分 Cloudflare 界面、脚本接口和旧域名已经失效。当前博客运行在 ximikang.com,请结合 Cloudflare 与 Notion 的最新官方文档操作。
使用Cloudflare和notion搭建自己的博客使用过Nation的小伙伴一定在某个时刻冒出过这样子的想法:这个笔记应用这么好用,而且是基于Web端开发的,那为什么不可以用他来作为我自己的博客呢?这样我是不是可以 ...
阅读更多
selenium性能优化|python-seleniumselenium性能优化当我们使用selenium制作爬虫或自动化测试时,往往会消耗更大的资源以及多余的等待页面资源加载时间。
大部分的优化手段都在options中进行设置
1234567891011chrome_options = Options()chrome_options.add_argument("--window-size=1920,1080")chrome_options.add_argument("--disable-extensions")chrome_op ...
阅读更多
windows发现linux中的samba服务|ubuntu-network-samba-windows-search0X0通常我们在windows上搭建samba(smb)服务,如果两台机子再同一个内网的话,并且都开机主机发现功能的话,两个主机是可以再网络中发现的,并且可以使用smb服务。但是通常我们linux中搭建的samba服务通常都是使用ip进行访问,如果是静态地址还好,可以获取到固定的ip,但是如果是动态地址的话,还必须使用ddns进行动态ip映射。
对于Windows 10版本1511以后的版本,默认情况下禁用对SMBv1的支持,因此NetBIOS设备发现被禁用。所以再ubunt ...
阅读更多
ubuntu18.04安装g++10|ubuntu-g++由于想使用c++20中最新的协程特性,这应该是最简单的安装方式,避免了编译的g++。
12345# 添加ppa库sudo add-apt-repository ppa:ubuntu-toolchain-r/test# 安装g++sudo apt install g++-10
阅读更多
ubuntu系统调节GPU风扇转速|ubuntu-GPU-风扇-fanubuntu系统调节GPU风扇转速查看NVIDIA GPU温度和转速1nvidia-smi
有桌面的ubuntu可以通过nvidia-settings进项图像化界面的设置。
无桌面ubuntu[headless linux server]使用coolgpus脚本进行调节
https://github.com/andyljones/coolgpus安装:使用pypi进行安装
1pip install coolgpus
使用用例:
123456789# 将gpu风扇转速设置 ...
阅读更多
vscode中docker插件无法连接|vscode-dockervscode中docker插件无法连接报错Failed to connect. Is Docker runningError: connect EACCES /var/run/docker.sock
原因分析原因是docker使用unix socket进行通讯,但是unix socket属于root用户,但是普通用户需要使用sudo才能开启root权限,但是普通的操作并没有root权限。
解决方案
使用root用户登录,但是安全性没有保障
普通用户增加到docker组中 12 ...
阅读更多