有人用 Wi-Fi 灯泡改造了一个《禁书图书馆》

任何人只要连接这个灯泡发出的 Wi-Fi 信号,就能直接下载里面的电子书。@Appinn

有人用 Wi-Fi 灯泡改造了一个《禁书图书馆》 1

这是一次非常有趣的尝试,原文来自 Rick’s Blog,标题为《Banned Book Library / 禁书图书馆》

思路是这样的

灯泡安装在公共场所后,只要保持通电,就会持续发出一个 Wi-Fi 热点。任何人在附近连接这个热点,都能直接访问灯泡里的网页和电子书,不需要互联网,也不需要服务器。

具体为:

  • 使用 ESP32 微控制器(这个灯泡里有一个)作为硬件核心
  • 设备启动后创建一个 Wi-Fi 热点
  • 用户连接后自动跳转到一个本地网页(类似酒店 Wi-Fi 登录页)
  • 网页列出电子书目录
  • 点击即可下载电子书
  • 整个过程不需要互联网连接
有人用 Wi-Fi 灯泡改造了一个《禁书图书馆》 2

而这个灯泡,最终可以实现:

  • 灯泡正常安装在公共场所
  • 持续供电
  • 创建开放 Wi-Fi
  • 附近的人连接后即可访问电子书
  • 不依赖互联网
  • 不依赖服务器

是不是,听起来很酷 😂

不过,需要动手能力,因为需要拆解灯泡,甚至还需要把灯泡里的电路板拿出来:

有人用 Wi-Fi 灯泡改造了一个《禁书图书馆》 3
有人用 Wi-Fi 灯泡改造了一个《禁书图书馆》 4

最终完整暴露 ESP32-C3,并焊接导线,另外焊接 IO9 作为下载模式的启动引脚,然后获得了串口访问能力。

有人用 Wi-Fi 灯泡改造了一个《禁书图书馆》 5

再然后,使用 esptool 工具备份灯泡的原始固件后,开始安装 Arduino IDE,写了一个 HelloWorld 成功之后,确认了可以完全控制灯泡。

之后就是编写新的固件,实现:

ESP32

Wi-Fi AP

Web Server

网页

这样就完成了「用户连接后即可访问网页」这个需求。

扩容失败

作者本来还有计划使用 SD 卡扩容,但由于空间太小了,完全没办法焊接,就放弃了。

再经过了一系列的折腾之后,包括:

  1. 研究存储空间
  2. 修改分区表
  3. 从 Arduino 转向 ESP-IDF
  4. 实现 OTA 更新
  5. 编写图书馆网页
  6. 编写管理后台
  7. 编写恢复系统
  8. 编写Wi-Fi登录页面

最终效果

灯泡亮起

广播 Wi-Fi

用户连接

自动弹出网页

浏览图书馆

下载电子书

整个系统运行在一个灯泡中,有 4MB 空间,无需互联网,可用存储空间 2MB!

是的,虽然小了点。一本 EPUB 大约几百KB,一个灯泡可以放3~4本书吧。

但,房屋中需要很多歌灯泡啊。

如果有人能解决存储的问题,那就真的是一个大型图书馆了。

动手达人快去试试,作者提供了很多资料,青小蛙觉得应该能折腾成功,但我不折腾,我就看看。


原文:https://www.appinn.com/banned-book-library/

写留言

Enable Notifications OK No thanks