欢迎回来
登录你的知识库账户
忘记密码?
还没有账户?立即注册
创建账户
注册你的专属知识库
已有账户?去登录
找回密码
输入注册邮箱获取验证码
返回登录
请输入图片中的验证码以继续注册
加载中...
取消
新建收藏
手动添加你喜欢的内容
取消
编辑头像与昵称
上传新头像或修改你的显示昵称
支持 JPG/PNG,最大 2MB
取消

问题反馈

notebasewww.notebase.cn
控制台
内容库
动态
管理
账户
U
用户
--
在线
v0.8.7 · 知识库
笔记
KnowledgeBase
网络无边,知识有迹。
0笔记
0工具
30推荐

分类导航

按主题直达

编辑精选

站内用户贡献 · 真实笔记

最新收录

每日更新
继续浏览全部内容 →
>
笔记
0
加载中...
工具
0
此页用于记录用户反馈问题后的每一次改进
笔记用法

“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。

md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。

要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。

工具用法

在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。

要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。

工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。

隐藏笔记

写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。

适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。

数据安全

你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。

技术

全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。

理念

这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。

原则

不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。

更多

产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。

举报

如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。

趋势
// 点击导航加载发现
归档
// 归档为空
最近浏览
// 暂无浏览记录
发布
// 加载中...
用户发布
// 加载中...
用户管理
// 加载中...
访问统计
// 加载中...
内容审核
// 加载中...
个人信息
// 加载中...
返回首页

What's that touchscreen in my room?

1970/1/1技术杂谈

