2026-10-22

Tailscale的开源仓库ScaleTail 项目分析

Tailscale的开源仓库ScaleTail 项目分析

一、项目定位

ScaleTail 是 Tailscale 官方维护的开源仓库,地址为 github.com/tailscale-dev/ScaleTail。它本质上不是一个传统意义上的 “库",而是一个自托管服务的 Docker Compose 配置集合—— 目前包含 95+ 个预配置好的服务栈,核心目标是让你用零信任(Zero-Trust)的方式安全地部署各种自托管应用,无需在路由器上开端口、无需配置复杂防火墙规则。


二、核心工作原理

ScaleTail 的技术核心是 Sidecar(边车)模式:

┌─────────────────────────────────────┐
│  你的服务器(VPS / 树莓派 / 旧电脑)  │
│  ┌─────────────┐  ┌──────────────┐ │
│  │ Tailscale   │  │  应用容器     │ │
│  │ 边车容器    │◄─┤ (Jellyfin等) │ │
│  │ (网络层)    │  │  (业务层)    │ │
│  └──────┬──────┘  └──────────────┘ │
│         │ network_mode: service    │
│         │ 所有流量走 Tailscale 隧道  │
└─────────┼───────────────────────────┘
          │
    加密 Mesh 网络
          │
   你的其他设备(手机/电脑/平板)

关键机制:

  • 应用容器通过 network_mode: service:tailscale 共享 Tailscale 的网络命名空间

  • 不暴露任何端口到公网,所有流量都通过 Tailscale 的加密隧道传输

  • 每个服务在你的 Tailnet(Tailscale 私有网络)中表现为一台独立设备

  • 自动获得 HTTPS 证书,访问地址形如 https://jellyfin.你的tailnet.ts.net


三、六大功能特性

特性 说明
零信任安全 每个服务都运行在独立的 Tailscale 边车容器中,端到端加密,无需暴露公网端口
模板化配置 所有服务统一使用一致的 Docker Compose 模式,部署可预测、易维护
内置健康检查 每个服务都包含健康检查和依赖启动顺序(先等 Tailscale 就绪,再启动应用)
Serve / Funnel 双模式 Serve = 仅 Tailnet 内部私有访问;Funnel = 通过 Tailscale 基础设施暴露到公网,一行 JSON 切换
自动 HTTPS Tailscale 自动颁发证书,无需自己折腾 Let’s Encrypt
环境变量化 所有配置通过 .env 文件管理,开箱即用

四、95+ 应用分类及代表服务

按用途分为 6 大类:

1. 网络与安全(11 个)

  • Pi-hole / AdGuard Home — 全网广告拦截 DNS

  • Traefik / Caddy — 反向代理

  • 适用于:家庭网络网关、DNS 过滤、代理层

2. 媒体与娱乐(24 个)— 数量最多的一类

  • Jellyfin / Plex — 个人媒体服务器(影视库)

  • Sonarr / Radarr / Lidarr — 自动化剧集 / 电影 / 音乐下载管理

  • Immich — 自托管 Google Photos 替代品

  • 适用于:家庭影视中心、照片同步、媒体自动化

3. 生产力与协作(26 个)— 数量最多

  • Nextcloud — 私有云盘 + 文档协作

  • Vaultwarden — 自托管密码管理器(Bitwarden 服务端)

  • FreshRSS — 自托管 RSS 阅读器(Tailscale 官方博客专门写过教程)

  • Ghost / Docmost — 博客 / 文档平台

  • 适用于:个人云办公、密码管理、知识管理

4. 开发工具(14 个)

  • Portainer — Docker 可视化管理面板

  • Dozzle — 容器日志查看

  • Forgejo / Gitea — 自托管 Git 服务

  • Coder — 自托管开发环境

  • 适用于:开发基础设施、容器管理、代码托管

5. 监控与分析(7 个)

  • Uptime Kuma — 服务可用性监控告警

  • Beszel — 轻量服务器监控

  • Speedtest Tracker — 网速追踪

  • Tautulli — Plex/Jellyfin 播放统计

  • 适用于:运维监控、状态告警

6. 实用工具(13 个)

  • Gotify / ntfy — 自托管推送通知服务

  • Homebox — 家庭物品库存管理

  • LubeLogger — 车辆保养记录

  • 适用于:日常效率工具、生活管理


五、典型应用场景

  1. 家庭实验室(Homelab):把家里的旧电脑 / 树莓派变成私有云,从手机、平板、笔记本随时随地安全访问,不用做端口映射

  2. 个人媒体中心:Jellyfin + Sonarr + Radarr 全家桶,躺在沙发上用电视看自己的影视库

  3. 私有密码库:Vaultwarden 自托管,密码不交给第三方

  4. 开发环境自托管:Git 服务、容器管理面板、代码运行环境都在自己的 Tailnet 里

  5. 小团队内部工具:团队成员都加入同一个 Tailnet,就能访问内部 Nextcloud、监控面板等,相当于免费的私有 VPN + 应用部署平台

  6. 轻量公网服务:用 Funnel 模式把博客、API 暴露到公网,自带 DDoS 防护和 HTTPS,不用买云服务器


六、快速上手流程

# 1. 克隆仓库
git clone https://github.com/tailscale-dev/ScaleTail.git
cd ScaleTail/services/jellyfin

# 2. 配置 .env(填入 Tailscale Auth Key)
TS_AUTHKEY=tskey-auth-xxxxx
SERVICE=jellyfin
SERVICEPORT=8096

# 3. 一键启动
docker compose up -d

# 4. 访问
# https://jellyfin.你的tailnet.ts.net

总结

ScaleTail 不是一个传统意义上的 "代码库",而是 Tailscale 官方维护的自托管应用模板库。它的核心价值在于:把 "自托管服务 + 安全远程访问” 这个原本需要折腾半天的事情,变成了改几行 .env 文件、docker compose up -d 就搞定的一键部署。对于已经在用 Tailscale 组网的人来说,这是目前最省事的自托管方案。

