readme.md 8.8 KB

演示功能概述

1.1 HTTPSVR 文件管理系统概述

HTTPSVR 文件管理系统是一种基于Air8101模组的轻量级文件服务器解决方案,通过AP创建WiFi热点并提供HTTP服务,使用户可以通过浏览器方便地浏览、管理和下载设备内部存储及SD卡中的文件。

1.2 系统工作原理

设备启动后,自动创建AP热点(可选为手动按键控制),并初始化SD卡挂载。同时启动HTTP服务器,提供文件列表浏览、文件下载等功能。用户只需连接到设备的WiFi热点,通过浏览器访问指定IP地址,即可查看和管理设备中的文件。

1.3 核心功能特性

  • 任务控制:通过默认配置和GPIO按键控制是否启停文件管理任务
  • 热点创建:设备自动创建名为LuatOS_FileHub的WiFi热点,供用户连接
  • SD卡管理:自动挂载SD卡,支持浏览和下载SD卡中的文件
  • 文件浏览:通过浏览器查看设备内部存储和SD卡中的文件列表
  • 文件操作:支持文件浏览、下载和删除功能
  • 用户认证:提供简单的用户名密码认证机制,保护文件安全

本示例基于合宙 Air8101 模组,演示 AP + 文件服务器 的完整实现流程。用户连接到设备WiFi热点后,通过浏览器即可访问文件管理系统,实现文件的浏览和下载功能。

1、系统控制方式

  • 自动启动模式:在task_control.lua中设置AUTO_START=true,系统开机后会自动创建AP热点、初始化SD卡并启动HTTP文件服务器
  • 手动控制模式:默认设置AUTO_START=false,通过杜邦线短接GPIO5与GND(地)然后断开,来控制系统的启动和停止

2、初始化AP热点

使用 wlan.createAP() 创建WiFi AP热点,默认配置为名称"LuatOS_FileHub",密码"12345678"。

3、SD卡初始化与挂载

  • 配置SPI接口,初始化SD卡
  • 将SD卡挂载到文件系统,挂载点为/sd
  • 检测SD卡可用空间,列出根目录文件

4、启动HTTP服务器

  • 配置服务器端口为80
  • 实现文件列表、文件下载和删除等API
  • 支持直接文件URL访问和通过explorer.html界面操作

5、文件访问路径映射

  • 访问普通文件(如 http://192.168.4.1/explorer.html/456.txt)映射到内部存储 /luadb/456.txt
  • 访问SD卡文件(如 http://192.168.4.1/explorer.html/sd/readme.md)映射到SD卡路径 /sd/readme.md

6、安全认证机制

  • 默认用户名:admin
  • 默认密码:123456
  • 支持通过Cookie保持会话
  • 支持通过URL参数进行一次性认证

7、运行效果

  • WiFi创建成功:手机/电脑可搜索到LuatOS_FileHub热点
  • 服务器启动成功:连接热点后访问http://192.168.4.1/explorer.html可进入文件管理界面
  • 文件浏览:可查看设备内部存储和SD卡中的文件列表
  • 文件下载:点击文件或通过直接URL可下载文件到本地

8、快速上手

  • 自动启动模式:当 task_control.lua 中设置AUTO_START=true时,设备上电后会自动创建AP热点、初始化SD卡并启动HTTP文件服务器,无需手动操作
  • 手动控制模式:默认设置AUTO_START=false,设备上电后仅初始化按键功能,等待用户操作

手动控制模式操作步骤:

  1. 烧录固件后上电,设备初始化按键功能,等待按键初始化完毕日志中会输出"系统已就绪,等待按键触发"的打印
  2. 使用杜邦线短接GPIO5与GND(地)然后断开,设备自动创建WiFi热点并启动文件服务器
  3. 使用手机或电脑连接到LuatOS_FileHub热点(密码:12345678)
  4. 打开浏览器,输入http://192.168.4.1/explorer.html访问文件管理系统
  5. 使用用户名admin和密码123456登录
  6. 浏览文件列表,点击文件可直接下载
  7. 再次使用杜邦线短接GPIO5与GND(地)然后断开,可停止文件服务器服务

自动启动模式操作步骤:

  1. 修改task_control.lua文件,将AUTO_START值设置为true
  2. 烧录固件后上电,设备会自动初始化并启动所有服务
  3. 使用手机或电脑连接到LuatOS_FileHub热点(密码:12345678)
  4. 打开浏览器,输入http://192.168.4.1/explorer.html访问文件管理系统
  5. 使用用户名admin和密码123456登录
  6. 浏览文件列表,点击文件可直接下载

演示硬件环境

1、Air8101核心板一块

2、TYPE-C USB数据线一根

3、AirMICROSD_1000配件板一个+micro SD卡一张(可选,用于扩展存储)

演示软件环境

1、Luatools下载调试工具

2、Air8101最新版本固件(需确保固件版本≥V1004)

演示核心步骤

1、搭建好硬件环境,如果需要测试SD卡功能,需要外挂SD卡来测试。

2、确保explorer.html文件已烧录到设备中,这是文件管理系统界面的必要文件。

3、通过Luatools将本工程代码与固件烧录到Air8101核心板中

4、烧录完成后,给设备上电,观察串口日志确认系统正常启动

两种启动模式效果说明:

  • 自动启动模式(默认AUTO_START=true):上电后系统会自动创建AP热点、初始化SD卡并启动HTTP服务器,无需手动拉低GPIO5即可使用文件管理系统功能。
  • 手动控制模式(需修改AUTO_START=false):上电后系统仅初始化按键功能,日志显示"系统已就绪,等待按键触发",需要手动使用杜邦线短接GPIO5与GND(地)然后断开才会启动文件管理系统服务。

手动控制模式下的启动日志示例:

[000000000.497] I/user.main 系统已就绪,等待按键触发

5、使用杜邦线短接GPIO5与GND(地)然后断开,启动文件管理系统。

系统启动,创建AP:
[000000000.434] I/user.main WIFI_AP_READ_FILE 001.000.000
[000000000.441] I/user.WIFI 创建AP热点: LuatOS_FileHub
[000000000.496] I/user.执行AP创建操作 true 正常吗?

AP创建成功,开始挂载SD卡:
[000000000.511] I/user.SDCARD 开始初始化SD卡
[000000000.511] SPI_HWInit 552:spi1 speed 400000,400000,32
[000000000.512] I/user.sdcard_init open spi 0
[000000000.512] D/fatfs init sdcard at spi=1 cs=20
[000000000.678] D/SPI_TF 卡容量 15558144KB
[000000000.678] D/SPI_TF sdcard init OK OCR:0xc0ff8000!
[000000000.684] I/user.SDCARD 挂载SD卡结果: true
[000000000.685] I/user.fatfs 可用空间 {"free_sectors":31098752,"total_kb":15549952,"free_kb":15549376,"total_sectors":31099904}
[000000000.685] I/user.SDCARD SD卡初始化完成

SD卡挂载完毕,开始启动系统:
[000000002.632] I/httpsrv http listen at 192.168.4.1:80
[000000002.632] I/user.HTTP 文件服务器已启动
[000000002.632] I/user.HTTP 请连接WiFi: LuatOS_FileHub,密码: 12345678
[000000002.633] I/user.HTTP 然后访问: http://192.168.4.1:80

6、在手机或电脑的WiFi设置中,搜索并连接名为LuatOS_FileHub的热点,密码为12345678

7、连接成功后,打开浏览器,在地址栏输入http://192.168.4.1/explorer.html,进入文件管理系统登录页面

8、输入默认用户名admin和密码123456,点击登录

9、登录成功后,即可查看设备内部存储和SD卡中的文件列表

10、点击文件列表中文件名后的 下载删除 按钮,进行相应操作

11、也可以在地址栏直接输入文件URL(如http://192.168.4.1/456.txt)下载文件到本地

12、如需要访问SD卡中的文件,点击网页左上角的 TF/SD目录 ,即可切换到SD卡目录中

13、在手动控制模式下,再次使用杜邦线短接GPIO5与GND(地)然后断开,可停止文件管理系统服务,日志会输出停止状态信息

系统参数说明

AP参数

  • SSID:LuatOS_FileHub
  • 密码:12345678
  • 信道:6
  • 最大连接数:4
  • IP地址:192.168.4.1

认证参数

  • 默认用户名:admin
  • 默认密码:123456
  • 会话超时:3600秒(1小时)

HTTP服务器参数

注意事项

1、本示例默认使用内部存储路径/luadb/和SD卡路径/sd/,请确保文件确实存在于对应路径

2、使用SD卡时,请确保卡片格式为FAT32格式,实测最大容量支持1T

3、确认LuatOS/script/libs扩展库目录下explorer.html文件烧录到设备中,否则无法启动SERVER服务器;

4、SD卡目录下文件夹名称不能为中文,否则会识别失败,无法下载文件夹中文件

5、如需修改WiFi名称、密码或认证信息,请修改exremotefile.open()配置文件中的相关参数

6、如遇到无法连接WiFi热点或访问文件系统的情况,请检查设备电源和固件是否正常