edyang

我干了什么 究竟拿了时间换了什么
技术分享时间线软件开发、设备接入、视觉与运维实践

Node-RED 0.19:文件上下文不等于每次写入立刻落盘

启用持久上下文后,异常退出仍可能丢失最近变更。

启用持久上下文后,异常退出仍可能丢失最近变更。需要区分内存更新和文件刷新。 本文使用Node-RED 0.19、文件上下文存储与独立流程目录。流程可视化之后,还需要清楚的版本、状态和测试输入。编辑器画面不是完整交付,运行配置、凭据与安装节点版本也影响行为。 1. 从现象推到机制 0.19 引入外部上下文存储,默认仍可使用内存。文件存储可能通过缓存和周期刷新减少写盘,应用读取成功不必然证...

ESP32 看门狗:喂狗要反映真实进度

独立定时器一直喂狗,业务线程即使卡死也可能不重启。

独立定时器一直喂狗,业务线程即使卡死也可能不重启。健康信号需要来自真正工作。 本文使用经典 ESP32 与 ESP-IDF v3.1,使用独立测试分区和低压台架。固件状态、持久配置与远端目标需要分别管理。本文按早期 ESP-IDF 版本讨论,不默认后续框架的自动回滚和安全功能已经配置完成。 1. 从现象推到机制 看门狗监测指定时间内是否收到服务信号,但信号含义由应用决定。任务活着、循环...

ESP32 OTA:下载完成之前先设计失败恢复

无线升级不只是把固件下载到设备。

无线升级不只是把固件下载到设备。分区、校验、启动选择与恢复入口共同决定能否安全更新。 本文使用经典 ESP32 与 ESP-IDF v3.1,使用独立测试分区和低压台架。固件状态、持久配置与远端目标需要分别管理。本文按早期 ESP-IDF 版本讨论,不默认后续框架的自动回滚和安全功能已经配置完成。 1. 从现象推到机制 OTA(空中升级)通常写入非当前运行的应用分区,再验证并切换启动目...

ESP32 配置持久化:NVS 键值也需要版本

固件升级后读取旧配置失败,可能是字段类型和配置结构已经改变。

固件升级后读取旧配置失败,可能是字段类型和配置结构已经改变。持久值需要迁移规则。 本文使用经典 ESP32 与 ESP-IDF v3.1,使用独立测试分区和低压台架。固件状态、持久配置与远端目标需要分别管理。本文按早期 ESP-IDF 版本讨论,不默认后续框架的自动回滚和安全功能已经配置完成。 1. 从现象推到机制 NVS(非易失键值存储)保存命名空间与键值,应用仍需处理缺键、类型变化...

物联网时间研究:采样时刻与接收时刻不能混成一列

断网补传后,几小时前的温度突然堆在当前时间,趋势图就失去了真实过程。

断网补传后,几小时前的温度突然堆在当前时间,趋势图就失去了真实过程。 本文使用MQTT 3.1.1、Node-RED 0.19 与虚构设备消息。从能通信走向稳定运行,需要对离线、重复、乱序和恢复建立明确语义。本文使用演示身份和事件,不连接真实控制负载,也没有声称取得未经记录的现场效果。 1. 从现象推到机制 设备采样时间表示物理观察时刻,服务接收时间表示进入系统时刻,两者差值还受时钟偏...

MQTT 重连:会话恢复与业务补传分别设计

设备重连后收到旧消息,可能是会话策略正常恢复。

设备重连后收到旧消息,可能是会话策略正常恢复。重新订阅与重复消费需要结合协议条件理解。 本文使用MQTT 3.1.1、Node-RED 0.19 与虚构设备消息。从能通信走向稳定运行,需要对离线、重复、乱序和恢复建立明确语义。本文使用演示身份和事件,不连接真实控制负载,也没有声称取得未经记录的现场效果。 1. 从现象推到机制 Clean Session(清理会话标志)、客户端身份与代理...

MQTT 设备在线:遗嘱、心跳和数据新鲜度分开看

代理显示客户端在线,但传感器已经停止采样,说明连接健康和数据健康不是同一指标。

代理显示客户端在线,但传感器已经停止采样,说明连接健康和数据健康不是同一指标。 本文使用MQTT 3.1.1、Node-RED 0.19 与虚构设备消息。从能通信走向稳定运行,需要对离线、重复、乱序和恢复建立明确语义。本文使用演示身份和事件,不连接真实控制负载,也没有声称取得未经记录的现场效果。 1. 从现象推到机制 Keep Alive(保活)帮助协议端发现失联,遗嘱在符合条件的异常...

视觉模型交付:权重、阈值和数据口径一起版本化

同一个权重文件换了阈值,业务结果就可能变化。

同一个权重文件换了阈值,业务结果就可能变化。模型版本不能只用文件名表示。 本文使用原版 Darknet 固定历史提交、YOLOv2/YOLOv3 与演示图片。目标检测回答对象类别与位置,不自动识别全部文字或判断印章真伪。文中的训练与部署方案属于可复现方法,没有给出未经测试的准确率、速度或客户验收成绩。 1. 从现象推到机制 完整发布单元应包含预处理、网络配置、权重、类别顺序、阈值与后处...

Darknet 应用服务:输入、任务状态与结果文件

把命令行包成 HTTP 接口后,还需要处理并发、文件归属和进程失败。

把命令行包成 HTTP 接口后,还需要处理并发、文件归属和进程失败。一个 success 字段不够。 本文使用原版 Darknet 固定历史提交、YOLOv2/YOLOv3 与演示图片。目标检测回答对象类别与位置,不自动识别全部文字或判断印章真伪。文中的训练与部署方案属于可复现方法,没有给出未经测试的准确率、速度或客户验收成绩。 1. 从现象推到机制 请求接受、模型执行和结果保存是不同...

文档应用:标题定位、裁剪与 OCR 怎样衔接

标题检测框可以减少 OCR 输入范围,但缩放和坐标还原错误会让裁剪漏字。

标题检测框可以减少 OCR 输入范围,但缩放和坐标还原错误会让裁剪漏字。 本文使用合成文档图、YOLO 标注格式与 OpenCV 3.4。文档标题与印章定位先是数据定义问题,再是模型问题。框代表什么、哪些情况不标以及如何处理多页,都会改变训练目标和评估含义。 1. 从现象推到机制 检测器输入可能经过缩放与补边,输出需还原到原图坐标,再按边界约定裁剪。OCR(光学字符识别)给出文本及其不...