使用Taliscale服务自己搭一个 RSS 阅读器

原文:It’s time to make your own RSS reader(Tailscale Blog)

也许你没感觉到,但互联网上仍然存在一种阅读方式:由你自己(而不是算法)来挑选、整理你想读的内容。这种方式就是 RSS(简易信息聚合)。你可以免费地把它自托管在自己手里,还可以借助 Tailscale 搭出一个随时随地都能访问的阅读器。

为什么要动手做这个听起来有点"复古"的项目?也许你只是想在刷信息流的时候少一点 doom 式焦虑;也许你已经受够了那些为注意力优化的设计、千篇一律的软文广告,以及同一条"新闻"被推荐 12 遍。又或者,如今是 2026 年,你可能想给 AI 智能体喂一个聚焦的订阅源,让它帮你挑出重点。

本文将带你搭建 FreshRSS——它既是 RSS 聚合器(负责抓取订阅源的中心枢纽),也是阅读器(负责把订阅源内容展示给你)。它是最容易自托管的项目之一,无论你家里有没有专门的硬件。而且我们会通过 Tailscale 给 FreshRSS 分配一个专属的安全 URL:它完全不暴露在公网上,但你又能轻松访问。

RSS 就是这种"非算法"的解药:你自己选择关注哪些网站(有时还能细到具体主题或作者),然后就等着接收它们的更新。用过几次 RSS、尝到它带来的清爽感之后,你就很难再回到别的阅读方式了。它有一种独立、小众的气质,因为这种个性化、高密度的阅读体验从来就不是主流默认值。不过这也挺好的——说实话,它就是很香。

在开始搭建之前,你需要先有一个 Tailscale 账号。Personal 个人版是免费的,设备数量不限、支持多用户,用来跑这么一个读新闻的小项目完全够。


第一步:为 FreshRSS 配置 Docker

我们用 Docker 来做,因为 Docker 就是 FreshRSS 官方推荐的部署方式。如果你以前从没装过 Docker 容器,听起来可能有点吓人。但我们这次从小处入手,用一个已经把 Tailscale 直接内置进去的配置文件来启动。不管你是部署在 VPS(虚拟专用服务器)、一台旧笔记本、树莓派还是 Mac mini 上,FreshRSS 的安装步骤用 Docker 都会大同小异。

下面是最省心的路线:

  1. 桌面端装 Docker:如果你那台 7×24 小时开机的机器跑的是 Windows 或 macOS,就去下载对应系统的 Docker Desktop 应用。装好后启动它,然后跟着往下走。

  2. 打开终端:在没有桌面环境的 Linux 系统(比如 VPS)上,你本来就在终端(严格说叫 shell)里。Windows 上启动"终端"(Terminal)或 PowerShell 都行;macOS 上直接打开 Terminal;树莓派系统或其他带桌面的 Linux 上,找到名字叫 terminal 或 “term” 的应用打开即可。

  3. 检查是否已有较新的 Docker:在终端输入下面这行命令并回车:

    docker compose version
    

    如果返回了版本号,就可以继续往下走。如果没有,运行下面这个脚本——它会在几乎所有主流 Linux 系统上安装并更新 Docker:

    curl -fsSL https://get.docker.com | sh
    

    然后退出 Linux 系统再重新登录一次,之后你就可以在关键命令前不用再加 sudo 也能用 Docker 了。

  4. 修复权限:如果你没有跑上面那个 Docker 官方脚本,就在终端里输入下面这条命令,让自己能执行 Docker 的关键操作:

    sudo usermod -aG docker $USER
    

    (注意 -G 是大写)。然后退出并重新登录,或者运行 newgrp docker 让自己立即进入正确的用户组。

  5. 测试一切正常:在终端输入下面命令,拉取一个测试镜像:

    docker run hello-world
    

关于 Docker 的安装和容器的启动,我们在一期 Docker + Tailscale 入门 YouTube 视频里讲过。如果本文里有哪一步你不太理解,Alex 的视频示例可能会有帮助。


第二步:建一个 Docker 目录

在你的设备(或 VPS)上建一个目录,用来存放 Docker 容器相关的东西,比如 FreshRSS 的配置。考虑到以后可能还会有别的项目,最好把它放在你的用户主目录里。在 Linux、macOS(以及可 SSH 登录的 VPS)上,命令长这样:

mkdir -p ~/docker

这里的 ~ 是主目录的简写,实际路径是 /home/你的用户名/docker(把"你的用户名"换成你自己的)。在 Windows 的 PowerShell 里则是:mkdir $HOME\docker。


第三步:下载 ScaleTail 的 FreshRSS 项目

ScaleTail 是一个仓库,里面装满了各种已经配好的容器,一键启动就能自动接入你的 Tailscale 网络(tailnet)。我已经把 FreshRSS 加进了 ScaleTail 仓库。你要做的就是下载这个目录、改几行配置文件、然后启动容器。

如果你用的是 macOS 或 Linux,可以用 git 命令把整个 ScaleTail 仓库克隆下来(它很小),然后进到 FreshRSS 目录里操作:

cd ~/docker
git clone https://github.com/tailscale-dev/ScaleTail.git
cd ScaleTail/services/freshrss

有些 macOS 用户会被提示安装"Xcode Command Line Tools",装上就好——你现在显然已经是开发者了。

如果你在 Windows 上,而且 git 命令没跑通,我建议你别再费劲往 PowerShell 里装 Git 了,得不偿失。改成直接下载 ScaleTail 仓库的 ZIP 压缩包,把 ZIP 文件移到你刚才在主目录里建的那个 docker 文件夹中,就地解压,会得到一个 ScaleTail-main 目录。然后进到 ScaleTail-main/services/freshrss 里即可。(后文凡是出现 ScaleTail 目录名的地方,Windows 用户都换成 ScaleTail-main。)

现在我们来把这套配置好,让它通过 Tailscale 连接。


第四步:获取并填写你的密钥和变量

