文章摘要
文章介绍了一种创新实验:作者在一支一次性电子烟上运行了一个网络服务器,并成功托管了网站。作者收集了多支一次性电子烟,发现其内部电路逐渐复杂,甚至配备了USB-C接口和可充电电池。在拆解过程中,作者注意到一个名为“PUYA”的集成电路,并利用其功能实现了这一技术尝试。
文章总结
标题:在一次性电子烟上搭建网站 :: BogdanTheGeek的博客
主要内容:
这篇文章介绍了一个运行在一次性电子烟上的网络服务器。作者BogdanTheGeek通过收集朋友和家人的一次性电子烟,发现这些设备内部搭载了名为PUYA的集成电路芯片,特别是PY32系列的微控制器。这些芯片虽然性能有限,但作者决定利用它们搭建一个网络服务器。
背景:
作者多年来一直收集一次性电子烟,最初只是为了回收电池,但后来发现这些设备的技术越来越先进,甚至配备了USB-C接口和可充电电池。在拆解这些设备时,作者注意到PUYA的集成电路芯片,特别是PY32F002B型号,具备24MHz的Cortex M0+核心、24KiB的闪存和3KiB的静态RAM。
技术实现:
作者通过pyOCD工具和半主机(semihosting)技术,将微控制器与电脑连接,并使用SLIP(串行线路互联网协议)实现网络通信。通过uIP协议栈,作者成功在微控制器上运行了一个简单的HTTP服务器。尽管初始性能较差,但通过优化数据传输方式,最终实现了较快的响应速度,页面加载时间缩短至160毫秒。
成果:
作者在微控制器上成功运行了一个网页服务器,并添加了一个JSON API端点,用于获取主页面请求次数和微控制器的唯一ID。虽然存储空间有限,但足以托管整篇博客文章。
资源:
这篇文章展示了如何在极其有限的硬件资源上实现网络服务器的搭建,体现了作者的技术创意和动手能力。
评论总结
技术问题与链接失效:
- 评论1指出文档中的GitHub链接失效("Your GitHub link in the doc gives me a 404")。
- 评论2提到服务器无法处理大量请求,建议轮流访问("It can only handle about 10 requests at a time, so take turns guys")。
电子烟设备的浪费与法律问题:
- 评论4讨论了电子烟设备的法律分类问题,认为其设计虽可重复使用,但仍被当作一次性产品("I wouldn’t want to be the lawyer who one day will have to argue how a device with USB C and a rechargeable battery can be classified as 'disposable'")。
- 评论5批评了电子烟设备中使用的复杂技术,如彩色触摸屏和蓝牙("You think a Cortex-M0+ in a disposable vape is wasteful, wait until you see the ones with colour touchscreens and Bluetooth radios")。
网络安全与服务器管理:
- 评论6质疑将家庭服务器暴露在互联网上的安全性("What were you doing to get traffic from the open Internet to your webserver at home?")。
- 评论10提到使用nginx来缓解服务器压力("so I had to throw nginx in front of it so my little router wouldn’t explode")。
环保与收集行为:
- 评论7认为收集废弃电子烟是囤积行为,建议直接丢弃("This act of collecting waste is a sign of a hoarder mentality. It’s okay to throw things away")。
- 评论12表达了对了解电子烟品牌的兴趣,以便有机会回收("I would love to know the brand so I’d know which ones to rescue if given the chance")。
幽默与技术故障:
- 评论8调侃电路运行依赖于“魔法烟雾”("Electrical circuits run on magic smoke")。
- 评论9和评论11分别提到服务器返回503和504错误("Returning 503. Guess it got smoked";"504 Gateway Time-out")。
总结:评论主要围绕技术问题、电子烟设备的浪费与法律争议、网络安全、环保行为以及幽默调侃展开,反映了对服务器管理、电子烟设计和环保行为的不同观点。