文章摘要
文章介绍了在8位AVR64DD32微控制器上搭建网站的实验。该芯片性能有限(24MHz主频、8KB内存),作者尝试为其添加网络功能,发现标准以太网速度过快难以处理。项目展示了在极简硬件上实现网络服务的挑战性。
文章总结
标题:在8位微控制器上搭建网站(Maurycy的博客)
主要内容概述:
作者Maurycy在博客中分享了一个有趣的项目:使用AVR64DD32这款8位微控制器搭建一个简易网站。这款微控制器与Arduino常用的Atmega328类似,但性能更强,成本更低(仅1美元),具备8KB RAM和64KB闪存。
关键细节:
1. 硬件选择
- 使用AVR64DD32微控制器,通过串行适配器供电,仅需一根电缆连接。
- 添加了LED指示灯和防反接二极管,硬件设计简单。
网络连接方案
- 以太网因速度过快(10BASE-T需20MHz信号)无法直接使用,转而采用串行线路互联网协议(SLIP),通过USB转串口适配器实现网络连接。
- 现代Linux仍支持SLIP,只需简单配置即可将串口转换为网络接口。
协议实现
- IPv4处理简化:仅需交换数据包的源/目标地址并重置TTL计数器,无需处理复杂的分片功能。
- TCP实现困难:需跟踪连接状态、重传丢失数据包,作者花费数天调试仍存在部分缺陷。
- HTTP未完整实现,直接返回硬编码的单一页面响应。
公开访问方案
- 通过WireGuard在远程VPS(位于赫尔辛基数据中心)与本地路由器间建立虚拟网络,代理请求至微控制器的
/mcu路径,避免直接暴露IP地址。 - 吐槽IPv6普及不足导致仍需依赖IPv4中转。
- 通过WireGuard在远程VPS(位于赫尔辛基数据中心)与本地路由器间建立虚拟网络,代理请求至微控制器的
相关链接:
- 微控制器托管页面
- 同类项目Vape Server(基于废弃32位MCU)
- AVR Dx系列芯片评测
项目意义:
通过极简硬件实现网络功能,展示了底层协议的有趣实践,同时揭示了IPv4环境下的访问限制和变通方案。
(注:原文中部分幽默表述和技术细节已精简,保留核心逻辑和关键步骤。)
评论总结
总结评论内容:
- 怀旧情怀与技术欣赏(评论1、2)
- 评论1赞赏实时HTML加载效果:"I love how I can see the HTML being streamed onto the page in real time"(喜欢看到HTML实时加载的效果)
- 评论2幽默评价加载过程:"Took a while but she loaded. I've seen enough"(虽然加载慢但效果不错)
- 关于AVR芯片的技术讨论(评论3) 主要观点分两方面: a) 担忧AVR DD可能被淘汰: "The PIC32 CM has most of the features of AVR DD...I fear the AVR DD is somewhat obsolete" (PIC32 CM具备AVR DD大部分功能...担心AVR DD可能过时)
b) 肯定AVR独特优势: "AVR EA and AVR EB...remains safe as that's an absurdly good ADC"(AVR EA/EB的12位ADC仍是巨大优势) "AVR DD likely offers lower power consumption"(AVR DD可能功耗更低)
- 幽默观察(评论4)
- 指出RFC 1055的勘误问题:"There's a 2025 (sic!) erratum to RFC 1055"(RFC 1055有个2025年的勘误)
- 调侃性建议:"Next stop RFC 1144, presumably"(下一步可能是RFC 1144)
注:所有评论均未显示评分(None),因此无法评估认可度。