如果你还没注册 Tailscale 账号,先注册一个,并在跑 Docker 的那台设备上安装 Tailscale。一旦 Tailscale 在那台设备上跑起来,你就能从 tailnet 里的任何其他设备访问它。这样以后排查问题就方便多了,尤其是当这台设备没接屏幕和键盘的时候。你还可以后续配置 Tailscale SSH,让访问更省事。

在 Tailscale 的网页管理控制台里,进入 Settings(设置)> Keys(密钥),点击 Generate Auth Key(生成认证密钥) 按钮。给这个密钥起个名字,比如 freshrss。如果你看到"Pre-approved(预批准)"选项,把它打开。

点击生成密钥后,把密钥复制下来——先别关这个窗口,下一步马上要用。

在你的 ~/docker/ScaleTail/services/freshrss 目录里有一个 .env 文件,我们要把密钥填进去。如果你有喜欢的文本编辑器,直接用它打开 .env;没有的话,在 macOS 和 Linux 上可以运行:

nano ~/docker/ScaleTail/services/freshrss/.env

这会在一个极简的终端编辑器 nano 里打开 .env。用方向键移到 TS_AUTHKEY= 这一行,把光标放到等号后面。粘贴时,Mac 用 Command+V,Linux 用 Control+Shift+V。这一行最终应该长这样:TS_AUTHKEY=ts-abcxyz …。

粘好密钥后先别急着关文件,还有几处要改:

  • 在 TZ= 这一行的等号后面填你的时区,用"tz"格式,比如 Asia/Shanghai。
  • TAILNET_NAME= 这一项,去你的网页管理控制台的 DNS 设置里看你的 Tailnet DNS 名称。如果还没改过,可以点 “Rename tailnet” 起一个比那串默认字母数字好记的名字。如果你这是 Tailscale 上的第一个容器,正好顺手摇一个新的半随机名字。不管怎样,把控制台里显示的那部分粘进来,比如 velociraptor-noodlefish.ts.net。
  • ADMIN_PASSWORD 和 ADMIN_API_PASSWORD 旁边各填一个像样的密码——前者保护你的 FreshRSS 管理面板登录,后者保护外部对其订阅源和数据的访问。
  • ADMIN_EMAIL 填你自己的邮箱。
  • 最后,如果你不想让这个节点在 tailnet 里显示为 freshrss,就在 .env 文件顶部附近的 SERVICE= 那一行改掉名字。

填完密钥、时区、tailnet 名、密码和邮箱(呼!)之后,依次按:Control+O("Write out",即保存)、回车(确认文件名)、Ctrl+X(退出)。

Windows 用户最推荐用 Visual Studio Code(VSCode)。装好后用它打开 docker\ScaleTail-main\services\freshrss 目录里的 .env 文件,把上面提到的所有内容都改好:认证密钥、时区、tailnet 名(可选)、密码、邮箱。然后在 VSCode 右下角看一眼,确保显示的是 LF;如果显示 CRLF,就改成 LF("Linux 文件结尾",这事有点怪),再保存文件。


第五步:启动 FreshRSS

是时候启动我们的中心枢纽了。在终端里,先确认你正处在放着 .env 和 compose.yaml 的那个目录(如果你沿用了上面的布局,就是 cd ~/docker/ScaleTail/services/freshrss),然后输入:

docker compose up -d

这是告诉 Docker:用你的 compose 文件把容器"起来"(即让它运行起来);-d 是"detached(分离模式)"的意思,代表即使你最后关掉这个终端,它也会继续在后台跑。

你应该会看到 Docker 拉取镜像、创建网络和卷(虚拟磁盘)、然后逐个启动容器。它们成功了吗?可以用 docker compose ps 查看每个容器的状态。tailscale-freshrss 最终应该显示 healthy(健康),app-freshrss 显示 running(运行中)。如果不对,可以跑 docker compose logs tailscale 看看日志。如果你看到关于密钥或"auth"过期、无效的报错,就去新建一个 Tailscale 密钥,填回 .env 文件,再跑一次 docker compose up -d。

等 FreshRSS 运行健康、Tailscale 也装好并连上之后,打开浏览器访问:

http://<设备名>.<tailnet名>.ts.net

把 <设备名> 换成你起的节点名(比如 freshrss),把 <tailnet名> 换成你的 tailnet 名(比如 noodlefish-velociraptor,可以在管理控制台的 DNS 设置里找到)。

记得去 Settings(设置)> Configuration(配置)> Display(显示) 里挑一个你喜欢的主题。(配图里用的是 Nord 主题。)


第六步:配置 FreshRSS

在浏览器里打开 FreshRSS,用你刚才在 .env 里设置的用户名密码登录。

进来了。接下来你得把订阅源收集起来。通常,你可以直接把一个网站的主页 URL 粘进 FreshRSS 的"添加订阅源"输入框,它会自动找到 RSS 地址。

如果这样没反应,就翻到你感兴趣网站的页脚,那里常常能找到 RSS 或 Feeds 的链接——有时它们只藏在网站的博客或新闻栏目里。EFF 的 RSS 指南在如何整理订阅列表方面有很好的建议,包括怎么从社交网站、YouTube、Reddit、Tumblr 等地方抓取订阅源。

把其他阅读器(以及 AI)接到 FreshRSS 上

你想把 FreshRSS 配合 NetNewsWire 或其他阅读 App 一起用?想把它开放给 AI 智能体,让它扫描你的订阅源、把最相关的新闻提醒给你?都只要点几下鼠标。

在 FreshRSS 的设置里,进入 Authentication(认证) 一节,勾选 “Allow API access(允许 API 访问)",点击提交。接着在设置的 Profile(个人资料) 里往下翻一点,你应该能看到 API 密码已经设好了(就是你在 .env 里填的那个)。如果没有,就在这里设一下再提交。

打开这个 API 之后,你就能把 NetNewsWire、Reeder、FeedMe 等各种 App 接到 FreshRSS 上。以 NetNewsWire 为例:进入 Settings > Add Account,在 Self-Hosted(自托管)分类里选 FreshRSS。填入你的 API URL——要么是你的 tailnet 地址:

https://freshrss.<你的tailnet>.ts.net/api/greader.php

要么是本地地址:

http://<IP地址>:8080/api/greader.php

然后填用户名和你的 API 密码(不是网页登录密码!),就可以开始阅读了。

想把 Claude、ChatGPT、Hermes 或其他大模型接到你的订阅源上?用的是同一个 API URL:你的智能体可以 POST 你的用户名和 API 密码来换取一个认证令牌,然后就开始干活。


现在,你带着力量阅读了

我自己有一个大模型在读我的 FreshRSS 订阅源,每天两次,为我整理出 Tailscale 技术领域里最值得关注的要点。它能抓住有趣的东西、把上下文交代清楚。但它更妙的作用是:推着我主动去翻完整的订阅列表——既看看那些我没料到会出现的东西,也顺便补一补视野之外的新闻和动态。

Google Reader 的死亡是互联网写作者、读者和爱好者心中的一个标志性时刻,但它并不是 RSS 的死亡。它或许标志着一件大事:在大多数人眼里,互联网那种"分布式、开放"的感觉从此变了味。它本应成为一记警钟。如果你想要的东西比那些顺着你的上网习惯精准投喂的内容更好,就得自己花一点心思去策展。你得自己去发掘、去分类,把那些有想法的观点和令人惊喜的"兔子洞"收进你的订阅列表。这是播种式的工作,时间越久回报越大。

出发吧,去收集一批订阅源,把它们安放在你自己的网络上。

2026-05-29

如何准备适合的美术器材

按:本文是少数派共创栏目《写给家长的幼儿美术启蒙指南》

的第三章,在栏目更新完成之际,免费开放给大家阅读,希望能给正在为挑选美术器材而犯难的你有所帮助。

本栏目在专业的理论基础之上,结合作者多年育儿经验与真实案例,用足够简单、实用、接地气的语言,让每个人都能逐渐掌握美术启蒙所需的技巧。此外,栏目中也不乏与「美术教育」相关的普适性内容,希望也能为有着「艺术源于生活 」「我想画画但不知道画什么」「如何培养创造力」等问题感兴趣的艺术爱好者带来一些启发。> 了解更多

 

关联阅读:守护孩子的天马行空:美术专业就能做好幼儿美育启蒙吗?


在上一章中,我们了解到孩子的美术能力是随着身心的成长而逐渐进步的。而为了更好地支持孩子创作,家长最好可以为孩子提供与自身能力相匹配的美术材料与器材。

为什么要特别强调它们的重要性呢?我们不妨做一个假设:假如你兴冲冲地向自己的父母说要画画,想要一些白纸与彩笔。他在听到你的话后,只是随手拿起身边的中性笔和记事本递了过来。此时,你会作何感想?当你打开本子,面对满眼的横格线而不知该如何下笔时,又会怎么想?当你终于克服了横格线的干扰开始创作,手中坚硬的笔尖却不慎将纸张划破,这一刻,你的心情又会发生怎样的变化?

我想,你的心情一定糟糕透了,甚至会产生「不想画了」的念头 —— 成人尚且如此,何况是孩子?这样的经历若是反复出现,必然会严重打击孩子的创作热情。而这种结果,显然已经背离了我们进行美术启蒙教育的初衷。而这,就是我为什么想要先讲讲如何为孩子选择适合的美术材料与器材的原因。

蜡笔

对于两岁左右的孩子来说,适合抓握的蜡笔往往是最佳选择。

蜡笔,主要由蜡和颜料混合制成,质地坚硬,颜色鲜艳且丰富,往往能够迅速吸引到孩子的目光。家长在选购蜡笔的时候,我建议选购形状较为粗胖的蜡笔。这种蜡笔不仅有助于孩子稳固地抓握并降低操作难度,如果孩子不慎将它放入口中,也不会被轻易咬断、误食。

「粗胖」的蜡笔

在使用蜡笔时,最好选择质地较为粗糙的纸张(例如蜡笔专用纸或素描纸等),以获得最佳的绘画效果。这是因为蜡的附着力较差,在质地细腻的纸张上使用时,很难将颜色附着在纸面上。同时因为蜡的渗透性也不强,所以画出的线条很难进行混色。因此,蜡笔仅适合作为孩子「入门级」的绘画工具。

蜡笔在粗糙的纸面上更容易留下色彩

彩笔

随着孩子手部能力的提高,大概三岁之前,他就会开始尝试控制自己画出的线条了。此时,难以精确控制的蜡笔将不再适应孩子的发展(蜡笔画出的线条两端很难对齐)。为避免孩子因此产生挫败感,家长应及时为孩子准备另一种便于操作的画材——彩笔(彩色图画笔的统称)。

水彩笔

水彩笔,是一种常用于儿童绘画的水性彩笔。它一般是通过笔身内部的纤维或海绵材料吸附颜料,然后通过纤维材质的笔头将颜料释放到纸面上。水彩笔最大的优势是简单易用、色彩明快、价格实惠。但受材料限制,它的缺点也有不少,例如出水不均匀、笔头容易磨损变形、内部颜料容易干涸等。因此,它通常只适合买一套给孩子过渡使用。若是想要追求更为可控的绘画效果,还是建议选择它的「升级版」——马克笔来创作。

儿童水彩笔 图片源自网络

马克笔

马克笔,是英文「Marker Pen」的音译,它其实与我们口中的「记号笔」是同一种笔。只是后来为了区分廉价的单色记号笔与用于美术绘画等用途的高级多色型记号笔,才将前者称为记号笔、后者叫做马克笔。传统马克笔内部填充的多为油性或酒精性颜料,因此它散发出的味道会有一些刺激性。但如今,使用这些颜料的马克笔已经退居了二线,流行的是一种使用水性颜料的「水性马克笔」。

