怎么在嵌入式中实现一个 web 页面?

13 天前
 kydin
背景:
需要提供一个 Web 页面给到嵌入式开发板,就是像路由器一样输 IP 进入。
开发板的 Flash 大小为 16MB ,这个大小目前暂时不可能扩大,除去系统占用留下的空间 10MB 内。
运行的是 PetaLinux 系统,这个板子的性能是够的,就是 Flash 小。

需求:
1. 显示一些系统信息:比如版本号、MAC 地址....
2. 显示我的程序的一些数据:比如我程序的 MQTT 连接状态.....
3. 提供下载系统日志/内核日志的按钮
4. 提供一个输入框来配置我的程序的配置文件:比如 MQTT 服务器端口、地址......

提问:
因为小弟之前做过 OpenWrt 相关的程序,所以目前能想到的就是用 ubus+uhttpd+luci 。
加上 c 语言使用 ubus 库对于需求的第 2 点和第 4 点实现起来非常简单,然后需求的第 3 点直接用 cgi 来做就好了。
但是目前的系统不是 OpenWrt ,同时也想尝试其它不同的技术,所以想问一下大家有没有什么建议?
4756 次点击
所在节点    程序员
46 条回复
sampeng
12 天前
你这个板子是啥啊? smt32 ?还是 arm 的 cpu 。。。目测是后者。好了。现在有 linux 了。10MB 。。可以做很多事了。rust 走起。c/c++不是不可以。。有高级语言干嘛用低级语言。。
DOLLOR
12 天前
@bfdh jQuery 太臃肿了,换 zepto ,或者干脆用 DOM API 。
humbass
12 天前
比较好奇,10M 左右的内存,够嵌入一个迷你的 web 的引擎(假如有的话)吗?
yinmin
12 天前
petalinux 的配置菜单里选 busybox 的 httpd ,生成引导镜像。动态页面使用 cgi ( c 程序编写,也可以尝试 sh 程序)
lovelylain
12 天前
@humbass 绰绰有余,你想想以前 tplink 的路由器,经常 4M 8M flash 的,还能嵌那么多功能和页面。
humbass
11 天前
@lovelylain 说的不是一码事,一种是直接在单片机上显示 web ,一种只是提供 web service

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1051349

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX