K-Res

给快20岁高龄的明基海湾A110键盘续了个命

这款明基键盘是04年时购买的,当时一位学长买了这款键盘,我体验了下当场就爱了,从来没有用过这么好手感的键盘,后来才知道X架构之类的细节,而且也很喜欢这款键盘的键程,比笔记本键盘的那种巧克力按键要高点,但又没有标准键盘那么高,敲代码玩游戏都非常舒适,即使是今天换了机械键盘,也依然很怀念明基X架构的键盘(后来工作了又买了一把海贝A800,按键手感相同,不过弯曲的形状感觉不如海湾)。遗憾的是这把A110在20年时出现了Y键失灵的问题,最开始时偶尔还能有反应,但是后来就完全不行了,然后没过多久下面的H也出现了类似的情况。当时也尝试过修理,但是没找到问题,拆开键盘后清理了下,扒出薄膜来看了下,不像之前拆过的廉价键盘,薄膜电路很复杂,而且还有胶粘住(估计是为了防水),上面那层已经有很多氧化发黑的银线了,不过应该不影响封在内部的上下层间按键接触导电。由于当时没有银漆,又急着用键盘,于是就封印了A110,买了把机械先用着了…

Continue reading…

魔改国产ST-LINK V2仿真器,增加SWO支持

最近同事提到合宙商城在搞AIR32F103的BluePill开发板(https://wiki.luatos.com/_static/bom/BluePill.html)促销活动,9.9一个开发板还额外赠送一片AIR32F103CCT6,之前从来没接触过STM32系的MCU,于是入了一片研究,至少可以收藏。

到手后在合宙官网快速学习了一下,又从搜索引擎上查找了一些STM32的入门资料学习(互联网时代各行各业的入门知识都很廉价),了解到了各种上传程序的方法,由于之前购买过ST-LINK V2(本来是打算留着给文宇WY815P焊台刷固件用的),于是选择了ST-LINK SWD方式测试,焊好排针,按丝印指示接好线,电脑装上STM32 ST-LINK Utility,插上调试器,顺利识别,随后又装了研究版的Keil(买ST-LINK时送的网盘5.23版),按合宙wiki里的教程装好AIR32的软件库,学了下GPIO的调用方法,顺利点亮了板子上的小灯(到这一步就已经能够感觉到Arduino对比起来有多简单了😂),而且也能成功使用Keil进行断点调试,但是紧跟着问题就来了,用Arduino Nano时,虽然无法断点调试,但是可以很容易的使用IDE自带的串口通讯工具查看log以及完成命令行形式的交互,现在这套配置并不能实现简单的看printf功能,于是又花了一些时间搜索调研…

Continue reading…

W801开发板Upgrade Tools上传程序失败问题

继之前的Arduino Nano之后,最近又搞了一片国产的W801开发板研究,陆续装上了CDK IDE和W80X SDK v1.00.10后,算是能编译自带的Demo程序了,整个过程对比下来对新手的友好度明显不如Arduino,后者基本上能做到装好IDE后一键部署点灯程序,不过这个MCU功能强大,整个开发板又只要9块9,生态差点就差点吧,要什么自行车!在百度了不少资料,搞明白怎么上传变好的自带demo程序.fls文件后,打开联盛德的Upgrade Tools,打开串口,选好fls文件,点击下载,duang,挂掉了,提示:

Waiting for receive CCC …

CCCC

==

Sync success, W80X

BLE MAC: 286DCDD1495B

WIFI MAC: 286DCDCE3C1B

FID:85,15

Please wait for Erase flash …

CCCC

Erase flash ok.

Try 2000000 baud download file …

Start the download image_0.img

Start the download image_1.img

Download “D:/C-Sky/W80X SDK v1.00.10/bin/w800/w800.fls” fail! Error code: “CAN”

LLLCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

然后就是一直刷CCCCC(后来才知道,这是这个开发板进入等待上传程序的信号,怪!),又试了几次,一样的现象,大概在进度走到30%左右就会fail….

Continue reading…

小米米家温湿度计2的正确重置(复位、恢复出厂、reset、触点按不动)方法

家里三个小米温湿度计2,连着小米智能插座2的蓝牙网关,小巧方便,手机随时查看家里温湿度情况。最近其中一个在更换电池后,出现了奇怪的问题:米家app上能看到设备,并且也显示已连接蓝牙网关,但是温湿度数据就是获取不到,点进设备详情界面也一直没反应,提示“打开蓝牙”,此时如果开启手机蓝牙,会以很慢的速度通过蓝牙连接设备,然后确实可以正常获取到数据,只是整个过程反应很慢,不像之前网关正常时随点随出,同时这样在外出时也看不到这个温湿度计的实时信息了(从米家app的中枢网关界面里也能看到这个温湿度计是连接状态,并且离着不远三格信号满格),后来看了下固件,发现可以升级到最新的“0130”,于是升了下级(这个过程也是特别慢,不知道是不是由于蓝牙传输所致),升级完成后问题依旧!百度搜索了下,发现有人提到可以重置一下试试,然后就进入了今天记录的主题,这个小米温湿度计的重置设计也算是另类了,网上能搜到的重置方法基本都是这样说的:

Continue reading…

关于Si4735的SSB Patch(pu2clr开源项目)

最近在研究基于Arduino + Si4735 + pu2clr/SI4735的数字收音机,FM功能基本已经ok了,感谢pu2clr开源项目作者 Ricardo Lima Caratti 封装了这么好用的库,电路连接正确的情况下,基本可以秒实现功能!

简单试玩了一段时间后准备挑战下传说中的SSB单边带补丁,结果踩到了一个小坑,使用pu2clr库中的代码:https://github.com/pu2clr/SI4735/blob/master/examples/TOOLS/SI47XX_09_SAVE_SSB_PATCH_EEPROM/SI47XX_09_SAVE_SSB_PATCH_EEPROM.ino,准备将SSB补丁写进AT24C256 eeprom中,结果发现执行代码后,数据写入出现了问题,所有验证过程读回的数据全都是0xFF,patch的name什么的在Arduino IDE的Serial Monitor中看到的也都是乱码,size也都是FF对应的错误数据65535这些…

Continue reading…

[续]Win10 + WSL编译FFmpeg开启openssl依赖时的坑

之前写过一篇基于WSL编译windows版FFmpeg的博文:使用Win10 + WSL编译FFmpeg时的依赖库处理 – https://blog.k-res.net/archives/2771.html,记录了一些基本构建操作和一些问题,但是当时的configure并没有开启很多其他依赖项来激活相关功能,这次要记录的是通过开启openssl的方式,增加如https,rtmps等协议的支持,虽然有WSL的加持,大大简化了windows下编译FFmpeg的复杂度,但到了某些依赖,如这次要说的openssl时,还是有些需要注意的地方的,毕竟WSL的方式实际的本质是在一个同时有linux命令但又能执行windows执行程序的特殊环境下执行构建操作,带来方便的同时也带来了一些特有的麻烦:

Continue reading…