水性马克笔填充的颜料通常是以水为基底调制而成,气味小且无毒,即使不小心弄脏衣物或桌面,用湿布或肥皂水也可轻松清洗;色彩亮丽、笔触明显,线条利落、爽快,笔触也非常平滑、均匀;笔头多为尼龙或海绵材质,笔尖设计精细,结实耐用。

《森林里的小兔子》| 马克笔、打印纸

在选购水性马克笔的时候,会有非常多的颜色以及不同形状的笔尖可供选择。在这些形态各异的笔尖之间,我认为比较适合这一年龄段孩子的笔尖是锥形笔尖,这种形状的笔尖易于控制,也能兼顾画线与涂色。其次是普通圆头的马克笔,这种笔头较为适合画线,用它大面积涂色稍显困难。最后是刀型笔尖,这种笔尖就不太适合孩子使用了,因为它很难控制(对于孩子而言)。至于颜色方面,我认为购买 12 或 24 色的马克笔足以,没必要购买 30 色及以上的笔。一方面是因为孩子暂时还无法分辨相近的颜色,另一方面是因为过多的选择,也有可能会导致孩子将注意力分散到笔的选用上,从而影响他的创作思路。

除了普通的水性马克笔,另一种水性丙烯马克笔也是不错的选择。它内部装填的是水性丙烯颜料,保留了部分传统丙烯颜料的特点:笔迹不渗化,边缘光滑,有一定的遮盖能力,并且适用于多种材料表面(例如亚克力、玻璃、木板等)。它不仅可以用来画画,也非常适合在与孩子 DIY 的时候给材料涂色。

用丙烯马克笔和积木 DIY 的时钟

水性丙烯马克笔的笔尖通常有两种:锥形软头和圆形硬头。其中,锥形软头的笔尖弹性比较好,虽然覆盖力稍弱,但出水均匀,可控性高,更适合孩子使用。至于圆形硬头的笔尖,则更适合在铜版纸、牛皮纸等特种纸张或亚克力、木板等硬质材料上使用,因为它的出墨量大且笔头硬度高,在普通纸张上使用很容易让纸张因摩擦起毛、破裂,因此不太适合孩子日常绘画。

白板笔

此外,白板笔这种特殊的马克笔同样值得介绍。它的特别之处在于墨水中含有挥发性溶剂(如乙醇等),能在书写时让墨水只附着在白板表面,而不是渗透进去,这使得白板笔的笔迹可以轻松被擦掉,完全不留痕迹。

白板笔

家长在为孩子选购白板笔的时候,应选择儿童专用、无毒、可水洗的产品。笔杆不易太粗,与成人手指粗细差不多就好,便于孩子操控。另外,白板笔虽然也可以在纸上书写,但由于它的笔尖与墨水是专门为白板这种光滑、无孔的表面设计的,因此在白板以外的材料上使用时,可能会对笔尖的使用寿命造成影响。

《彩色雪糕》| 白板笔、白板

油画棒

孩子三岁以后,他的手眼协调能力会获得进一步的提升,也积累了一些创作经验,这意味着家长可以试着让孩子体验一些「进阶」画材了。

首先是一种被称为油画棒(又称粉蜡笔)的画材,由于它与蜡笔都属于棒状的绘画工具,所以外观上很容易使人混淆。但实际上,它们两者的成分、质地和绘画效果都有着很大区别:蜡笔是由蜡(如石蜡)与颜料混合制成,质地坚硬,覆盖力弱,无法混色;而油画棒是由油性黏合剂与颜料混合制成,质地较软且油腻,覆盖力强,可以反复涂抹与混色。

蜡笔与油画棒的涂抹效果对比(左为蜡笔,右为油画棒)

因为油画棒的使用方式与蜡笔几乎相同,所以孩子通常可以很快上手,无需额外适应。

12 色油画棒

但需要家长注意的是,油画棒作为一种油性绘画材料,有些厂家会为了追求更加艳丽的效果而添加少量可溶性重金属元素(如铅、钡、铬、锑、镉、汞、砷等)。如果孩子长时间接触这种油画棒,可能会对身体产生危害。因此在选购产品的时候,请一定要在品牌官方网店或正规文具店选购,并在购买时检查该产品是否符合国家标准 GB 21027-2020《学生用品的安全通用要求》。

油画棒包装上标注的执行标准

还有一点是,油画棒虽然与蜡笔在外观上很相似,但它并不适合年龄较小的孩子使用。因为它的质地较软,很容易被咬下或吞食,造成危险;还因为幼儿的精细控制能力比较差,使用油画棒时很容易将手或衣服等外物弄脏,而油性颜料的特性决定了它极难被清洗干净。

《苹果》| 油画棒、彩纸

水粉颜料

除了油画棒,家长还可以选购一些颜料给孩子使用。与前面介绍的笔类材料相比,使用颜料需要更多的准备工作——需要先将洗笔筒装满水,接着拿出画笔、铺好画纸,然后将颜料挤到调色盘中,最后才可以开始作画。这一过程虽然有些繁琐,却也能在一定程度上帮助孩子收束自己的思绪,将注意力集中在创作上。

市面上流行的多种颜料之中,较为适合孩子使用的是水粉颜料。它是一种以水为媒介的不透明水彩颜料,兼具了水性颜料的便捷与油性颜料的厚重感。在画面表现力出色同时,也十分易于掌握,还更加安全(油性颜料为保证颜色的持久与鲜艳,可能会含有重金属化合物)。

宜家莫拉颜料(CE 标准)

家长在选购水粉颜料的时候,建议向店家询问产品是否有经过质量检验(例如 GB、CE 等),虽然质检报告本身并不能绝对保证使用安全,但至少能多一份保障。

某品牌检测报告

在颜色方面,购买时一般选择基础的八色(通常是黑、白、黄、蓝、青、绿、红、紫八种颜色)就够了,这八种颜色几乎可以调配出所有颜色。至于调色盘,如果买颜料时有送那最好,如果没有,也无需单独购买,可以找一些家里闲置的盘子或其它材料当作调色板,只要保证它是平底且不吸水的就行。

