DSM 升级至 7.0 之后,很多第三方套件不兼容了。

SynoCommunity 上给出了各套件的适配情况:

issue #4524: https://github.com/SynoCommunity/spksrc/issues/4524

zsh 也在其中,已经可以 build 了,但是还没正式发布。

我试着自己编译一下。

CPU 架构

我的群晖是DS218+,CPU 是Intel Celeron J3355,架构是 apollolake(x64).

这里可以查:

https://github.com/SynoCommunity/spksrc/wiki/Architecture-per-Synology-model

https://kb.synology.com/en-us/DSM/tutorial/What_kind_of_CPU_does_my_NAS_have

阅读全文 »

一、WSL 安装 Ubuntu20.04

  1. Win10 启用 WSL

管理员身份运行:

1
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

重启电脑。

开启虚拟器特性

1
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

下载安装包:

设置默认版本:

1
wsl --set-default-version 2

ref: https://docs.microsoft.com/en-us/windows/wsl/install-win10

  1. 打开 Microsoft Store,安装 Ubuntu20.04

  2. 启动 Ubuntu20.04,创建账号、密码

  3. 安装 Windows Terminal(可选)

用 scoop 安装。

1
scoop install windows-terminal

windows-terminal 简单设置:

  • 启动目录: //wsl$/Ubuntu-20.04//home/bo
  • 字体: Jetbrains Mono
  1. 设置源,更新(可选)
阅读全文 »

ffmpeg 使用说明

查看使用说明:ffmpeg -h

1
2
3
4
5
6
# usage: 
ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

# options:
-ab: -ab bitrate audio bitrate (please use -b:a)
-y: overwrite output files

转换命令如下:

1
ffmpeg -i xxx.flac -ab 320k xxx.mp3 -y'

这次我们用到的主要是 -ab 命令,用来指定音频转换的比特率,常见的有: 192K, 320K 等。

阅读全文 »

视频内字幕提取

这里是针对内封了硬字幕的视频,字幕已经成为了画面的一部分。

思路:简单用 opencv 提取视频内的所有帧,然后用 tesseract 对图片进行 ocr 识别。

目前的效率较低、准确度也一般,凑合用。

0. 首先需要配置一下

0.1 安装 python 库

  • python-opencv
  • pytesseract
  • scikit-image

0.2 安装 tesseract 软件,下载训练好的语言包

  • tesseract 软件可以用 scoop 安装:
    1
    scoop install tesseract
  • tesseract 训练好的语言包

帮助文档: https://tesseract-ocr.github.io/tessdoc/

官方体提供了三种训练好的模型:

  • tessdata
  • tessdata_best
  • tessdata_fast

我们这里选择 tessdata_fast

阅读全文 »

1. GMiner 说明

ref: https://github.com/develsoftware/GMinerRelease

  • 1.1 下载 gminer_2_XX_windows64.zip, 解压后目录如下:
1
2
3
4
5
6
├───miner.exe            # 主程序
├───mine_aeternity.bat # 快捷脚本
├───...
├───readme.txt # 说明文档
├───sample_config.txt # 配置文件

  • 1.2 参数设置说明

以在 火币矿池以太币 为例,

https://pool.huobi.pe/pow/help/3/all

主要参数如下:

1
2
3
4
--algo:     算法,可省略; 对于以太币,默认 ethash
--server: 矿池地址; 这里填写的是火币矿池
--user: 火币矿池的子账户名;注意不是钱包地址,也不是邮箱号
...
  • 1.3 使用方法( 直接命令行运行 )
1
./miner --algo ethash --server stratum+tcp://es.huobipool.com:1800 --user shenyoyo0706

也可以用配置文件运行, 或用快捷脚本运行, 参数设置方法是一样的。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Sample configuration file to mine BitcoinGold
# options has same names as command line arguments
# you can access to environment variables by %variable_name%
# run "miner --config sample_config.txt"

[common]
algo=ethash
templimit=80
color=1
api=10555
logfile=miner.log
log_date=1
log_newjob=0

# Main pool
[server]
host=es.huobipool.com
port=1800
user=shenyoyo0706
pass=x
阅读全文 »

