本文作者:烟火之旅

httpsrv:快速创建你的轻量级HTTP服务器

烟火之旅 2026-02-24 3789

LuatOS的httpsrv核心库,让这一切变得简单——专为资源受限的物联网设备设计,可在支持LuatOS的硬件上,轻松创建一个用于处理HTTP请求的服务器。

核心功能:

支持基本的HTTP方法(GET、POST、PUT、DELETE 等),并可以处理静态文件和动态请求。

适用场景:

适合用于本地设备调试、简单的Web控制界面、数据上报接口等场景,为设备提供便捷的Web访问能力。

数量限制:

HTTP服务器同一时间最多支持1个客户端连接,最多支持同时启动16个独立的HTTP服务实例。

目前httpsrv库已全面支持LuatOS开发系列产品,可根据项目实际需求灵活选型及应用。

一、httppsrv库使用要点

在LuatOS平台上使用httpsrv创建HTTP服务器时,整体使用流程和不同网络环境下的配置如下:

1.1 整体流程说明

1)初始化网络

根据需要使用的网络适配器类型,进行相应的网络初始化配置(如设置WiFi AP参数)。

2)创建回调函数

编写HTTP请求处理函数,该函数将在每次收到客户端请求时被调用。

3)选择网络适配器

确定使用哪种网络适配器(WiFi AP、STA或以太网)。

4)启动服务

调用httpsrv.start() 函数启动HTTP服务器。

5)检查启动结果

根据返回值判断服务器是否成功启动。

6)获取并记录IP地址

获取服务器的IP地址,并通过日志或其他方式告知用户。

7)处理请求

服务器开始处理来自客户端的HTTP请求,调用之前定义的回调函数。

8)停止服务

当不再需要HTTP服务时,调用httpsrv.stop() 函数停止服务,释放资源。

1.2 不同网络环境配置

1)确定网络适配器类型

httpsrv支持多种网络适配器,需要根据实际使用场景选择合适的适配器。

WiFi AP模式:

通过socket.LWIP_AP参数指定,适用于设备作为Wi-Fi热点时提供Web服务。

WiFi STA模式:

设备作为客户端连接到外部Wi-Fi网络后启动HTTP服务器。

以太网模式:

通过socket.LWIP_ETH参数指定,仅适用于支持以太网接口的设备。

2)不同网卡下的使用方法

httpsrv支持多种网络适配器,需要根据实际使用场景选择合适的适配器。

WiFi AP模式:

wKgZO2mcUMOAFRsZAAjBPoL0wO8448.png

WiFi STA模式:

以太网模式:

wKgZO2mcUQaAd4jhAAYULutFo9k379.png

3)服务器IP地址获取与使用

httpsrv本身不提供直接设置服务器IP地址的功能,服务器会自动绑定到所选网络适配器的所有可用IP地址上。

可以通过以下方式获取服务器的IP地址:

客户端需要通过这些IP地址来访问HTTP服务器。在实际应用中,建议将获取到的IP地址通过日志输出或显示在屏幕上,方便用户访问。

4)多端口同时服务

httpsrv支持同时启动多个HTTP服务实例(最多16个),可以在不同端口上提供不同的服务内容:

wKgZO2mcUTqARR_2AAJ4sbuv1f0353.png

5)服务停止

当不再需要HTTP服务时,应及时停止以释放系统资源:

wKgZPGmcUWSAZZJOAAL4s2xdWzw095.png

二、httpsrv应用示例demo

如何快速上手应用?合宙已为您准备好详细的示例代码与实操教程,轻松开始项目开发。

Air8101工业引擎为例

wKgZO2mcUcaADWwvABQ3fkBeUas618.pngwKgZPGmcUfmAH1pPAAM7LYBqWnM383.png

今天的内容就分享到这里了

审核编辑 黄宇