关于画笔的选择,较为理想的配置是分别购买大中小三个型号的尖头(或称圆头)和扁头画笔,其中扁头用于涂面,尖头用来画细节。若是觉得六支画笔有点多,只买三个型号的扁头也是可以的。因为扁头更容易「挖」出颜料,也更容易将颜料「抹」均匀。在选购的时候,尽量选择短柄、笔头为人造纤维(通常为尼龙或聚酯纤维制成)的画笔,这种画笔不仅价格实惠,而且笔头弹性适中,不易分叉,更容易被孩子掌握。

这样的六只画笔足够孩子使用

至于搭配水粉颜料使用的画纸,建议购买水粉专用纸(简称水粉纸)。这种纸粗糙的表面可以帮助颜料附着,防止颜料流动;适度的吸水性与足够的厚度能保证纸张承受得住颜料堆叠而不渗透。

水粉纸纹理

在使用水粉颜料的时候,别忘记准备一个洗笔筒(可以将家里闲置的瓶瓶罐罐利用起来)和一小块抹布。洗笔筒用来清洗画笔上的颜料,抹布用来擦掉笔头上多余的水分。作品完成后,如果颜料剩余太多,可以将它留着,下次使用时喷点清水进去化开即可,不会影响使用效果。

洗笔筒与抹布

铅笔

最后再来说说大家熟知的铅笔。铅笔虽然是一种很实用的绘画工具,但它其实并不适合美术启蒙阶段孩子。一方面因为铅笔的笔芯较硬,年龄尚小的孩子通常没有足够的力气画出清晰的线条;另一方面也因为铅笔的笔尖较为尖锐,容易给孩子带来潜在的安全风险。因此,铅笔更适合年龄较大的孩子使用。

注意事项

最后,仍有几点安全事项需要特别强调一下:

  • 不要贪便宜,尽量购买符合相关国家标准的画材;
  • 永远不要让孩子在没有监督的情况下使用颜料和彩笔,避免孩子将画笔或沾有颜料的手放进嘴里;
  • 在使用有挥发性的画材(例如马克笔、白板笔等)时,应该尽量保持室内空气流通,避免在密闭空间中长时间吸入它们散发出的气味;
  • 在创作结束后,应与孩子及时清理包括但不限于身体、桌面等沾染颜料的地方,养成良好的使用习惯。

创作环境的布置

首先,一个理想的创作环境应该有充足的自然光照,以及一张平整的桌子;桌子不宜太大,要保证孩子可以在任何一边都能够伸手拿到自己的画材;如果家里有两位小朋友,桌子的大小也要保证他们在面对面而坐的时候,能够创作自己的作品1;桌子上面最好铺有桌布,桌布应尽量选择防水且不易反光的材料,避免眩光以及弄脏桌子;座位要选择带靠背的椅子,最好为木制品,不需要加装软垫2。

选购桌子的时候,没有必要选择带斜面的桌子3。因为孩子在水平面上更容易作画,特别是在他年龄尚小、自身控制力不足的时候,倾斜的桌面往往容易使纸张掉落、颜料顺着斜面流淌等,给孩子的创作带来不必要的麻烦。

桌椅的搭配可参考《GB/T 3976-2014 学校课桌椅功能尺寸及技术要求》

在光照方面,如果需要灯光照明,那么应当尽量购买照度 AA 级、色温 4000K 左右、显色指数 Ra≥80、无频闪、低蓝光的照明设备4。同时在摆放时也应注意光照角度,以免手部阴影遮挡视线 —— 以右手拿笔为例,光源应摆放在身体左前方,这样就阴影就不会影响视线了。灯光的照射高度不要过高或过低,高了会影响光照强度,低了则容易产生眩光。

有一个较为简单的判断方法是:当孩子坐直并平视前方时,照明设备的发光点应略低于眼睛(如果有灯罩,以灯罩下沿为准),而不能直接出现在视野中。另外,在使用桌面照明设备时,房间里的大灯也应该开启,避免明暗对比过强导致视觉疲劳。

光源摆放示意图(Gemini 生成)

至于孩子的画材,应有一个固定的存放位置。蜡笔、彩笔、颜料、调色盘等最好分类摆放,不要混在一起,方便孩子拿取。纸张最好平整存放,尽量不要将它折叠或打卷,以免出现折痕与翘边,影响孩子使用。

我家的布置,仅供参考

总结

至此,适合孩子使用的美术材料与环境布置基本介绍完毕。不过仍需强调的是,画材的选购切勿贪多,家长以孩子的需求为准,选购适量且适合的美术材料即可。环境布置也同样如此,除了必要的器材外(如台灯、桌椅等),一切从简就好,毕竟美术创作的核心始终是源于孩子内在的思维与情感,而非这些外物。

2026-05-21

偏远地区远距离低耗能通讯系统架设可行性方案(基于LoRa+Meshtastic)

 偏远地区远距离低耗能通讯系统架设可行性方案(基于LoRa+Meshtastic)

一、方案总论

1.1 项目背景

我国山区、戈壁、草原等偏远地域广袤,此类区域普遍存在移动通信基站覆盖率低、网络信号薄弱甚至无信号的问题。传统通讯方式高度依赖运营商基站、光纤网络等基础设施,偏远地区基建铺设成本极高、施工难度大,且自然灾害、极端天气易造成基站瘫痪,通讯稳定性极差。同时,野外勘探、牧区作业、山地巡检、应急救援、野外科考等活动,对低成本、低功耗、无依赖的离线通讯需求迫切。
本次方案依托LoRa低功耗远距离通信协议与Meshtastic开源网状组网系统,搭建去中心化、无基站、无互联网的自主通讯网络,解决偏远地区通讯盲区问题,实现文字通讯、位置共享、数据回传等功能,适配山区、戈壁、草原复杂地形,为野外作业、应急保障、区域管控提供可靠通讯支撑。

1.2 方案适用范围

