当前位置: 首页 > news >正文

改造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文件中,编写函数覆盖分区表数据。

http://www.gsyq.cn/news/1544401.html

相关文章:

  • SM2与SM4国密算法实战指南:从原理到代码实现与问题排查
  • 2026昆明美术艺考机构深度适配指南:罗丹艺术培训学校推荐及2家专业机构解析 - 云南美术头条
  • 浏览器缓存之【基础键值存储】:Local storage 和 Session storage
  • Skill Hub 中国
  • 内容创作者为什么适合使用库拉 ssooai.cn 这类多模型平台
  • 国际都市的AI搜索博弈——2026年上海企业GEO服务商合规与实效双维测评 - GEO优化
  • 计算机毕业设计之jsp电商网站的设计与实现
  • LLM-as-Judge 的 6 种偏置与防御
  • 天津餐厅传菜效率低怎么办?2026年这5家传菜电梯厂家推荐 - 本地品牌推荐
  • 2026 西安卫生间漏水怎么处理?墙面发潮脱皮,楼下漏水,卫生间漏水免砸砖专业防水公司推荐 (2026 年 6 月西安最新深度调研方案) - 防水资讯
  • MC33907/33908评估板硬件配置、调试与故障排查实战指南
  • 绕过NVIDIA开发者注册:cuDNN历史版本直链下载指南
  • 2026年北京GEO优化服务商代理加盟排名推荐丨北京GEO服务商代理加盟选型哪家靠谱推荐? - 子柔传媒
  • SolidWorks URDF转换插件深度解析:从CAD到机器人仿真的技术架构与实现
  • AI+软件测试第二篇0616
  • 2026 昆明卫生间漏水怎么处理?墙面发潮脱皮,楼下漏水,卫生间漏水免砸砖专业防水公司推荐 (2026 年 6 月昆明最新深度调研方案) - 防水资讯
  • 2026 银川卫生间漏水怎么处理?墙面发潮脱皮,楼下漏水,卫生间漏水免砸砖专业防水公司推荐 (2026 年 6 月银川最新深度调研方案) - 防水资讯
  • Java毕设项目: 基于 Spring Boot 的房屋资源交易数据管理系统的设计与实现 基于 Spring Boot 的房产交易咨询与售后管理系统(源码+文档,讲解、调试运行,定制等)
  • 2026 宁波专业防水公司 TOP5 口碑推荐:卫生间、外墙、楼顶、地下室渗漏专业公司推荐 (2026 年 6 月宁波最新深度调研方案) - 防水资讯
  • 中山便利店加盟优选深度解析:本土深耕二十年,合家欢为何适配大湾区创业市场 - GrowthUME
  • 2026 武汉卫生间漏水怎么处理?墙面发潮脱皮,楼下漏水,卫生间漏水免砸砖专业防水公司推荐 (2026 年 6 月武汉最新深度调研方案) - 防水资讯
  • Python HTTP请求安全:中间人攻击原理与防御实战指南
  • 2026 天津专业防水公司 TOP5 口碑推荐:卫生间、外墙、楼顶、地下室渗漏专业公司推荐 (2026 年 6 月天津最新深度调研方案) - 防水资讯
  • 2026 合肥专业防水公司 TOP5 口碑推荐:卫生间、外墙、楼顶、地下室渗漏专业公司推荐 (2026 年 6 月合肥最新深度调研方案) - 防水资讯
  • 2026 青岛卫生间漏水怎么处理?墙面发潮脱皮,楼下漏水,卫生间漏水免砸砖专业防水公司推荐 (2026 年 6 月青岛最新深度调研方案) - 防水资讯
  • 2026年最新攻略:英语听力训练平台怎么选才靠谱不踩坑
  • 2026 青岛专业防水公司 TOP5 口碑推荐:卫生间、外墙、楼顶、地下室渗漏专业公司推荐 (2026 年 6 月青岛最新深度调研方案) - 防水资讯
  • 2026 西宁卫生间漏水怎么处理?墙面发潮脱皮,楼下漏水,卫生间漏水免砸砖专业防水公司推荐 (2026 年 6 月西宁最新深度调研方案) - 防水资讯
  • 5分钟上手仲景AI:中医大语言模型快速入门指南
  • IEC 60730安全库实战:CPU、堆栈与TSI触摸接口的嵌入式自检