小程序--搭建匿名聊天室
搭建一个匿名聊天室之前在鼓捣博客“评论区”的时候,弄过一个小程序,这次分享出来。在本篇文章中将介绍如何使用 Node.js 和Socket.IO 创建一个简单的匿名聊天室。聊天室将为每个用户生成唯一的 ID,并支持多人实时聊天。
技术选型
Node.js:后端运行时,用于搭建 Web 服务。
Express:轻量级 Web 框架,用于快速搭建 HTTP 服务。
Socket.IO:实现实时双向通信。
UUID:生成唯一用户 ID,确保用户在匿名环境下具有唯一标识
环境准备
node :v18.13.0
npm :v8.19.3
module 安装
123npm install express socket.ionpm install uuid
代码分析服务端代码:server.js
1234567891011121314151617181920212223242526272829303132333435const express = require('express');const http = require('http');const ...
STM32--sc8886芯片寄存器读写
sc8886芯片寄存器读写功能需求使用stm32f103芯片与sc8886通信,实现控制充电参数设置与充电状态监测。
硬件连接单片机I2c引脚选用 I2C1(PB6,PB7),sc8886硬件参考南芯官方文档
寄存器功能通过阅读sc8886的数据手册,可了解到I2C地址为0x6b,充电参数设置大致如下:
寄存器地址
功能
0x00
芯片控制信息
0x20
充电状态
0x02
充电电流设置
0x04
充电电压设置
0x0c
最小系统电压
0x06
OTG电压
0x08
OTG电流
0x0e
当前输入电流
0x0a
当前输入电压
0x34
芯片控制含复位寄存器
代码实现功能比较简单,直接贴代码。I2C接口
I2C 通讯地址扫描123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051uint8_t I2C_IsDeviceReady(I2C_TypeDef* I2Cx1, uint8_t address, ui ...
shell--批处理MP3文件
shell 案例批量处理处理MP3文件
场景网站中播放音乐使用的是Aplayer,在构建静态文件时,需要将音乐文件转换为JSON格式,才能在Aplayer中播放。如以下格式:
1234567{ "title": "前前前世", "author": "RADWIMPS", "url": "xxxx.mp3", "pic": "xxxx.jpg", "lrc": "xxxx.lrc"}
完整示例写法参考Linux–Hexo搭建与配置
我的歌单中存了几百首歌,肯定不可能自己全部手动转换,因此写了一个脚本,自动完成。最开始我的源文件都是以“作者-歌曲名”格式保存的,因此很容易根据名字提取。初始版本如下:
1234567891011121314151617181920212223242526272829303132333435363738394041 ...
Linux服务器--storcli使用
StorCLI 工具使用StorCLI 是用于管理和配置 RAID 控制器的命令行工具,支持 Broadcom(原 LSI)的 MegaRAID 和 SAS RAID 控制器。通过 StorCLI,用户可以查看控制器状态、管理虚拟驱动器和物理驱动器、执行固件更新等操作。
安装和运行下载StorCLI 可以从 Broadcom 的官网获取。下载适合您操作系统的版本(Linux、Windows 等)。
安装Linux: 下载后解压 .zip 文件,进入解压目录,运行:
12sudo cp storcli64 /usr/local/bin/sudo chmod +x /usr/local/bin/storcli64
Windows: 双击安装包,根据提示完成安装。
检查版本运行以下命令确认 StorCLI 安装成功:
1storcli64 -v
基本用法
查看控制器信息列出系统中的所有 RAID 控制器:
1storcli64 show
查看详细信息查看某个控制器的详细信息(假设编号为 0):
12storcli64 /c0 show
查看虚拟驱动器(VD)
1storcli ...
Linux驱动--rk628D
RK628DRK628D是瑞芯微全新推出的视频桥接芯片,支持丰富的显示接口,支持高分辨率大屏产品转换需求,RK628 分为 Display 通路和 HDMI IN 通路。628-for-all驱动用来移植。
For-All 版本驱动一样也分为Display 通路和 HDMI IN 通路,Display 通路的驱动于drivers/misc/rk628/下,HDMI IN 通路的驱动于drivers/media/i2c/rk628/下。
官方文档也有详细的文档,在 /Common/DISPLAY/RK628/ 目录下可以参考。
输入接口支持:HDMI、RGB、BT.1120
输出接口支持:HDMI、GVI、Dual LVDS、Dual MIPI、MIPI-CSI、RGB、BT.1120
以下是一个使用HDMI 转换成LVDS 的设备树配置。
设备树配置这是属于HDMI IN 通路的配置。
1234567891011121314151617181920212223242526272 ...
Linux驱动--PMIC_RK809
PMICPMIC(Power Management IC)又称电源管理IC,是一种特定用途的集成电路,其功能是为主系统作管理电源等工作。电源管理芯片一般包括几个部分,DC-DC(降压转换器);LDO(线性稳压器)
DCDC 和LDO 区别DCDC:输入电压范围较宽,响应必LDO较差LDO:稳定性好,负载不能太大,输入输出电压差不能太大
RK809 PMIC功能RK809 支持使用功能:
regulator 功能:控制各路 DCDC、LDO 电源状态;
rtc 功能:提供时钟计时、定时等功能;
gpio 功能:可当普通 gpio 使用,有pinctrl的功能;
pwrkey 功能:检测 power 按键的按下/释放,可以为 AP 节省一个 gpio;
clk 功能:有两个32.768KHZ时钟输出,一个不可以控常开,一个是软件可控;
codec 功能:采样率最高支持到192KHZ,支持16bit和32bit,支持DAC、ADC PDM等
RK809 集成 5 个大电流 DCDC、9 个 LDO、2 个 开关SWITCH、 1个RTC、1个 高性能CODEC。这些使用需要在d ...
Linux系统--Systemback备份镜像
Systemback 与备份镜像Systemback是一个简单的系统备份和恢复应用程序,支持创建系统和用户配置文件的备份;支持系统恢复到以前的状态;安装创建可启动 ISO 文件等功能
安装Systemback
低版本可以直接输入12345sudo add-apt-repository ppa:nemh/systemback sudo apt 更新 sudo apt install systemback
16.04版本以上可能会报错1E:存储库“http://ppa.launchpad.net/nemh/systemback/ubuntu bionic Release”没有发布文件。
所以先需要删除ppa
12sudo add-apt-repository --remove ppa:nemh/systemback
然后增加
123456sudo add-apt-repository "deb http://ppa.launchpad.net/nemh/systemback/ubuntu xenial main" sudo apt update sudo apt ...
通讯协议--PMbus数据格式转换
PMBusPMBus 是I2C通用协议之一,可用于测量和控制设备,如电源、风扇等。
本文针对PMBus 在传输数据时,使用的两种线性数据格式,即:Linear-11 和 Linear-16,数据格式如何转换进行介绍。
LINEAR11 Format通过官方文档解释,线性11格式的数据格式主要用于非输出电压,值 N 和 Y 形成一个 16 位值,通过总线发送
具体组成如下:
N代表2的多少次幂,一般为负数
Y则是传输数据的值乘以2的N次幂
注意点: N和Y都是补码
真实值X计算的公式是:
X = Y * 2^N。
这里补充下原码、反码、补码的概念:原码:原码是带符号位的,第1位为符号位,1表示负数,0表示正数反码:正数的反码是其本身,负数的反码是在其原码基础上符号位不变其余个位数取反补码:正数的补码是其本身,负数的补码是在其原码基础上符号位不变,其余个位数取反,再加1(反码+1)
举例:假如现在用N=-3,表示数据,传输电压数据为 X=12V,那么:N的取值计算,(5位二进制数表示):原码 -3 = 10011反码 -3 = 11100 ...