本方案专门适配山区、戈壁、草原三类偏远无基建区域,可应用于牧区日常通讯、山地地质勘探、戈壁科考探险、野外应急救援、边防简易管控、偏远营地组网等场景,不受运营商网络、WiFi、有线宽带限制。

1.3 核心建设目标

  1. 自主组网:脱离基站与互联网,搭建去中心化网状通讯网络,实现区域内自主通信;
  2. 远距离传输:适配不同地形,单节点通信距离可达5-15公里,空旷戈壁草原最远可达数十公里;
  3. 低耗长效:设备功耗极低,依托充电宝、太阳能板即可长期续航,满足野外长期部署需求;
  4. 安全加密:采用AES-256加密算法,保障通讯数据隐私安全,防止信息泄露;
  5. 低成本运维:硬件设备平价开源,无需通讯资费,后期运维简单,无高额运营成本。

二、核心技术原理

2.1 LoRa通信协议技术优势

LoRa是专为远距离、低速率无线通信研发的射频协议,核心特性适配偏远野外通讯场景,技术优势如下:
  1. 远距离传输:采用扩频调制技术,抗干扰能力极强,弱信号环境下仍可完成数据解码。建筑密集山地通信距离可达5公里,无遮挡戈壁、草原可达10-15公里,水面、空旷无人区最远可达数十公里;
  2. 超低功耗:设备待机、发射功耗极低,无需高压供电,常规充电宝可连续使用数天至数周,搭配便携太阳能板可实现永久在线;
  3. 抗干扰性强:独特编码算法过滤野外电磁干扰、地形遮挡造成的信号损耗,适配山地遮挡、戈壁风沙、草原开阔等复杂环境;
  4. 轻量化硬件:设备体积小巧、便携易携带,无需大型基站设备,部署灵活,适配野外移动作业。

2.2 Meshtastic开源组网系统

Meshtastic是基于LoRa技术开发的开源去中心化网状网络项目,规范软硬件接口,提供成熟的设备解决方案,完美弥补LoRa协议仅为信号协议、无成型组网设备的短板,核心功能如下:
  1. 网状接力组网:所有终端节点互为中继,消息可通过多节点接力传输,突破单节点距离限制,扩大通讯覆盖范围;
  2. 多端适配管控:支持安卓、苹果移动端APP、网页客户端、Python开发工具,可实时查看设备状态、收发消息、查看信号强度;
  3. 通用适配性:适配26类LoRa通用频段,支持39种语言,全球开源社区维护,设备兼容性强;
  4. 加密安全传输:全系标配AES-256加密,点对点传输加密,杜绝通讯数据被窃取、篡改。

三、系统整体建设方案

3.1 系统总体架构

本通讯系统采用终端节点+中继节点+管控终端三级架构,无中心基站,去中心化组网,架构简单、稳定性强:
  1. 移动终端节点:供野外人员、移动作业设备携带,实现人员通讯、定位打卡、消息发送,选用便携手持LoRa终端;
  2. 固定中继节点:部署在山顶、高地、戈壁凸起地带、草原制高点,作为信号中继站,弥补地形遮挡盲区,延长传输距离;
  3. 管控后台终端:依托手机、平板、电脑搭建管控端,实时监控网络节点状态、人员位置、通讯记录,实现区域通讯统筹管理。

3.2 硬件设备选型

结合偏远地区野外作业需求,优先选用低成本、低功耗、耐高低温、抗风沙的开源Meshtastic适配设备,具体选型如下:
设备类型
推荐型号
核心参数
适用场景
手持移动终端
LilyGo T-Echo
电子墨水屏、内置GPS、超低功耗、便携防水
野外人员随身携带,个人通讯、定位
固定中继终端
Heltec LoRa 32 V3
外置高增益天线、支持太阳能供电、信号穿透性强
高地定点部署,信号中继放大
供电配套设备
便携太阳能板+大容量充电宝
5V稳压供电、防尘防水、低温续航稳定
野外无市电场景,设备长效供电
所有设备均适配Meshtastic开源系统,无需复杂调试,出厂预设通用频段,开机即可组网,硬件采购成本低廉,单台基础终端成本控制在25-70美元区间。

3.3 差异化部署方案(分地形)

3.3.1 山区地形部署

山区沟壑纵横、山体遮挡严重,信号衰减幅度大。部署方式以高地定点中继+山谷移动终端为主,在山顶、山脊等高海拔位置布设固定中继节点,节点间距控制在4-6公里;山谷作业人员配备手持终端,依托山脊节点接力传输,规避山体遮挡问题,保障山谷内通讯通畅。

3.3.2 戈壁地形部署

戈壁地势平坦开阔、无遮挡,但风沙大、昼夜温差高。简化部署密度,节点间距可扩大至10-15公里,优先选用防尘防水耐高温设备;在戈壁作业营地、勘探点位布设固定节点,移动作业人员自由组网,空旷环境下单节点直连距离可达15公里以上,无需密集布设中继。

3.3.3 草原地形部署

草原地势平缓、遮挡极少,人员流动性强。采用稀疏中继+动态组网模式,每隔10公里布设一处简易太阳能中继节点,牧区牧民、巡检人员携带手持终端,设备自动组网、自动中继,满足大范围游牧、巡检的通讯需求,空旷区域极限传输距离可达20公里以上。

3.4 软件系统配置

  1. 系统固件:全部设备刷入官方Meshtastic开源固件,默认开启AES-256加密,自定义通讯频段,规避民用信号干扰;
  2. 客户端适配:工作人员手机下载Meshtastic移动端APP,蓝牙连接终端设备,实现文字聊天、位置共享、信号强度查看、节点在线监测;
  3. 后台管控:依托网页客户端搭建简易管控平台,管理人员查看全网节点分布、人员动态,导出通讯日志,适配野外管控需求;
  4. 参数优化:野外模式下调高发射功率、延长信号唤醒间隔,降低功耗,适配长期离线作业。

四、能耗与续航方案

4.1 设备能耗分析

