跳至主要内容

博文

乌龟自动喂食器2.0升级

简介 去年五一之前给三只小龟做了个自动喂食器: 赶在五一之前给乌龟做个自动喂食器 ,刚好一年过去了(我这拖延症),升级到了 2.0 版本,主要是增加了自动水循环系统。 结构设计 在结构上增加了一个循环水箱,一个过滤水箱。水从循环水箱里抽出来,经过过滤水箱后给乌龟们洗澡喝水,再回流到了循环水箱里面。画了一个示意图: 在经过一段时间的循环后,水必然会减少,除了乌龟们用的,还有蒸发的,所以还得往循环水箱里面加水。既然自动化了,当然不能让我每天盯着水少了就加啊。于是我就增加了一个检测水位的装置: 检测到了低水位后,水泵就打开,从水桶里往循环水箱里加水,一直加到高水位后水泵就停止了。 你问桶里没水了怎么办?当然是我手动加了,我可舍不得钱买一个能电动控制的水龙头,一个星期加一桶水,顺便清晰一下几个水箱,更换一下过滤棉。 硬件设计 主控还是 ESP8266 模块,除了自动喂食器的电机驱动,增加了两个水泵的电源控制继电器,再用两个 IO 来检测水位。 一个水泵是循环抽水的,可以通过云端设置开关的时间间隔,另一个水泵是加水的,当检测到低水位时,该水泵就打开,水位到最高点时自动关闭水泵。 监测水位的我用的是干簧管和磁铁,在防水上没什么问题,也不用多余的工作。 中间的白色浮子里面嵌入了一个小磁铁,可以飘浮在水中,随着水位升降。当水面下降时,磁铁会靠近底下的干簧管,干簧管短路,IO 电平由低变高。水位上升的时候磁铁会离开底下的干簧管,干簧管开路,IO 由高变低,当靠近上面的干簧管后,IO由低变高,说明水面到了高水位。 开始本来的想法是用水的导电性来设计水位传感器的,淘宝上卖的也基本都是这类,因为水箱离主控板比较远,线缆一长,ADC 转换的时候容易出错,所以我就改成了用 IO 电平变化来监测水位了。 电路很简单,也没考虑很多,能用就行,仅供 DIY 用。 软件设计 软件设计还是 ESP8266 模块作为 Arduino 板联网控制,通过 Arduino IoT Cloud 连接设备。 Arduino Cloud IoT 使用入门指南 Arduino 代码很简单,注释我也写得很详细,流程图如下: /* Sketch generated by the Arduino IoT Cloud Thing "Autofeed2.0...

如何迁移群晖套件到不同的存储空间

前言 群晖之前的套件都安装在一个小硬盘,最近换了个大硬盘,文件可以直接在共享文件夹里修改存储空间就好了。 群晖 DSM 虽然有各种备份,迁移,但套件是没有。怎么才能迁移到新的硬盘,我不想重新安装软件了。 搜了一下,发现有个迁移自动化脚本,使用起来还可以。 下载 项目地址: https://github.com/007revad/Synology_app_mover 实际有用的只有 syno_app_mover.sh 和 syno_app_mover.conf ,下载这两个文件就可以了,一个是脚本,一个是配置。 现有备份和恢复模式。 支持 DSM 7。未使用 DSM 6 进行全面测试。 如果备份到 USB 驱动器,分区的文件系统应该是 ext3,ext4,btrfs。 迁移 将下载的两个文件放到群晖的任意文件夹内, syno_app_mover.conf 主要是备份相关的,比如备份目录,剩余空间限制等,我是直接迁移。 启用群晖 SSH ,并使用 Xshell 或 PUTTY 连接到 NAS 登录。 # 切换到 root 权限 sudo -i # 进入syno_app_mover.sh所在目录 cd /volume1/scripts # 运行脚本 ./syno_app_mover.sh 选择 1 move,可以看到所有套件和所在分区,按序号选择后迁移到其他盘,按照步骤很容易。 就是有一点不方便,套件得一个一个迁移,没法批量。 source https://mianao.info/move-synology-packages-to-another-volume/

如何用CH32F103做一个Arduino开发板

简介 CH32F103C8T6 和 STM32F103C8T6 基本上是完全兼容的国产版,CH32F103C8T6 开发板淘宝也是一样,就几块钱,于是我买了一块做 Arduino 开发板用。 相关资料不多而且比较古老,我搞了三四天才能用 Arduino IDE 下载。 CH32F103C8T6 规格书:https://www.wch.cn/products/CH32F103.html 其实 ST 原版相关资源更多,开源的支持也更好,毕竟国外用的多。如果没有特别需求还是建议买 ST 开发板。 下载 Bootloader WCH 即沁恒提供了下载工具: https://www.wch.cn/downloads/WCHISPTool_Setup_exe.html ,直接下载安装。 CH32F103C8T6 Bootloader 下载地址: https://github.com/rogerclarkmelbourne/STM32duino-bootloader/tree/master/binaries 这里有两个文件夹: bootloader_only_binaries 和 binaries ,一定要下载 binaries 文件夹里的 generic_boot20_pc13.bin 文件(pc13 是指开发板上 LED 灯的控制 IO)。 先把开发板上的跳线帽改成 10 ,即 boot0 连接 1,boot1 连接 0.USB线连接板背面的接口。 打开 WCHISPTool,先选择芯片系列,搜索 USB 设备,添加 Bootloader 文件,然后解除保护,最后点下载。 下载完成后,将跳线帽恢复到 00 位置,连接开发板上面的 USB 接口。 Arduino IDE 下载和驱动安装 打开 Arduino IDE 下载页: https://www.arduino.cc/en/software/ ,拉到下方下载 Arduino IDE 1.8.19。最好是安装版,绿色版有可能会出问题,并且 1.x 和 2.x 并不冲突。 再下载开发板硬件相关文件: https://github.com/rogerclarkmelbourne/Arduino_STM32 ,解压后复制到 Arduino IDE 安装目录下 C:\Program Files...

OpenWrt的网络控制插件试用总结

前言 小棉袄每周都有几节网课,一不注意她就在那刷抖音,哔哩哔哩,关键是学校的作业都不完成就去玩,每次都搞到晚上十二点睡觉,早上起点起不来。 没办法,只能针对上课的电脑做下控制,我发现之前 OpenWrt 的上网时间管控是对设备通断网络,并不能特定的网址过滤。 于是我就编译测试了几款插件,发现还是有不少问题。 网址过滤 开源地址: https://github.com/Lienol/openwrt-package/tree/main/luci-app-control-weburl weburl 这个是编译的时候管控里面的一个网址过滤,我打开后发现在关键词里输什么都不好使。 我关闭了软硬件加速,包括卸载了 TurboACC 网络加速的插件,还是无法过滤。 家长控制 开源地址: https://github.com/sirpdboy/luci-app-parentcontrol 后来看到了这个插件:parentcontrol。编译后可以看到家长控制的插件。 第一个页面是时间控制,其实和之前管控里的一样,对某一个设备,在特定的时间关闭或打开网络,这是有效的。 第二个页面是网址过滤,我测试了一下,一样没有效果。 第三个页面是协议过滤,我没这方面的需求,所以没有测了。 应用过滤 后来我搜到了一个收费的插件,当然,基本功能都是免费的,只是针对特征库要求比较多的用户有 VIP 服务:永久会员 39 元。 开源地址: https://github.com/destan19/OpenAppFilter 编译后服务里有个应用过滤插件,用户列表: 家里所有联网设备都有识别,当然不一定准确,比如我的tplink监控,就识别出了经常访问淘宝和抖音。 过滤开关,过滤的网址,包括聊天游戏购物等等,常用的国内网站基本都有,国外的基本没有。 用户配置,如果选择了自动配置那每台设备都会过滤,手动模式就添加需要过滤的设备。 过滤时间设置。 特征库,VIP 收费就收在特征库,免费的库也会更新但比较慢,网址也比较少,目前是三月份更新的,一共过滤 294 个 app。 默认都打开,不关闭加速过滤不了。 我测试后发现可以对单独设备进行过滤一些网址,开发者提供了免费的特征库,如果想要更多更新,可以购买 VIP 服务。 如果想自定义过滤网址,请往下...

SONOFF ZBDongle-P(CC2652P) 固件升级方法汇总

看过我之前安装使用 HomeAssistant 文章的都知道,我用的是 SONOFF Zigbee 3.0 USB Dongle Plus,型号 ZBDongle-P(CC2652P) ,固件版本还是 22 年的。现在 Zigbee2MQTT 我看也升级到 2.0 了,coordinator 版本 24 年也更新了一版,那就一起升级了看看。 固件下载地址: https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator/Z-Stack_3.x.0/bin 发现 ZBDongle-P 升级方式还挺多的,我一一试了一遍。 SONOFF 在线烧写 首先是 SONOFF 厂家推出的在线升级方式,链接在此: https://dongle.sonoff.tech/sonoff-dongle-quick-flasher/ 插上 ZBDongle-P 后连接设备: 选择设备型号 ZBDongle-P: 选择固件版本: 开始烧写: 设备应该是自动进入了 Bootloader 模式,无需手动按键。 SmartRF Flash Programmer 2 烧写固件 SmartRF Flash Programmer 2 是 Ti 的开发工具,官网下载需要注册,并且要说明是民用产品使用。我分享一个下载链接: SmartRF Flash Programmer 2-1.8.2.zip 下载: https://pan.quark.cn/s/de8cec9b8562 提取码:KDeQ ZBDongle-P 设备进入 Bootloader 模式 首先要使 ZBDongle-P 进入 Bootloader 模式,有两种方法,简单点的就是拆壳后按住 boot 键上电,另一种是通过 Python 脚本自动进入。 Python 脚本 Auto-enter-bootloader.zip 的下载链接: https://pan.quark.cn/s/6ea3924fc4b4 提取码:qJUM 按键进入我就不说了,主要说一下 Python 脚本进入的方法,我用的是 Win 10,首先要安装 Python,然后安装 pyserial , gevent : pip install pyserial...

变废为宝-将淘汰的PC电源改装成直流稳压源

上次更新电脑换成了 AMD 平台后,PC 电源接口不够用了,插不上显卡,只能淘汰了。看了一下,一个是 2013 年购买的,一个 14 年购买,长城的电源质量确实还可以,都能用,就是接头用不上新显卡了。 几个电源放在那里占地方不说,也不知道能干嘛,丢吧又好好的舍不得。偶尔刷到了淘宝上的直流稳压源模块,灵机一动,这不正好拿电脑电源来改吗? 淘宝关键词:可调直流稳压电源模块,SK90,SK120,SK150;4mm香蕉插座接线柱。 我图便宜,买的升降压可调直流稳压电源模块是黑白屏 SK150Pro,功率 150W,加上两个接线柱,一共 70 元。 下图 SK150C 更好看哈,但贵了十几块钱。 硬件参数 产品名称:数控直流升降压电源 产品型号:ZK-SK150Pro 输入电压:7-36.00V 输出电压:0.5-40.00V 输出电流:0-8.000A 输出电压精度:±0.3% +3个字(可校准) 输出功率:150W 输出电流精度:±0.5% +3个字(可校准) 电压分辨率:0.01V 电流分辨率:0.001A 数据组存储:11组 硅胶按键:5个 屏幕尺寸:1.8寸 蜂鸣器:有 转换效率:88%左右 软启动:有 产品尺寸:83x48x48mm(高度不含旋转编码器) 产品重量:净重112g,含包装重132g 输入防反接: 有 输出防倒灌: 有 输入欠压保护(LUP):6.0-40V可调,出厂默认值6.0V 输出过压保护(OUP):0.5-42V可调,出厂默认值42V 输出过流保护(OCP):0.001-8.2A可调 ,出厂默认值8.2A 输出过功率保护(OPP):0.1-180W可调,出厂默认值160W 过温保护(OTP):30-150℃可调,出厂默认值100℃ 超时保护(OHP): 1分钟-99小时59分钟,出厂默认关闭 超容量保护(OAH): 0.001-9999Ah,出厂默认关闭 超能量保护(OPH):0.001-4000KWh,出厂默认关闭 产品说明书:链接: https://pan.quark.cn/s/a023f8d13edf 提取码:AX8x Windows 客户端: http://www.qingdaowuzhi.cn/uppercomdownload/Wuzhi_Link.exe...