ref: (https://github.com/ScoopInstaller/Scoop)

1. 安装 scoop

1.1 安装 PowerShell 5.0 以上版本

1.2 以当前Win账户运行PowerShell

1
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

1.3 安装 scoop

1
2
irm get.scoop.sh | iex

1
2
3
4
5
6
7
8
cd ~
curl -o scoop_install.ps1 https://ghproxy.net/https://raw.githubusercontent.com/ScoopInstaller/install/master/install.ps1

# 修改 `scoop_install.ps1` 内容:
(Get-Content scoop_install.ps1).replace('https://github.com/ScoopInstaller/', 'https://ghproxy.net/https://github.com/ScoopInstaller/') | Set-Content scoop_install.ps1

# 安装
.\scoop_install.ps1

使用默认安装时经常卡住,是因为 https://get.scoop.sh 其实指向了 https://raw.githubusercontent.com/,因而导致安装失败。

对应的安装文件在这里: https://github.com/ScoopInstaller/Install/blob/master/install.ps1

1.4 可用的镜像源

阅读全文 »

1.安装

以scoop安装oh-my-posh3。

1
scoop install oh-my-posh

2. 配置文件

新建、修改配置文件,运行:

1
2
if (!(Test-Path -Path $PROFILE )) { New-Item -Type File -Path $PROFILE -Force }
code $PROFILE

加入以下内容:

1
2
3
4
5

chcp 65001
Set-PSReadLineOption -PredictionSource History

oh-my-posh init pwsh --config ~\scoop\persist\oh-my-posh\themes\yo.omp.json | Invoke-Expression

ref: https://ohmyposh.dev/docs/installation

阅读全文 »

caj2pdf:将知网caj文件转换为pdf

https://github.com/caj2pdf/caj2pdf/

使用

1. 环境和依赖(win10)

2. 官方用法

阅读全文 »

一、WSL 安装 Ubuntu18.04

  1. Win10 启用 WSL

管理员身份运行:

1
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

重启电脑。

  1. 打开 Microsoft Store,安装 Ubuntu18.04

  2. 启动 Ubuntu18.04,创建账号、密码

  3. 安装 Windows Terminal(可选)

用 scoop 安装。

1
scoop install windows-terminal

windows-terminal 简单设置:字体、启动目录。

1
2
3
4
5
6
7
8
9
10
{
"guid": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
"hidden": false,
"fontFace": "Jetbrains Mono",
"fontSize": 11,
"name": "Ubuntu-18.04",
"source": "Windows.Terminal.Wsl",
"startingDirectory": "//wsl$/Ubuntu-18.04//home/bo",

}
  1. 设置源,更新(可选)
阅读全文 »

1. 1602a LCD屏

  • 接线端子表:
序号 LCD屏 16PIN 树莓派 40PIN 物理序号 备注
1 VSS 06 GND
2 VDD 02 5V
3 V0 电位器 对比度,0-5V
4 RS 08 GPIO-14
5 RW 06 写模式:接地
6 EN 10 GPIO-15
7 D0 -
8 D1 -
9 D2 -
10 D3 -
11 D4 11 GPIO-17
12 D5 12 GPIO-18
13 D6 13 GPIO-27
14 D7 15 GPIO-22
15 A 串约500Ω电阻后接02 背光正
16 K 06 背光负
阅读全文 »

1. 墨水屏

  • 型号:微雪 2.9inch e-Paper Module, 带驱动板,8PIN

  • 工作电压:3.3V/5V

  • 通信接口:SPI

  • 分辨率:296 x 128

  • 显示颜色:黑、白

  • 局部刷新:0.3s

  • 全局刷新 :2s

  • 接线表:

墨水屏 8PIN 树莓派 40PIN 物理序号 备注
VCC 1 3.3V
GND 6 GND
DIN 19
CLK 23
CS 24
DC 22
RST 11
BUSY 18
阅读全文 »

之前用的小米路由3,小两房勉强够用。

搬到新家之后就明显不给力了。

户型图

新家的户型:

交付时的布线:

房间 网口
弱电箱-客厅前墙(电视) 网线 + 有线电视同轴线
弱电箱-客厅后墙 网线 + 电话线
弱电箱-主卧 网线 + 电话线
弱电箱-次卧 网线 + 电话线
弱电箱-书房 网线 + 电话线
弱电箱-卫生间 电话线
  • 网线和有线电视/电话线都是两根线同走一个穿线管
  • 电话线其实也是8芯网线,只不过接口是电话接口
阅读全文 »

0. 安装 tflite-runtime

ref: https://tensorflow.google.cn/lite/guide/python

1
pip3 install https://dl.google.com/coral/python/tflite_runtime-2.1.0.post1-cp37-cp37m-linux_armv7l.whl

1. tensorflow官方示例

tensorflow 提供了一个示例, 基于picamera的。

ref: https://github.com/tensorflow/examples/blob/master/lite/examples/object_detection/raspberry_pi/

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 1. Clone
git clone https://github.com/tensorflow/examples --depth 1

# 2. 进入文件夹
cd examples/lite/examples/object_detection/raspberry_pi

# 文件夹里总共5个文件
# README.md #
# annotation.py # 用于绘制方框、标签
# detect_picamera.py # 主程序
# download.sh # 下载 python 依赖包、已训练的模型
# requirements.txt #


# 3. 下载已训练好的模型
bash download.sh /tmp
# - 下载 python 依赖包: numpy picamera Pillow
# - 下载 coco_ssd_mobilenet_v1_1.0_quant_2018_06_29.zip, 里面有两个文件:detect.tflite, labelmap.txt,这个label文件有乱码
# - 下载正确的label文件: https://dl.google.com/coral/canned_models/coco_labels.txt

# 4. 运行程序
python3 detect_picamera.py --model /tmp/detect.tflite --labels /tmp/coco_labels.txt

2. 使用 opencv 调用 usb camera

阅读全文 »

问题

在vscode中运行python时,相对路径有点迷惑,总是配置不好,导致在pycharm中可以顺利运行,到vscode里就找不到文件了。

这里修改vscode的设置:将’python的运行目录’ 设置成 ‘python文件当前的目录’。

VSCode 设置

打开 setting.json, 加入:

1
2
3
{
"python.terminal.executeInFileDir": true,
}
阅读全文 »

ref: https://matplotlib.org/3.1.1/api/animation_api.html

matplotlib animation 动画教程都是针对曲线类型的,

对于包含子图、或含有类似直方图等图形的情况,就不适用了。

下面尝试实现包含多个子图,同时有直方图的动画效果。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import matplotlib.animation as animation
import matplotlib.pyplot as plt
import numpy as np


X = np.arange(0, 10, 0.01) # X shape: (N,)
Ys = [np.sin(X + k/10.0) for k in range(100)] # Ys shape: (k, N)

fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(8, 4))