LoRa终端设备功耗极低,常规手持终端待机功耗<5mA,发射峰值功耗≤120mA,无高频耗电元件。相较于对讲机、卫星电话,能耗降低60%以上,适配野外无市电供电场景。

4.2 供电方式配置

  1. 移动终端:配备10000mAh充电宝,单次充满电可连续待机7-15天,日常文字通讯模式下续航可达2周;
  2. 固定中继节点:搭配5W便携单晶硅太阳能板+储能电池,白天太阳能充电,夜间电池供电,实现全年无间断续航,无需人工充电维护;
  3. 低温防护:戈壁、山区冬季低温环境下,为电池加装保温防护壳,避免低温断电,保障极端温度下正常供电。

五、成本预算分析

5.1 一次性硬件成本

本方案无基建铺设费用,无需基站搭建、无需布线,仅需采购终端设备与供电配件,硬件成本低廉。以50平方公里作业区域为例,布设10个固定中继节点、30台手持移动终端,整体硬件采购成本控制在2-3万元,远低于运营商基站搭建、卫星通讯租赁费用。

5.2 后期运维成本

  1. 通讯资费:零资费,无需SIM卡、无流量费用,永久免费组网通信;
  2. 维护费用:设备无机械损耗,太阳能供电无需电费,每年仅需一次设备除尘、固件升级,运维人工成本极低;
  3. 迭代成本:开源固件免费更新,无需支付软件版权费用,可长期优化通讯算法。

六、可行性综合分析

6.1 技术可行性

  1. 技术成熟:LoRa协议商用多年,抗干扰、远距离传输技术稳定;Meshtastic拥有全球500+代码贡献者,长期迭代优化,适配各类野外复杂地形;
  2. 组网灵活:去中心化网状网络,单点故障不影响全网运行,任意节点损坏后,其余节点自动重组网络,稳定性极强;
  3. 操作简单:设备开机自动组网,移动端APP操作通俗易懂,无需专业通讯技术人员,普通工作人员可快速上手。

6.2 环境可行性

  1. 地形适配:针对性优化山区、戈壁、草原部署方案,通过高地中继、稀疏组网解决地形遮挡、空旷传输问题;
  2. 气候适配:设备防尘、防水、耐高低温,可耐受戈壁风沙、山区低温、草原昼夜温差,适配野外极端气候;
  3. 无环境破坏:无需开挖基建、铺设线路,设备轻量化部署,不破坏偏远地区自然生态环境。

6.3 经济可行性

相较于传统通讯方案,本方案性价比优势显著:运营商偏远基站单站建设成本超百万元,卫星电话年费高昂且按流量收费;而本方案一次性硬件投入、零长期资费,运维成本极低,适合中小型团队、牧区、基层巡检单位长期使用,经济门槛极低。

6.4 风险可行性

系统无中心化设备,不会因自然灾害、人为干扰导致全网瘫痪;AES-256加密杜绝信息泄露,无网络劫持风险;设备无信号辐射污染,符合野外环保标准,使用安全可靠。

七、现存风险与优化对策

7.1 现存风险

  1. 传输速率限制:LoRa为低速率通信技术,仅支持文字、定位、简易数据传输,无法传输高清图片、视频;
  2. 极端遮挡衰减:深山密林、厚重山体遮挡场景下,单节点信号衰减明显,传输距离缩短;
  3. 人为设备损耗:野外作业易出现设备磕碰、遗失,沙尘侵入设备影响使用寿命。

7.2 优化对策

  1. 功能适配优化:明确系统定位为应急通讯、简易办公通讯,仅保留文字、定位、气象数据传输功能,不追求高速传输,贴合野外刚需;
  2. 点位精准部署:深山区域加密中继节点,全部部署于无遮挡高地,搭配高增益外置天线,降低山体、树木信号损耗;
  3. 设备防护升级:为手持终端加装防水防震保护壳,固定节点加装防尘防护罩,定期清洁设备,降低自然损耗;
  4. 备用冗余部署:关键管控点位增设备用中继节点,主节点故障时自动切换,保障通讯不间断。

八、实施计划与落地步骤

8.1 前期筹备阶段(1-7天)

  1. 勘测作业区域地形,标记高地、山谷、营地等关键点位,规划节点布设位置;
  2. 采购终端、太阳能供电、防护配件等硬件设备,完成固件刷机、频段调试;
  3. 搭建管控后台,调试移动端APP,完成设备加密、分组设置。

8.2 现场部署阶段(7-15天)

  1. 在规划高地布设固定太阳能中继节点,完成天线调试、供电接线;
  2. 为作业人员配发手持终端,完成人员绑定、定位校准;
  3. 全域信号测试,排查信号盲区,增补中继节点优化网络。

8.3 试运行运维阶段(长期)

  1. 常态化监测节点在线状态、信号强度、续航情况,做好运维记录;
  2. 定期升级系统固件,优化通讯参数,适配季节气候变化;
  3. 开展人员培训,规范设备使用、存放流程,降低设备损耗。

九、方案结论

本次基于LoRa+Meshtastic搭建的偏远地区远距离通讯系统,技术成熟、成本低廉、部署简单、适配性强,完美解决山区、戈壁、草原无基站、无网络区域的通讯难题。系统依托去中心化网状组网、超低功耗硬件、AES-256加密技术,实现远距离、高安全、长效稳定的离线通讯,无需高额基建投入、无长期通讯资费。
该方案在技术、经济、环境、安全层面均具备可行性,可广泛应用于野外勘探、牧区作业、应急救援、边防管控等场景,是偏远地区低成本自主通讯的最优解决方案,具备极高的推广应用价值。后期可根据作业范围、人员数量,灵活增减节点设备,拓展通讯覆盖面积,持续优化网络通讯质量。

精选文章

Tailscale的开源仓库ScaleTail 项目分析

Tailscale的开源仓库ScaleTail 项目分析 一、项目定位 ScaleTail 是 Tailscale 官方维护的开源仓库,地址为 github.com/tailscale-dev/ScaleTail 。它本质上不是一个传统意义上的 “库",而是一个 ...