分类 默认分类 下的文章

不是新知识点,只是备忘。来回接显示器键盘浪费了不少时间

...

安装

准备个u盘,格成fat32, 用微软的制作工具,生成安装U盘
https://www.microsoft.com/zh-cn/software-download/windows10

配置

  1. 开启远程桌面
  2. 设置固定IP
  3. 电源管理关闭自动休眠(两个设置均为 从不
  4. 关闭windows update!(需要的时候再手动打开)

额外的设置

业务配置掉线和异常的通知,另外辅助小程序远程监控即可

跳过解释awtrix是什么的部分。

奇怪为什么没有固件没有实现中文,也没有支持中文的插件。
最初怀疑开发者只是为了省事..和这个东西确实太小众,只在视频up主之间吹捧所以真正懂技术的玩的不多

于是琢磨自己来实现——最基础的部分,在屏幕上显示出汉字。思路如下

  1. 不追求固件增加汉字库,仅仅将matrix视为一个 32*8 的画板
  2. 找到合适在font-size:8px 时清晰显示的中文字体
  3. 把字串渲染在画布上,再提取出对应像素矩阵的分布
  4. 以 draw形式推送去控制器

失败原因一句话总结:
第二步进行不下去,要找到8px还能清晰显示的汉字失败.. 最小清晰显示的宋体尺寸实测 12px左右。

8px的常见字体PS中的模拟效果,常见的几种系统字体,辨识度很差
QQ截图20200703012255.jpg

支持汉字的 lametrie 显示效果我找到其他up开箱的实测片段发现...emmm 也是有点惨不忍睹的

QQ截图20200703010759.jpg

或许我找到比较好的缩小TTF像素化显示的字体或算法后,会继续尝试也说不定。暂时搁一边了。

P.S. 到手之前非常期待,上手5分钟一阵抽搐之后..顿觉索然无味...这就是人生吧

先声明,这不是教学也没有自称是最正统王道的做法。只是适用于我当前项目的情况。

背景:一个后台的守护进程,会对导入的批量文件进行轮询及列队处理。
这些目标文件可能有各种预期外的格式、数据类型不正确导致py崩溃中途退出。造成了队列堵塞

当发现堵塞时,手动去运行脚本可以查看到有问题的关键文件。但想找个办法让遇到问题是能跳过不阻塞队列,但保留错误信息到日志以便追查处理。

以下是我的处理办法。核心是用 try/exceptionlogging 捕获异常写入自定义日志文件。

import logging

# 设置输出错误日志
logging.basicConfig(filename='pyerr.log', filemode='w')

# 扫描待处理的目录,查找 docx文件
filelist = os.listdir(scan_path)

for dfile in filelist:
    if dfile[-5:].lower() == ".docx":
        try:
            imp_result = mod_doc.import_db(scan_path+dfile) #这步是容易出现异常的导入复杂操作
            # 导出处理结果的业务逻辑 略

        except: #把异常写入日志文件
            s = traceback.format_exc()
            logging.error(dfile+'\n'+s)

    else:
        print("non docx file, skip:"+dfile)

仅作备忘,有关异常处理和日志处理的用法这里不展开说明。

业务逻辑中处理完毕的文档会被转移归档保存,所以剩下在目录里的则是异常的文件。
如想避免异常文件每轮的轮询仍被执行, 可以转移到特定文件夹并修改 logging.basicConfig 的 filemode 改为 'a' 使多个异常文档的错误信息不会被覆盖。