改造WiFi智能灯泡搭建禁书图书馆:突破存储限制的探索之旅

发布时间:2026/9/20 1:07:34

改造WiFi智能灯泡搭建禁书图书馆:突破存储限制的探索之旅 禁书图书馆项目概述很久以前就有对WiFi智能灯泡进行改造的想法有多个改造方案其中一个是将其改成开放的WiFi接入点并搭建托管禁书的Web服务器。若生活在禁止某些重要书籍的地方可把书的数字副本存到灯泡里安装在社区通电后附近有WiFi电子设备的人就能访问。因其外观像普通灯泡不易被发现且设备价格便宜放置成本低。这个想法源于读了Ben Brown的短篇小说《图书馆》故事里有角色维护类似数字档案库的“图书馆”。几个月前开始项目最终成果是禁书图书馆。硬件选择与研究在当地DEFCON聚会小组和人聊起想法有人建议研究Tasmota。Tasmota是开源固件可安装在智能设备上集成到家居自动化系统能实现本地控制摆脱云服务束缚这和Ben Brown的《图书馆》故事相似Cory Doctorow的《未经授权的面包》也与此相关。原本以为智能灯泡用ESP32芯片因没经验上手困难后发现售卖预装Tasmota的WiFi灯泡网站产品用ESP32C3 4MB芯片还列出控制LED的GPIO引脚。不过闪存只有4MB对托管图书库空间不够考虑添加存储设备如microSD卡读卡器。买了两个灯泡测试留一个备用。灯泡拆解过程灯泡寄到后拆开查看。为取下顶部白色塑料灯泡用刀片划开底部密封胶拧下灯泡。拆开后看到圆形子板有LED通过六个引脚连接到下面电路板中间孔是ESP32天线灯泡外壳和子板用铝制确保WiFi信号。子板用密封胶固定切开后撬出。能看到ESP32C3及辅助电路ESP32有很多引脚外露希望焊接microSD卡读卡器扩展存储但焊接困难主板被灌封化合物固定取出主板麻烦且重新安装不安全。不过拆开后可焊接电线用于串口编程在AliExpress上找到模块确定引脚焊接电线并进入下载模式用esptool转储固件成功。早期实验尝试你好世界早期查看Tasmota源代码想修改为禁书图书馆但固件复杂有很多不需要的功能为减少冗余为图书存储腾出空间放弃修改。后来发现可用Arduino对ESP32设备编程安装Arduino IDE并配置写“你好世界”程序测试上传代码后设备正常运行说明能编写自己的固件。Web服务器接着想设置开放的WiFi接入点和Web服务器参考教程并修改后改用Async Web Server并参考相关教程。MicroSD卡实现上述功能后尝试让microSD卡工作购买扩展板阅读数据手册确定连接方式使用闲置的Adafruit ItsyBitsy ESP32按教程编程使其能使用设备最终实现功能并使用LittleFS为Web服务器托管文件。但给ESP32C3焊接电线困难尝试重新利用LED控制器引脚和制作“夹子”都失败最终放弃。迂回尝试其他灯泡决定看看其他灯泡前期研究找到几篇拆解文章但灯泡和自己的设备相似且并非都用ESP32已决定用ESP32因为花时间学习编程了。从当地五金店买的灯泡有的主板有铝保护无法移除飞利浦WiZ灯泡芯片露出但引脚无法访问普通LED灯泡改造更复杂还发现DIY LED智能灯泡项目但还是决定用Tasmota灯泡在4MB限制内解决问题。存储问题解决为了解存储情况查看ESP32分区表转储并转换为可读CSV文件。分区表显示有nvs、otadata、safeboot、app0、spiffs五个分区。nvs用于非易失性存储otadata与OTA更新有关safeboot存储较小固件用于刷入主固件app0存储主固件spiffs是存储文件的分区。主固件有接近3MB空间safeboot接近1MB存储只有320K不理想。因固件比Tasmota简单想调整分区大小缩小app0分区扩大spiffs分区。参考博客文章找到实现方法编辑分区表有风险但项目本身是尝试。修改partition.csv文件并保存生成新的分区表二进制文件以C数组格式输出并放到partition.h文件中编写函数覆盖分区表数据。
延伸阅读

更多相关文章

2026/9/20 20:00:45

不伤膝盖、狂虐脂肪!20分钟居家高效燃脂流

🏠【全网爆火】不伤膝盖、狂虐脂肪!20分钟居家高效燃脂流🔥 为什么全网都在练这个? 你是不是也办了卡却没去过几次健身房?或者跟着网上的高强度HITT练了三天,脂肪没减掉,膝盖先废了?…

2026/9/20 22:26:53

BoxMOT多目标跟踪器如何选:11种算法对比与最小验证

BoxMOT多目标跟踪器如何选:11种算法对比与最小验证 【免费下载链接】boxmot BoxMOT: Pluggable Python and C SOTA multi-object tracking modules with support for axis-aligned and oriented bounding boxes 项目地址: https://gitcode.com/GitHub_Trending/bo…

2026/9/20 22:26:53

Sails 服务端视图编译指南:深入解析 sails.renderView()

Sails 服务端视图编译指南:深入解析 sails.renderView() 【免费下载链接】sails Realtime MVC Framework for Node.js 项目地址: https://gitcode.com/gh_mirrors/sa/sails renderView 是 Sails 提供的实验性(experimental)全局方法&a…

2026/9/20 22:26:53

供应链管理成熟度评估与集成计划:从孤岛到网络化的进阶路径

简介:这是一份面向制造业供应链管理人员与咨询顾问的IBM咨询方法论PPT,共124页,深度剖析供应链管理成熟度评估模型与集成计划流程框架。内容从订单组织方式、计划模式、组织协同、产销平衡、生产执行到零部件交付,系统梳理关键发现…

2026/9/20 0:04:49

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介:《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南,面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者,用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/20 0:04:49

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介:这份PPT围绕互联网业务安全托管服务展开,面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者,重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件,包体约30.63MB,以…

2026/9/20 0:04:49

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介:《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南,面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者,用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/20 0:04:49

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介:这份PPT围绕互联网业务安全托管服务展开,面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者,重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件,包体约30.63MB,以…

2026/9/20 4:54:47

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/20 5:01:23

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/20 5:09:33

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码