🏠 HomeLab:中年男人之友
未读简介 步入中年的人生道路,10GB 以太网口不只是性能的简单提升,它更像是一扇通往新生活的大门。这扇门之后,是丰盈的路由器、交换机和 NAS 的世界,能够让你的中年时光更加充实、更加快乐! 在我家 2.5G 网络的陪伴下, 已经度过了三个充满活力的年头. 这段时光里, 我的网络稳定可靠, 成为了家中信息高速公路的坚实基石. 然而, 随着科技的快速发展和生活需求的变化, 我发现原本强大的 2.5G 网络已经无法满足未来几年日益增长的需求. 期间一直在犹豫是否升级到万兆, 因为 MBP M1 作为我的主力机, 担心万兆网卡兼容性和稳定性问题, 当然也有成熟的雷雳网卡可供选择, 但是价格高的离谱. 最近, 各种升级方案陆续出现, 价格也逐渐符合我的预算. 同时, 家中使用的万兆设备也越来越多. 这一切让我意识到升级到万兆网络的时机已经到了. 在这篇博客中, 我将分享从犹豫不决到决定升级 10G 网络的决策过程. 详细介绍第一次接触的光纤和光模块的相关知识, 一步步地讲解设备购买、网络拓扑设计、网络环境配置和网络测试等方面的细节. 相关文章: 先导篇:我的 HomeLab 概要; ...
🤖 AI:人工智障
未读简介最近在玩儿 检索增强生成(RAG,Retrieval Augmented Generation), 本地部署了一套 dify, 应该算是 RAG 功能最全的开源项目了, 可以集成工大厂商的 AI API 以及自建的 LLM 服务. 所以就用 dify 做了一个个人知识库, 数据来源与博客内容. dify 的部署以及使用可查看官方文档, 写的非常详细, 这里只是介绍一下如何将 dify 集成到 hexo 的博客中. 根据 官方文档 的说明, 我选择使用 script 标签方式 集成 dify 到博客中, 这种方式会有一个聊天机器人按钮, 不会影响博客的整体体验: 集成首先从 dify 获取嵌入到网站中的代码, 比如下面这样: 1234567891011121314151617181920<script> window.difyChatbotConfig = { token: 'xxxxxxxxxxxx', baseUrl: 'http://192.168.1.2' }</script>< ...
🏠 HomeLab:中年男人之友
未读简介在 基于树莓派的视频推流方案 我们尝试了通过树莓派推流到流媒体服务器, 然后通过 Web 查看视频, 这次我们来尝试一下通过树莓派控制舵机. 想法这这样的, 使用一个 Web 页面实时展示 2 个摄像头的画面, 然后通过 PCA9685 舵机来控制摄像头角度.这样就可以实现一个简单的监控了. PCA9685PCA9685 是 NXP 生产的一款 16 通道 PWM(脉宽调制)控制器,主要用于驱动 LED 或舵机,广泛应用于机器人、灯光控制和 DIY 电子项目。 主要特点 16 路独立 PWM 输出(每个通道 12 位分辨率,0~4096 可调)。 I²C 接口通信,地址可调(0x40~0x7F)。 频率可调,支持 24Hz~1526Hz 的 PWM 频率。 支持外部时钟(适用于需要更高精度的场景)。 可编程 LED 亮度控制,支持单独和分组控制。 工作电压:2.3V~5.5V(兼容 3.3V 和 5V 逻辑电平)。 最大输出电流:每个通道 25mA(默认),最大 400mA(所有通道总电流)。 接线方式: 外接供电: 驱动板右侧的黑黄蓝红 4 条线的接法毫无争议。关键是 ...
🖥️ 基础设施与运维
未读为了满足燃气站设备的安全、维护、效率、合规和技术发展等多方面的需求。通过实施该解决方案,实现实现无人值守的目的, 提高燃气站设备的安全性和运行效率,降低运营成本。 需求 通过连接本地 IPC 和 NVR 实现视频展示功能, 已达到安全巡检的目的; 连接燃气站内部 门禁 系统, 通过局域网定时探活的方式监测门禁设备运行情况; 使用 SNMP 协议监测 网络交换机 的实时运行情况, 包括以下内容: 端口占用情况 上下行的数据流量 其他关键参数信息 获取运行日志并上传 温度、负荷 监测 UPS 设备, 收集电池, 当前功率等相关的数据; 空调 控制, 包括温度调节, 启停等操作; 环境监测, 包括温度, 湿度, 噪音等数据; 柴油发电机检测, 需要做到市电停自动启动柴发, 市电来只有停止柴发; IPC, 网络交换机等关键设备能够实现 远程重启; 收集所有设备到的 状态(在线/离线) 数据; 站内数据可以集中展示在场站内部的 显示屏 上, 并能够实时上报到云平台; 当市电断电且 UPS 电量耗尽后还能够通过 4G 的方式持续上报设备数据到云平台; 提供扩展模块用于后续新设 ...
🙉 Zeka.Stack
未读首先我们需要明确什么是 基础框架 以及 基础框架 能给我们带来怎样的便利从而方便开发者快速根据业务需求构建可实施的业务项目. 1.1 什么是基础框架1.1.1 定义 框架(framework)是整个或部分系统的 可重用 设计,表现为一组抽象构件及构件实例间 交互 的方法,另一种定义为,框架是可被应用开发者定制的应用 骨架。 框架是一个 可复用 的设计构件,通常以 构件库 的形式出现,但构架库只是框架的一个重要部分,框架的关键在于框架内对象间的的交互模式和控制流模式。 从定义可以得出, 框架是一种 可复用 构件, 以 构件库 的方式加入到业务代码中, 从而避免重复开发达到复用的目的. 每个公司都会或多或少根据自己公司业务封装内部的开发基础框架. 比如蚂蚁金服基于 Spring Boot 自研的 SOFA, 属于金融级别的微服务框架; Vert.x 基于 Netty 封装的基于事件的异步框架; Dubbo 是一个高性能的、基于 Java 的开源 RPC 框架等. 考虑到面向的领域,以及实现编码实现,我们可以将将框架至少分为三类: 基础类库: 包含多数项目所需要的类库, 开发人员 ...
🤖 AI:人工智障
未读越来越多的企业和个人希望能够利用 LLM 和生成式人工智能来构建专注于其特定领域的具备 AI 能力的产品。目前,大语言模型在处理通用问题方面表现较好,但由于训练语料和大模型的生成限制,对于垂直专业领域,则会存在知识深度和时效性不足的问题。在信息时代,由于企业的知识库更新频率越来越高,并且企业所拥有的垂直领域知识库(例如文档、图像、音视频等)往往是未公开或不可公开的。因此,对于企业而言,如果想在大语言模型的基础上构建属于特定垂直领域的 AI 产品,就需要不断将自身的知识库输入到大语言模型中进行训练。 目前有两种常见的方法实现: 微调(Fine-tuning):通过提供新的数据集对已有模型的权重进行微调,不断更新输入以调整输出,以达到所需的结果。这适用于数据集规模不大或针对特定类型任务或风格进行训练,但训练成本和价格较高。 提示调整(Prompt-tuning):通过调整输入提示而非修改模型权重,从而实现调整输出的目的。相较于微调,提示调整具有较低的计算成本,需要的资源和训练时间也较少,同时更加灵活。 综上所述,微调的方案投入成本较高,更新频率较低,并不适合所有企业。提示调 ...
🔥 效能提升
未读2. 技术中心组织架构2.1 整体架构 技术中心由 2 个业务线和 5 个职能团队构成。其中事业线分为为: 业务部门一、业务部门二 职能团队为:开发团队、 测试团队、产品团队、UI 设计团队、运维团队和实施团队; 技术中心领导团队构成由 技术中心总负责人、技术负责人、产品负责人和各事业线项目经理以及各团队 Leader 构成,实行双线管理,双岗双责机制; 2.2 工作汇报机制 各事业线人员向项目经理汇报; 产品团队、开发团队、测试团队、运维团队向各团队 Leader 汇 报,各团队 Leader 技术负责人和产品负责人汇报; 项目经理、实施 Leader、 技术负责人和产品负责人向总负责人汇报; 2.3 部门划分与职能2.3.1 部门一界定各部门的职责范围 2.3.2 部门二界定各部门的职责范围 2.4 团队划分与职能 2.4.1 产品开发团队产品开发团队职责 技术引领与支持:关注国内外行业前沿发展动态及信息,研究并应用先进技术,管理公司整体核心技术,规划和引领公司开发技术发展,满足公司战略对技术提出的要求,以及系统更新产品升级的技术需求,向业务部门提供技术支 ...
🏠 HomeLab:中年男人之友
未读简介因为项目上有很多设计到监控视频的工作, 所以想通过树莓派来研究一下流媒体相关的技术, 所以总结了一些在树莓派上实现视频推流的方案. 硬件: 树莓派 5B: 8G 内存 RPi Camera V2: 800 万像素 IMX519: 1600 万像素, 自动对焦 摄像头一个摄像头使用了官方的 RPi Camera V2, 使用了索尼 IMX219 800 万像素传感器, 另一个使用了 IMX519, 具备 1600W 像素. RPi Camera V2 插上就能识别, 但是 IMX519 费了点功夫, 找到了几篇相关的讨论: Arducam 16MP AF camera on a Pi5 ? - Raspberry Pi Forums Arducam IMX519 not detected by Raspberry Pi 5 Setup IMX519 with any Raspberry Pi OS - Raspberry Pi Cameras - Arducam Camera Support Forum 模板:IMX519 Driver Installation - Wav ...
🧱 后端开发与架构
未读简介最近在寻找新的工作机会, 面试了一家做海外 AI 的公司, 面试官一上来就抛出了这个问题: HashMap 是如何实现的? 听到这个问题, 我真的很想怼他一句: 你们是在使用 HashMap 的时候遇到什么问题了吗? 你说说问题, 我或许能帮你们解决一下. 但是本着相互尊重的原则, 我还是硬着头皮回答了一下, 因为很久没有看这些底层实现细节了, 所以今天还是整理一下. Hash 的历史 这个人你一定要记住他, 他就是你每次面试都会被问到 HashMap 的灵魂人物, 哈希表的祖师爷: 汉斯·彼得·卢恩(Hans Peter Luhn), 他在 IBM 内部备忘录中首次描述了散列和链接的概念,这被认为是现代哈希表思想的一个重要起源。 从「卢恩算法」到「存储桶」思想在 20 世纪中叶,随着社会的信息化进程加快,各种身份识别号码开始在公共与私人生活中扮演重要角色,比如 信用卡号、社会保障号、电话号码 等。这些号码既难以记忆,也容易在手动操作中出错,更有被伪造的风险。 卢恩算法的诞生:为了防错校验为了解决这个问题,IBM 的科学家 汉斯·彼得·卢恩(Hans Peter Luh ...
🏠 HomeLab:中年男人之友
未读1. 背景在 树莓派 + 大方摄像头 打造婴儿监控 中简单介绍了通过刷大方摄像头第三方固件来解锁更多功能, 比如 RTSP, MQTT 等, 这里我们就使用 RTSP 结合树莓派来打造一个直播间. 2. 直播架构复杂的架构图: 简单的架构图: 2.1 推流工具 ffmpeg:https://www.ffmpeg.org/download.html OBS studio:https://obsproject.com/download 2.2 拉流工具 ffplay 播放器: https://www.ffmpeg.org/download.html 。 cutv www.cutv.com/demo/live_test.swf flash 播放器。 vlc 播放器。 ijkplayer (基于 ffplay): 一个基于 FFmpeg 的开源 Android/iOS 视频播放器。开源,API 易于集成;编译配置可裁剪,方便控制安装包大小;支持硬件加速解码,更加省电简单易用,指定拉流 URL,自动解码播放.。 2.3 流媒体服务器 SRS :一款国人开发的优秀开源流媒 ...
🏠 HomeLab:中年男人之友
未读1. 背景6 月儿子诞生, 又有折腾的接口了. 儿子睡着后会放到主卧, 老婆在客厅, 我在书房, 为了监控儿子的睡眠状态, 开始折腾家里的闲置设备. 2. 目标 使用小米的大方摄像头捕获儿子的实时视频, 如果儿子动了就报警; 使用树莓派搭建 MQ 服务器, 将大方的告警推送到手机上; 3. 整体架构 大方摄像头监控儿子, 如果监测到动作, 这通过自带的 MQ client 发送动作告警; 树莓派监听特定 topic, 如果符合预设值则通过 bark 发送动作告警; 妈妈收到 bark 消息, 前去查看儿子是否需要宝宝; 完美的闭环 4. 实施步骤4.1 大方摄像头刷固件小米的大方摄像头官方固件不支持自定义 MQ, 感谢大佬开源了第三方固件, 感谢开源. 大方色摄像头第三方固件 支持大方摄像头, 小方摄像头等多款摄像头, 提供了 RTSP, MQ, Telegram 等集成服务. 有了 RTSP 服务后, 可以接入 HomeKit 和 Home Assistant. 刷固件的教程官方写的非常详细, 这里提醒一点: 10.你应该看到蓝色 LED 闪耀 5 秒钟(不闪烁)并开 ...
🖥️ 基础设施与运维
未读1. 背景因为 DDNS-GO 接入了阿里云的 DDNS 服务, 会出现频繁的调用配置的 URL 去获取公网 IP 并更新到阿里云, 如果部分 IP 查询网站设置了请求限制, 将导致我的域名失效. 因此考虑使用 Nginx 来搭建一个获取公网 IP 的服务, 用来给 DDNS-GO 使用. 2. 使用 Nginx在网上查询资料后, 只需要对 Nginx 进行简单的配置即可: 123456789101112server { listen 8000; listen [::]:8000; server_name ip.xxx ip.yyy; server_tokens off; location = /ip { add_header Content-Type text/plain; access_log off; return 200 "$remote_addr\n"; }} 然后使用 curl http://ip.xxx:8000/ip 或者 ...
🧱 后端开发与架构
未读主要介绍了视频集成解决方案,包括视频监控数据流转、音视频传输协议对比、协议接入、主流的流媒体协议、播放协议对比、主流的封装格式、主要视频编码、常见的设备与连接方案、术语解释、业务场景、视频接入平台、流媒体服务选型以及平台选型等方面的内容。通过这篇文章,读者可以了解到视频集成常见的解决方案,并从现有方案中学习总结,以应对日益复杂的业务场景。 1. 目的随着承接的项目逐渐增多, 且大多数项目都会涉及到视频监管需求, 为了避免重复调研开发, 加快项目上线速度, 这里汇总总结了多种业务场景并提出对应的解决方案, 一方面是作为技术知识积累, 让团队人员了解视频集成常见的解决方案, 二是可以从现有方案中学习总结, 以应对日益复杂的业务场景. 2. 领域知识2.1 监控数据流 视频监控数据流转主要经过下面 5 个过程: 采集: 通过硬件设备采集音视频数据, 如果硬件设备支持, 还可以对数据进行粗加工, 比如添加水印; 推流: 设备端将音视频数据进`行编码压缩(H.264/H.265)后发送给流媒体服务器, 一般使用 RTSP (延迟最低); 流媒体处理: 负责转码, 传输 ...
🛠️ 开发工具与插件
未读缘起最近一段时间在开发 IDEA 插件, UI 界面需要使用到国际化配置, 于是就看了看 IDEA 是怎么实现的, 发现很简单, 正好能用到框架开发上. 打算为每个 atom-kernel 模块配置一个国际化配置, 同时将错误信息配置化. 因为是框架底层的组件, 如果使用 Spring Boot 的 i18n 实现就太重了, 因此需要一种超轻量级的实现方式. IDEA 中如何实现 i18nIDEA 使用 ResourceBundle 这个类实现了 i18n, 源码如下: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556/** * 特定作用域捆绑包的基类(例如“vcs”捆绑包、“aop”捆绑包等)。 * 使用模式: * 创建一个扩展该类并为当前类构造函数提供目标bundle路径的类; * 可选地在子类中创建静态facade方法-创建单个共享实例并委托给它的getMessage(String,Object…) * * @aut ...
