def animate(i):
axes[0].cla()
axes[0].plot(X, Ys[i])
axes[0].set_title(f'y = sin(x + {i}/10)')

axes[1].cla()
axes[1].hist(Ys[i], bins=50, orientation='horizontal')

ani = animation.FuncAnimation(fig, animate, frames=50, interval=50)
ani.save('matplotlib-animation-hist.gif')
plt.show()
阅读全文 »

0.1 树莓派GPIO定义

ref: https://www.raspberrypi.org/documentation/usage/gpio/

0.2 L298N端口定义

名称 符号 备注
电源 VCC 驱动电源,接+5V~+35V
GND 接地
5V 逻辑控制电源,5V 注1
控制端 ENA、ENB 两路 注2
IN1IN2、IN3IN4 高电平有效,接树莓派
输出端 OUT1~OUT4 接电机

注1:当驱动电压过高时(>12V),逻辑控制电源单独接5V电源。 一般悬空即可。
注2:使能端直接跳线与5V连接。这个5V是驱动电源经过78M05模块输出的。

阅读全文 »

1. 硬件

  • 1.1 台达PLC

    • 型号: DVP-40EH00T2
  • 1.2 信号模块

    • 型号: DVP-04AD-H2
  • 1.3 参考文献

    • 台达PLC手册: DELTA_IA-PLC_DVP-EH3_I_TSE_20201022.pdf
    • 台达特殊模块手册: DVP-PLC应用技术手册(特殊模块篇)(326P).pdf
阅读全文 »

1. 硬件

  • 1.1 台达PLC

型号: DVP-40EH00T2

  • 1.2 驱动器

型号: 雷赛 M542

端子名称及说明如下(仅参考,以说明书为准):

名称 符号 备注
24V电源 DC+、DC- 接DC24V电源
电机接口 A+、A-、B+、B- 接电机
使能端子 PUL+、PUL- 5v
脉冲端子 DIR+、DIR- 5V
转向端子 EN+、EN- 5V

注:

  • 使能端这里用不到,可以悬空

  • 脉冲和转向电压要求是5V,接24V需要串一个2K电阻。

  • 1.3 电机
    型号: 57BYG250C

阅读全文 »

dlib安装

目前dlib在pypi中只支持到python36.

python37下的安装网上搜了一下满地都是坑。

终于在github中找到了一个编译好的安装包,记录一下。

下载后直接pip安装即可:

1
pip install dlib-19.17.0-cp37-cp37m-win_amd64.whl

在win10、python3.7.9上使用没有问题。

1. 升级 HEXO

  • 打开package.json, 修改 dependencies 项:

    1
    "hexo": "^5.0.0",
  • 更新

    1
    npm update

2. 改变一:通过npm安装主题

阅读全文 »