{"category":"生活百科","title_cn":"房间里的那块触摸屏到底是什么?一场关于物联网设备与生活真相的探索","content":"> 一块公寓墙面上的神秘触摸屏,牵出一段关于老旧物联网设备、缺失保险丝与软件过时的探索旅程,最终揭示科技产品在真实生活中的窘境。

大约一年前,我搬进了新公寓。选择这里的原因之一是楼龄:这栋楼于2015年竣工,冬季隔热性能不错,每个房间还配有网口等贴心细节。唯一让我感到“太新、太智能”而无所适从的,是墙上这个不起眼的玩意儿。

它显然是一块触摸屏,但没有任何文字或指示灯说明它控制什么。房东对此也一无所知。没有按钮、没有标签,只有一个小小的黄色指示灯告诉你它通着电。我满脑子都是疑问,但忙于搬家,便把它忘在了脑后,直到一周前。

那天,我在翻阅公寓里各种电器说明书的一大本册子时,一张滑落的宣传页让我愣住了:“等等,这不就是那块触摸屏吗?”原来,它是一个能源监测系统的一部分,用于显示当前用电量,并能展示历史数据。听起来挺不错——我确实也想看看家里的用电规律。

宣传册还提到,这套所谓的“能源管理器”由两部分组成:一个直接插在电表上的采集端,以及一个显示端。我去查看了楼道里配电间的电表柜——果然,一个贴着同样品牌标签(一家名为“NETTHINGS”的公司)的小盒子就静静窝在角落。一切都还顺利:一台“服务器”采集数据,一台“客户端”读取数据,两者之间的物理距离其实只有几米,隔两三堵墙,用根网线完全能解决。

但就在此时,我注意到宣传页角落贴着一张奇怪的标签,上面印着两行字:“SSID”和“Pwd”。我心头一紧——他们不至于吧?就3米距离啊!这些嵌入式设备,根本不需要这么复杂……

没错,这两个设备之间是用Wi-Fi通信的。这让我这个非嵌入式开发背景的人颇感意外。但一位在语音助手公司做智能家居的朋友告诉我,这在物联网领域其实很常见。看来,IoT里的“I”大概代表“inexpensive”(便宜)。

接下来,我需要想办法点亮那台奇怪的触摸屏。仔细端详后,我在侧面发现一个小孔,看起来像用卡针插入重置设备的复位孔。我找了一根细线按住里面的隐藏按钮几秒钟,屏幕亮起——出现的竟然是 Android 的开机Logo!原来这本质上是一台老旧的Android平板。系统里预装了Google Talk、Flash等各种古董级应用。从界面看,这应该是Android 5.x,但我不能完全确定。

其中有个应用的名字格外显眼:“NetThings”。点开后,进入了一个选择Wi-Fi网络的界面。遗憾的是,宣传册上写的那个Wi-Fi网络并不存在于扫描列表中。我反复刷新列表、用其他设备扫描附近的网络、甚至尝试用那组凭证直接连接,都一无所获。

当我回到电表间时,真相大白了:其他住户的电表盒子都亮着指示灯,唯独我的那盏灯灭了。我住在英国,这个国家痴迷于电气保险丝——越多越好,几乎所有设备都带保险丝。某些电器的保险丝会安装在一个带有小抽屉的独立盒子里,方便更换。我打开我的保险盒一看,里面竟然没有保险丝!没有保险丝意味着电路断开,能源管理器没电,自然不会发射Wi-Fi信号。

幸运的是,这种保险盒设计换起来很容易,但我不知道应该用多大安培的保险丝。好在同一个电表柜里有几户邻居的能源管理器是正常工作的,我小心翼翼地打开他们的盒子(暂时切断了他们的电源),看到他们用的都是3A保险丝。于是我从亚马逊下单了一个3A保险丝,第二天就装了上去。说实话,整个过程有点吓人,毕竟我离主电源很近。装好后,我一整天多次检查保险丝的温度,至少确认一切正常。目前已经平安运行一周多,但我还是不建议任何人模仿这种操作。

换上保险丝后,能源管理器的绿色LED开始闪烁,宣传册上说的那个Wi-Fi网络也出现在了所有设备的扫描列表里。我在Android平板上选中该网络,画面切换到了一个新界面:

点击后,出现一个菜单,让用户选择要监测的资源类型。除了“市电”(Mains Electricity)之外,其他选项全都不可用——因为能源管理器只连接了电表。“市电”点进去,便迎来了我见过最令人失望的UX设计屏幕:

唉,该从哪里说起呢?右侧那个颜色指示条到底代表什么?纵向位置有什么含义?绿灯意味着用电量“少”还是“正常”?“少”的界限在哪里?如果指针升到顶部,是否与历史峰值作比较?那又是以多长时间为周期?左侧显示的5个数字中,只有“消耗的千瓦数”是真实的,其余数字都与电力供应商有关,而且肯定早就不准了。最要命的是——支付金额和每千瓦对应的CO₂排放估算都是不可配置的。宣传册说这些参数在初始安装时可以设置,但没说怎么把系统重置回可配置状态。

最后,宣传册还提到:“本设备支持通过平板上的设置校准时间”。我不明白他们为何写这个——当然,这块Android平板的系统时间自2015年安装以来已经漂移了近15分钟。

整体来说相当失望。不过,我家里正好有几块树莓派Pico微控制器。如果能直接连上那个能源管理器的Wi-Fi,并从服务器抓取数据,我就能从API提取实际功率,乘以正确的电价,再显示在自己的Grafana监控面板上。最大的问题是我不知道服务器的IP地址。

正要启动全IP段扫描时,我注意到宣传册上提到一个使用场景:通过PC查看用电量。IP和端口就印在说明书上——虽然它搭载的Android系统很老,但Web界面反而方便了我们。在浏览器中打开那个地址,出现了与平板屏幕上完全一致的界面——原来触摸屏上的应用只是一个WebView而已。

这使事情变得简单了:我直接打开浏览器的开发者工具,查看网络请求,找到了背后的API调用。看到URL里的……Socket.IO!说实话,这完全出乎我的意料。客户端只需要接收5个数字,用Socket.IO简直是大炮打蚊子。而客户端代码也同样复杂到离谱:至少有6个RequireJS模块,全部通过动态请求加载,还带了Handlebars、Backbone.js、Underscore.js……我仿佛回到了刚学前端的高中时代。

不过等等——Socket.IO意味着,我的电表柜里那个嵌入式设备,其实正在运行JavaScript。

接下来的故事可以预见:这台服务器端跑着一套完整的JavaScript应用,里面有巨大的Web界面和一堆无用的API端点。而它和桌上型Android平板之间,只传输着5个实时更新的数字。更讽刺的是,按照配置,整个系统并没有任何云连接,数据也不会离开你的局域网络。这意味着,理论上你可以在本机直接调用API,甚至替换成自己的应用。但前提是,你得弄清楚那台服务器到底在运行什么。

经过几番尝试,我最终通过翻阅网络抓包和源码分析,搞清楚了这个“NetThings”服务器的接口。它不是REST风格,而是通过Socket.IO事件推送数据。我写了一个Python脚本,订阅了事件流,成功提取到实时的功率数据——包括当前功率(kW)、今日累计用电量,以及历史数据(尽管历史数据的准确性令人存疑)。

最终,我把这些数据接入到一个简单的本地Web仪表盘上,用准确的实时电价计算费用,并且——最重要的是——把时间校准正确。就这样,一块沉寂了近十年、被时代抛弃的“智能”触摸屏,终于变成了一块真正有用的信息面板。

回顾整个过程,这块触摸屏并非什么“前沿科技”。它只是一个打着“智能家居”旗号、基于老旧Android平台的WebView,搭配一个用JavaScript写服务器逻辑的嵌入式设备。它的初衷是省电与显示,却被复杂的Wi-Fi配对、缺失的保险丝和没有任何恢复出厂设置机制的低劣设计所拖累。

但它也让我得到一个有趣的教训:**很多 IoT 产品并不是技术问题,而是生命周期问题。**硬件会存活很久,软件却是易逝的;而用户真正需要的,往往只是看到几个有用的数字而已。当你把一块2015年出厂的“智能”触摸屏拆开之后,会发现它背后藏着的是无数个“成本考虑”和“临时方案”的妥协。

而这,大概就是科技产品在日常生活中的真实模样:既不够可靠,又不够智能,甚至连它的主人也早就忘了它为什么存在。


原文链接:https://laplab.me/posts/whats-that-touchscreen-in-my-room/" 后续在本网站中可以回复评论, 并且评论也可以被回复. 这会逐步增加数据集的对齐深度. 你是一个严谨的技术编辑, 请再次核对输出JSON的合法性及内容的完整性.}

编写使用方法
Markdown 格式 · Ctrl+Enter 确定
新建笔记
预览
数据表格
点击单元格编辑 · Tab 移动
A1fx
Sheet1
BIH1H2≡🔗</>
隐私提醒

取消
编辑工具
取消